ci: configure Solana CLI before devnet verify build#77
Merged
Conversation
solana-verify's `process_otter_verify_ixs` always calls `get_user_config_with_path(None)?` before checking whether `-k` was supplied, so it loads `~/.config/solana/cli/config.yml` even when an explicit keypair is passed. The setup action only creates `~/.config/solana/id.json`; nothing in the workflow had ever called `solana config set`, so config.yml never existed and verify-build failed during the upload phase with `Error: No such file or directory (os error 2)`. Run `solana config set --url $RPC_URL --keypair ~/.config/solana/id.json` once after setup to materialize config.yml with a keypair path that exists. The deployer keypair from Doppler is still passed to every sub-action via `inputs.keypair` and remains the actual signer.
Compute Unit Report
Generated: 2026-04-30 |
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
solana config setstep so~/.config/solana/cli/config.ymlexists before the devnetverify-buildstep runs.Root Cause
solana-verify(Ellipsis-Labs/solana-verifiable-build) loads the CLI config inprocess_otter_verify_ixseven when-k <keypair>is provided. The relevant snippet from upstreamsrc/solana_program.rs:get_user_config_with_path(None)callsConfig::load(solana_cli_config::CONFIG_FILE), i.e.~/.config/solana/cli/config.yml. The shared setup action only creates~/.config/solana/id.json; no step in the workflow ever calledsolana config set, soconfig.ymlwas never materialized. The upload phase therefore aborted withError: No such file or directory (os error 2)after the build had already succeeded and the on-chain hash had matched.solana config set --url "$RPC_URL" --keypair "$HOME/.config/solana/id.json"materializes the config file with akeypair_paththat exists. The deployer keypair from Doppler is still passed to every sub-action via thekeypairinput and remains the actual transaction signer; this just satisfiessolana-verify's unconditional config load.Test Plan
Releaseworkflow againstdevnetfrom this branch.Verify build (devnet)clears the upload phase and writes the verification PDA forDe1egAFMkMWZSN5rYXRj9CAdheBamobVNubTsi9avR44.Failing run for reference: https://github.com/solana-program/subscriptions/actions/runs/25185255771