ci(contracts): make verify-contract-addresses check explicitly blocking - #457
Conversation
|
@Onyii1234 is attempting to deploy a commit to the Collins' projects Team on Vercel. A member of the Team first needs to authorize it. |
|
i have created a seperate pr as you suggested sir please merge please |
collinsezedike
left a comment
There was a problem hiding this comment.
Good catch flagging that branch protection needed to actually require this check, that gap turned out to apply repo-wide, not just here. Configured branch protection directly to require the six checks that always run on every PR: Lint & Typecheck, Test, Commit Messages, PR Title, Soroban Contract Tests, Dependency Review.
Deliberately did not add "Verify On-Chain Bytecode" itself to the required list, since it's path-filtered and only triggers on PRs touching constants.ts/known-pools.ts. Marking a conditionally-triggered check as required would permanently block merging on every PR that doesn't touch those files, since the check never reports at all for them. continue-on-error: false already makes it blocking when it does run, which is the correct behavior for a conditional check.
The concurrency guard, timeout, and comments here are all genuinely useful additions.
Thank you for the contribution. Feel free to grab another open issue.
Merging now.
Summary
concurrencygroup (verify-contracts-${{ github.ref }}withcancel-in-progress: true) so a new push cancels any stale in-progress run on the same PR, preventing an outdated result from gating a merge.continue-on-error: falseexplicitly on theverifyjob. The default is alreadyfalse, but stating it makes the blocking intent unambiguous to anyone reading or editing the file.timeout-minutes: 15so a hung Stellar CLI fetch cannot block the queue indefinitely.The script itself (
scripts/verify-contract-addresses.ts) already satisfies all three acceptance criteria from #389 and #431: it runspnpm verify:contractson PRs touchingconstants.ts/known-pools.ts, exits non-zero on any hash mismatch, and retries the on-chain fetch up to three times on transient RPC failures. This PR makes the job's blocking nature explicit and adds the concurrency guard that was missing.Test plan
pnpm lint && pnpm typecheck && pnpm testpass locallygh workflow view verify-contract-addresseslists the job after mergecontinue-on-error: falseandconcurrencygroup are present in the updated fileCloses #431