Repository navigation
ci: pin third-party actions to exact commit SHAs - #1186
Open
justinbanon-agent wants to merge 1 commit into
Open
justinbanon-agent wants to merge 1 commit into
justinbanon-agent wants to merge 1 commit into
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
Preview deployment
Built from 0f97596. |
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this does
Pins 4 third-party action references in 4 files to the exact commit each tag points to today, with the version in a comment. This is option 2 from bosonprotocol/core-components#1046.
@v4can be moved by its publisher; a commit SHA cannot. That is what happened withtj-actions/changed-filesin March 2025.Pinned
.github/workflows/deploy-preview.yamlmarocchino/sticky-pull-request-comment@v2marocchino/sticky-pull-request-comment@7737449.github/workflows/deploy_reusable.yamlcloudflare/wrangler-action@v3cloudflare/wrangler-action@9acf94a.github/workflows/jekyll-gh-pages.ymlruby/setup-ruby@v1ruby/setup-ruby@824c0e2.github/workflows/lint-pr.yamlamannn/action-semantic-pull-request@v4amannn/action-semantic-pull-request@505e44bOne reference moved upstream since 19 Oct; pinned to what it resolves to today.
Full SHAs are in the diff.
marocchino/sticky-pull-request-comment: v2 is a branch; its head is the commit of release tag v2.9.4.ruby/setup-ruby: v1 is a branch; its head is the commit of release tag v1.331.0.Left as they are
.github/workflows/deploy_reusable.yamlline 267,getsentry/action-release@v1: It runs the container imageghcr.io/getsentry/action-release-image:1.11.0by tag, so pinning the action does not freeze what runs (rule R5). Your plan replaces it with a plainnpx @sentry/cli@<version>step; that needs a sentry-cli version and the release, commit-association and deploy calls the action makes, which is a choice for you rather than a mechanical swap. Left as it is..github/actions/setup-node-pnpm/action.ymlline 10,pnpm/action-setup@v4: allowed by name in the organisation list; your rule R1 says no pin.cloudflare/wrangler-actionandruby/setup-rubyinstall a tool at run time (your "check carefully" list in Cheap alternative to #1045: pin third-party actions by SHA and allow those exact SHAs at org level core-components#1046). Pinning freezes the action, not what it installs.How to check
On this pull request, these workflows start (no "workflow file issue") and pass:
In each job's "Set up job" log, the "Download action repository" lines show the pinned SHAs.
After the merge to
main:main: wrangler, and the Sentry release step (unchanged).main: the Ruby set-up.Once this is green, the organisation's "any version" entries for these actions can be swapped for the exact SHAs, but only for an action that no other repo still uses by tag.
Rollback: revert this merge.
Prepared by Claude for Justin; Ludo reviews and merges. Refs bosonprotocol/core-components#1046.
🤖 Generated with Claude Code