Skip to content

ci(deps): pin cargo-release to v0.1.0 - #11220

Merged
mergify[bot] merged 1 commit into
mainfrom
ci/pin-cargo-release-v0.1.0
Aug 7, 2026
Merged

ci(deps): pin cargo-release to v0.1.0#11220
mergify[bot] merged 1 commit into
mainfrom
ci/pin-cargo-release-v0.1.0

Conversation

@alchemydc

Copy link
Copy Markdown
Contributor

Moves all four ZcashFoundation/cargo-release call sites to the action's first tagged release, v0.1.0 (0083006dfd267ed560b4cf1aed347ef2f326162e), from 34a37595755444456ce0e2d2b1258d9a29c14fac.

What the new pin brings

The previous pin predates that repo's supply-chain hardening. v0.1.0 includes:

  • ignore-scripts=true, so dependency install lifecycle hooks are refused during npm install — the execution path a ChainDrop-class worm uses.
  • npm audit split into its own CI job, so a newly published advisory can no longer short-circuit the bundle drift check (it previously masked a stale dist/ for ~12 hours).
  • Bundled undici moved to 6.28.0, fixing GHSA-8xcm-r25x-g524, GHSA-m8rv-5g2x-5cg5 and GHSA-v3r7-h72x-cjcm.

This is behaviourally inert

git diff --stat 34a3759 0083006 -- src/ action.yml   →  (empty)

src/ and action.yml are byte-identical between the two commits, so none of the release logic, inputs, or outputs change. Across the whole 8-commit range the only runtime delta in dist/index.js is the undici bump; everything else was CI config, docs, or dev dependencies.

That is why this is safe to land ahead of the open v7.0.0 release PR (#11219) rather than after it — v7.0.0 then publishes using the hardened, attested bundle, with no change to how the release behaves.

Call sites

File Step Phase
pr-gate.yml Check desired release state check
release.yml Check desired release state check
release.yml Publish and verify missing crates publish
release.yml Create missing tags and GitHub Release finalize

Also adds the version comment

These four lines were the only SHA pins in the workflows lacking a trailing # vX.Y.Z comment (200 of 204 carry one) — because until now the action had no release to reference. Each file's existing style is matched (# v in pr-gate.yml, #v in release.yml). The comment is also what lets Dependabot track this action going forward; with no tags published it previously had nothing to compare against.

Verification

  • Pin resolves to v0.1.0 and is fetchable on the remote as both refs/heads/main and refs/tags/v0.1.0^{}.
  • That bundle is attested: gh attestation verify dist/index.js --repo ZcashFoundation/cargo-release passes, signed by .github/workflows/attest.yml (SLSA buildType v1).
  • Old SHA no longer appears anywhere in the repo; no SHA pin is left without a version comment; both workflows still parse as valid YAML.
  • This PR verifies itself: pr-gate.yml's "Check desired release state" step is one of the four call sites and pr-gate-result is a required check, so a green run means the new pin actually executed in Zebra CI.

🤖 Generated with Claude Code

Move all four ZcashFoundation/cargo-release call sites from
34a37595755444456ce0e2d2b1258d9a29c14fac to 0083006dfd267ed560b4cf1aed347ef2f326162e,
the first tagged release of that action (v0.1.0). The new pin includes its
supply-chain hardening: install lifecycle scripts are refused during
`npm install`, the dependency audit runs as its own CI job so it cannot mask a
stale bundle, and the bundled undici carries the fix for GHSA-8xcm-r25x-g524,
GHSA-m8rv-5g2x-5cg5 and GHSA-v3r7-h72x-cjcm.

This is behaviourally inert. `src/` and `action.yml` are byte-identical between
the two commits, so the release logic does not change; the only runtime delta in
dist/index.js across the range is undici 6.27.0 -> 6.28.0. Safe to land ahead of
the open v7.0.0 release PR.

Also adds the trailing version comment. These four lines were the only SHA pins
in the workflows without one, because until now the action had no release to
reference. The comment matches each file's existing style and lets Dependabot
track the action from here on.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@alchemydc alchemydc added A-dependencies Area: Dependency file updates A-devops Area: Pipelines, CI/CD and Dockerfiles C-exclude-from-changelog Category: The PR should be excluded from the changelog and release notes labels Aug 7, 2026
@v12-auditor

v12-auditor Bot commented Aug 7, 2026

Copy link
Copy Markdown

Warning

No auditable source files found in this PR's diff.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Pins all cargo-release workflow call sites to tagged release v0.1.0 without changing release behavior.

Changes:

  • Updates four action pins to commit 0083006.
  • Adds version comments for dependency tracking.
  • Process gap: no pre-discussed issue is linked.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
.github/workflows/pr-gate.yml Updates the release-check action pin.
.github/workflows/release.yml Updates check, publish, and finalize action pins.

@alchemydc
alchemydc requested a review from conradoplg August 7, 2026 14:42
@mergify mergify Bot added the queued label Aug 7, 2026
@conradoplg

Copy link
Copy Markdown
Collaborator

This PR verifies itself: pr-gate.yml's "Check desired release state" step is one of the four call sites and pr-gate-result is a required check, so a green run means the new pin actually executed in Zebra CI.

I don't think this is blocking, but for reference I don't think this is true. That check only runs in release PRs.

@mergify

mergify Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Merge Queue Status

  • Entered queue2026-08-07 15:25 UTC · Rule: batched · triggered by rule move to any queue if GitHub Rulesets are satisfied
  • Checks skipped · PR is already up-to-date
  • Merged2026-08-07 15:26 UTC · at d264cbf8f249718d37f24b3639ea6fd532774da9 · merge

This pull request spent 46 seconds in the queue, including 9 seconds running CI.

Required conditions to merge
  • #review-threads-unresolved = 0 [🛡 GitHub repository ruleset rule PR Requirements]
  • github-review-approved [🛡 GitHub branch protection]
  • github-review-approved [🛡 GitHub repository ruleset rule PR Requirements]
  • any of [🛡 GitHub repository ruleset rule PR Requirements]:
    • check-success = @github-actions/lint
    • check-neutral = @github-actions/lint
    • check-skipped = @github-actions/lint
  • any of [🛡 GitHub repository ruleset rule PR Requirements]:
    • check-success = test-crates
    • check-neutral = test-crates
    • check-skipped = test-crates
  • any of [🛡 GitHub repository ruleset rule PR Requirements]:
    • check-success = unit-tests
    • check-neutral = unit-tests
    • check-skipped = unit-tests
  • any of [🛡 GitHub repository ruleset rule PR Requirements]:
    • check-success = @github-actions/pr-gate-result
    • check-neutral = @github-actions/pr-gate-result
    • check-skipped = @github-actions/pr-gate-result

@mergify
mergify Bot merged commit 05d129b into main Aug 7, 2026
154 of 155 checks passed
@mergify
mergify Bot deleted the ci/pin-cargo-release-v0.1.0 branch August 7, 2026 15:26
@mergify mergify Bot removed the queued label Aug 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-dependencies Area: Dependency file updates A-devops Area: Pipelines, CI/CD and Dockerfiles C-exclude-from-changelog Category: The PR should be excluded from the changelog and release notes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants