ci: pin sbpf and Solana versions in ASM workflow#625
Conversation
|
Hi @Perelyn-sama — thanks again for reviewing my earlier pinocchio PRs! When you have a moment, could you take a look at this one? It's a small, self-contained ASM CI fix: it pins |
|
LGTM but I don't have write access after the repo move. @dev-jodee can you approve this PR |
|
@MarkFeder thanks for this ! we require signed commits for our open source repo now, if you can re-sign that commit, i'll be happy to merge :) |
The ASM build-and-test job installs sbpf from the git tip and Solana from
the floating "stable" channel, both unpinned. Around 2026-06-29 sbpf moved
0.1.9 -> 0.2.2 and Solana stable moved 4.0.3 -> 4.1.1; the new sbpf emits an
sBPF binary the runtime loader rejects at execution ("Program is not
deployed"), failing every ASM example (checking-accounts, create-account,
hello-solana, transfer-sol, ...).
Pin sbpf to 0223df0e (v0.1.9) and Solana stable to 4.0.3 -- the exact
last-green combination -- to restore the ASM workflow. The beta leg is left
unpinned since it is continue-on-error and intentionally tracks the moving
channel.
Expand the sbpf --rev from the 8-char short SHA to the full 40-char SHA (0223df0e7ba622d4956b4ecf3cf2397f6945b76b) for an explicit, unambiguous immutable reference, per review feedback.
41a0a05 to
a51e0fc
Compare
|
@dev-jodee thanks! Done — I've re-signed both commits with an SSH signing key and force-pushed. GitHub now shows both as Verified ( For context, merging this first also clears the pre-existing repo-wide ASM red X that every open PR (including my #624) currently inherits. |
|
thanks @MarkFeder ! |
Problem
The ASM
build-and-testjob has been red onmainsince 2026-06-29, failing every ASM example with:Tests that expect
custom program error: 0x1..0x6instead getinvalid account data for instruction, sochecking-accounts,create-account,hello-solana,transfer-sol(and the rest of the ASM group) all fail.Root cause
solana-asm.ymlinstalls both tools unpinned, so they drift with upstream:sbpf0223df0e)54a3a273)solana-cli(stable)sbpfbumped 0.1.9 → 0.2.2 and now emits an sBPF binary the runtime loader rejects at execution ("Program is not deployed"). The build still succeeds; the failure is at load/execute time. No repo commit touched the ASM examples in the break window — it is pure toolchain drift.Fix
Pin to the exact last-green combination:
sbpf→--rev 0223df0e(v0.1.9)stableleg →4.0.3The beta leg is intentionally left unpinned — it is already
continue-on-errorand is meant to track the moving channel, so it cannot fail the job.Note / follow-up
This restores CI by freezing the ASM toolchain to the last-known-good pair. A forward-fix (making the ASM examples compatible with
sbpf0.2.x / Solana 4.1.x) is the longer-term path and can be done separately; this unblocks the currently-red ASM check in the meantime.