Skip to content

fix(ci): pin actions to commits and move them off v4 - #4

Merged
MihaiNueleanu merged 1 commit into
mainfrom
fix/macos-15-runner
Oct 30, 2026
Merged

MihaiNueleanu merged 1 commit into
mainfrom
fix/macos-15-runner

Conversation

@MihaiNueleanu

Copy link
Copy Markdown
Contributor

You merged #3 while this was still being written, so it rides on the same branch and only this commit is new.

Every third-party action is now pinned to a commit SHA with the release in a trailing comment. A tag is a mutable pointer, so @v7 is a supply-chain hole as well as a silent upgrade, and the comment is what keeps the SHA readable.

Action Was Now
actions/checkout v4 v7.0.1
actions/upload-artifact v4 v7.0.2
actions/download-artifact v4 v8.0.2
Swatinem/rust-cache v2 v2.9.3
dtolnay/rust-toolchain @stable (branch head) master commit 683b588, toolchain: stable named explicitly

Notes:

  • All of them run on Node 24 now, which clears the Node 20 deprecation annotations on checkout and upload-artifact.
  • dtolnay/rust-toolchain publishes no release tags, so the pin is a commit on master plus an explicit toolchain: input (the branch refs are what select the toolchain, and a SHA does not).
  • download-artifact@v8 now fails the run on a digest mismatch instead of warning. Both artifacts it reads are zipped by upload-artifact@v7, so the no-unzip-non-zipped-files change does not apply.
  • macos-15 stays as merged in fix(ci): macOS 15 runner and SHA-pinned actions #3.

The PR check job exercises the checkout, toolchain and cache pins for real; the artifact pair is only proven by a run on main.

Every third-party action is now pinned to a commit SHA with the release in a
trailing comment, so a repointed tag cannot swap the code under the build.

- actions/checkout v4 -> v7.0.1
- actions/upload-artifact v4 -> v7.0.2
- actions/download-artifact v4 -> v8.0.2 (hash mismatch now fails the run)
- Swatinem/rust-cache v2 -> v2.9.3
- dtolnay/rust-toolchain: pinned to a master commit, toolchain named explicitly

All of them run on Node 24 now, which clears the checkout/upload-artifact
Node 20 deprecation annotations.
@MihaiNueleanu
MihaiNueleanu merged commit ab6795f into main Oct 30, 2026
4 checks passed
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.

1 participant