Skip to content

ci: pin third-party GitHub Actions to commit SHAs#658

Merged
fain182 merged 1 commit into
mainfrom
ci/pin-third-party-actions-to-sha
Jul 18, 2026
Merged

ci: pin third-party GitHub Actions to commit SHAs#658
fain182 merged 1 commit into
mainfrom
ci/pin-third-party-actions-to-sha

Conversation

@fain182

@fain182 fain182 commented Jul 18, 2026

Copy link
Copy Markdown
Collaborator

Pins all third-party (non-actions/*) GitHub Actions to full commit SHAs instead of mutable version tags, keeping the version as a comment next to each pin.

Tags like @v2 can be repointed at any time: if one of these actions' repos were compromised, the workflows would silently execute attacker-controlled code. This matters most for publish_phar (which handles the GPG release-signing key and passphrase via crazy-max/ghaction-import-gpg and softprops/action-gh-release) and update-contributors.yml (which runs on a schedule with contents: write).

Pinned: shivammathur/setup-php (2.37.2), codecov/codecov-action (v7.0.0), crazy-max/ghaction-import-gpg (v7.0.0), softprops/action-gh-release (v3.0.2), minicli/action-contributors (v3), test-room-7/action-update-file (v2.1.0).

Dependabot already watches the github-actions ecosystem, so the SHA pins (and their version comments) will keep being updated by its weekly PRs. First-party actions/* remain tag-pinned.

🤖 Generated with Claude Code

Mutable tags like @v2 can be repointed if the action's repo is
compromised; jobs handling the GPG signing key or running with
contents:write would then execute attacker-controlled code. Pinning
to full commit SHAs removes that vector. Version comments are kept
next to each SHA and Dependabot (github-actions ecosystem) will keep
the pins updated. First-party actions/* remain tag-pinned.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@codecov

codecov Bot commented Jul 18, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 98.41%. Comparing base (80cae2e) to head (9841938).
⚠️ Report is 26 commits behind head on main.

Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff              @@
##               main     #658      +/-   ##
============================================
+ Coverage     98.25%   98.41%   +0.16%     
- Complexity      700      805     +105     
============================================
  Files            87       94       +7     
  Lines          2000     2336     +336     
============================================
+ Hits           1965     2299     +334     
- Misses           35       37       +2     

see 13 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@fain182
fain182 merged commit 32feab2 into main Jul 18, 2026
35 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