Skip to content

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

Description

@nikw9944

#4219 fixes the immediate cause of the v0.37.0 testnet release failure, but nothing would have caught it on the PR that introduced it.

To be fair to #4213: it wasn't malformed. reqwest = "0" already existed — #4213 just became the first crate to want reqwest 0.13 alongside Solana's 0.12, which gave cargo update --workspace something to rebind onto. The breakage then sat dormant until release time, a week later.

Proposal — run the guard on every PR:

  1. Dry-run the release bump in PR CI. Run scripts/release/bump-version.sh against a throwaway version, assert the Cargo.lock diff is only member version lines, discard the result. This is the check that would actually have failed ip-verifier: add the IP ownership verification service #4213, because it exercises the same re-resolution path the release does.
  2. Lint [workspace.dependencies] for bare "0" requirements. Cheap, but only stops new instances of the declaration pattern, and needs the remaining 27 pinned first (see the audit in deps: pin reqwest and tokio-util to their locked 0.x minors #4219).

(1) is the one worth having.

Metadata

Metadata

Assignees

No one assigned

    Labels

    dependenciesPull requests that update a dependency filetech-debt

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions