Conversation
Make srcdump compile and run on Windows alongside Unix: - pool.rs: cross-platform worker termination (SIGKILL on unix, `taskkill /F /T` on Windows). - env.rs: interpreter path helper (`Scripts/python.exe` vs `bin/python`), a non-unix Flock that holds the lock file open, and a uv download path that fetches the Windows `.zip` (extracting `uv.exe`) instead of `.tar.gz`; add the Windows uv target triples. Also run `cargo fmt` across the tree so `cargo fmt --check` passes in CI.
- Unit tests (no angr needed): highlight lexer/painter, `-f` filter and address parsing, `human_bytes`, and serde round-trips of the cache types. - tests/fixtures/addsample: a tiny symboled ELF (`main`, `add`) used by the end-to-end CI job to exercise a real decompile on every platform.
Runs on pushes to master and all PRs: a lint job (`cargo fmt --check`, `cargo clippy --all-targets -D warnings`) plus a build/test matrix across ubuntu, macOS (arm64), and Windows that runs `cargo test`, a release build, and a `--version` smoke check. Pure-Rust, so no angr is needed here. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
On pull requests, across Linux, macOS (arm64), and Windows: install uv (cached), build srcdump, then provision angr and decompile the fixture binary end-to-end — asserting the function list and a decompiled `main`. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
On pushing a `vX.Y.Z` tag: verify the tag matches the crate version, then build and upload binaries to a GitHub Release via taiki-e/upload-rust-binary-action for: - x86_64-unknown-linux-musl (static) - aarch64-unknown-linux-musl (static) - aarch64-apple-darwin (Apple Silicon) - x86_64-pc-windows-msvc Archives are named srcdump-<tag>-<target> with sha256 checksums. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Cargo.toml: repository/homepage/keywords/categories and an `exclude` so the published crate stays lean. - publish.yml: on version tags, runs `cargo publish` only when a CARGO_REGISTRY_TOKEN secret is configured (dormant otherwise). - .gitignore: ignore core dumps. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.
No description provided.