Repository navigation
CT-11833 Build the Cyber Triage BitsParser.exe in CI - #2
Merged
Merged
Conversation
- Add a ct_release workflow that builds the PyInstaller one-file BitsParser.exe for Windows x64 on Python 3.11.9 - Each run runs a smoke test with the arguments Cyber Triage passes and checks the exe bundles Python and its C runtime, and keeps the archive as a workflow artifact - A ct-* tag also publishes the archive with SHA256SUMS as a GitHub release - Add ct/README.md describing the fork, the release process and how to get the exe
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Builds
BitsParser.exein CI the way #1's README describes the hand build, so Cyber Triage can download a pinned release instead of committing the exe (CT-11833, cybertriage/CyberTriage#3916). This follows the samect_releasepattern as cybertriage/libmsiecf and cybertriage/libesedb.Fix
ct_releaseworkflow builds the PyInstaller one-fileBitsParser.exefor Windows x64 on Python 3.11.9. The packages are pinned inrequirements.txtandrequirements-build.txt.ct-*tag also publishes it, withSHA256SUMS, as a release.ct/README.mdcovers what differs from upstream, getting the exe, and releasing.Details
Build
The workflow uses the same Python, packages and PyInstaller command as the build steps in Matt's README in #3916. The only difference is the output folder.
Smoke test
ct/smoke_test.pyneeds no BITS database. It checks that:BitsParser.exe -hruns, so every module is bundled, and offers--no-sid-lookup;BitsParserCommandpasses, gives{"jobs": []};python311.dll,vcruntime140.dllanducrtbase.dll(viapyi-archive_viewer -l -r), so it needs nothing installed.Why no qmgr.db in this repository
BITSDbParserTest, which runs on those fixtures.Release names
BitsParser has no version, so tags are
ct-<yyyymmdd>.<n>.Testing
BitsParser_b153da3.exe.Ownerfield and no SID lookups.