Pin sbpf assembler to specific revision for reproducible builds#86
Merged
Conversation
The ASM workflow installed the sbpf assembler from the branch HEAD with an unpinned `cargo install --git`, making the build non-reproducible. On 2026-06-29 sbpf merged its SBPF v3 work (PR #127), switching the emitted ELF to the v3 / 0x03 OS-ABI format. The pinned litesvm 0.11.0 loader rejects that format, so every asm example began failing at `svm.add_program(...).unwrap()` with `Instruction(InvalidAccountData)` (checking-accounts, create-account, hello-solana, transfer-sol). Pin sbpf to 0223df0e (the last commit before the v3 changes, which matches the toolchain from the last green run) so the build is reproducible and compatible with litesvm 0.11.0. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015ZgWN7hk3QzLuoDUPYrvdj
This was referenced Jul 1, 2026
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.
Summary
Pin the sbpf assembler installation to a specific git revision instead of building from the latest branch HEAD. This ensures reproducible builds and prevents CI failures when sbpf makes breaking changes to its output format.
Changes
cargo installcommand for sbpf to use--rev 0223df0e7ba622d4956b4ecf3cf2397f6945b76bImplementation Details
The selected revision ensures compatibility with the current litesvm version while maintaining build reproducibility. This approach prevents unexpected CI failures from upstream sbpf changes until litesvm is updated to support the newer ELF format.
https://claude.ai/code/session_015ZgWN7hk3QzLuoDUPYrvdj