Skip to content

ci: catch release-bump dependency rebinds on the PR that causes them - #4223

Open
nikw9944 wants to merge 4 commits into
mainfrom
nikw9944/doublezero-4220
Open

ci: catch release-bump dependency rebinds on the PR that causes them#4223
nikw9944 wants to merge 4 commits into
mainfrom
nikw9944/doublezero-4220

Conversation

@nikw9944

@nikw9944 nikw9944 commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Summary of Changes

Two things the diff cannot cover:

  • The job is advisory until you add it to the required checks. Ruleset 3777660 lists individual job contexts, so living in rust.yml confers nothing (rust-validator-test and rust-cli-static are in this workflow and not required either). Once it is green on main, append {"context":"release-bump-dry-run"} to required_status_checks. Noted in the docs paragraph and CHANGELOG entry.
  • It can go red for reasons unrelated to a PR. Re-resolution hits the live crates.io index, so an upstream publish can trip the guard on an unrelated PR — and on main too. This is the release-day flakiness moved somewhere cheap to fix; the remedy is always to pin the requirement, which the job's failure output says.

The bare-"0" lint (item 2 in #4220) is out: 27 such requirements remain and would all need pinning first, and this guard catches the consequence however the requirement is spelled.

Testing Verification

@nikw9944 nikw9944 self-assigned this Aug 21, 2026
@nikw9944
nikw9944 marked this pull request as ready for review August 21, 2026 18:42
@nikw9944
nikw9944 requested review from ben-dz and packethog August 21, 2026 18:42
@nikw9944
nikw9944 requested a review from a team August 21, 2026 18:54
The release's version bump runs cargo update --workspace, which re-resolves
every workspace member's dependency edges and can silently rebind them onto a
different locked minor. bump-version.sh already fails on that, but only ran at
release time, so the rebind that broke the v0.37.0 testnet release sat dormant
for a week after the PR that made it possible.

Run the same script against a throwaway next-minor version in PR CI and discard
the result, so the failure lands on the PR that causes it.

Refs #4220
Say plainly that the job is advisory until its context is added to the main
ruleset, and that a rebind can also arrive from the live crates.io index rather
than from the PR under test. Move the remedy into plain log lines so the error
annotation stays short enough to read in the Annotations panel.

Refs #4220
@nikw9944
nikw9944 force-pushed the nikw9944/doublezero-4220 branch from bfa8b10 to 451150f Compare August 21, 2026 20:58
@nikw9944
nikw9944 enabled auto-merge (squash) August 21, 2026 21:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ci: catch release-bump dependency rebinds on the PR that causes them

2 participants