Repository navigation
CI: pin the GitHub Actions to commit SHAs - #241
Conversation
actions/checkout and shivammathur/setup-php were referenced by tag (@v7, @v2), which whoever controls those repositories can move: the next run would execute what they put there. They are pinned to the commits of v7.0.1 and 2.40.0, with the release in a comment; Dependabot (github-actions) proposes the updates. tests/lint/check-workflows.php, run by the lint job, fails on a reference that is not pinned. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LhhhdjhErC9ZiaS4HyRjsh
Conflict in the lint job of ci.yml: both the workflow lint step and the Joomla checksum lint step (#242) are kept. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LhhhdjhErC9ZiaS4HyRjsh
|
If integration jobs fail here on Generated by Claude Code |
|
Update on the integration failures here: com_bfstop#21 is merged, but the re-run still fails on the same test ( Fix: delete the merged branch Generated by Claude Code |
Conflict in the "Determine com_bfstop branch" area of ci.yml (#244 changed the step, this branch pins the checkout action after it): both are kept. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LhhhdjhErC9ZiaS4HyRjsh
Why
The workflows use
actions/checkout@v7andshivammathur/setup-php@v2. A tag can be moved by whoever controls the action's repository (or whoever takes it over); the next run of our workflows would then execute what they put there - with this repository's token, in its checkouts, and in the jobs that install and test the release code. Pinning to a commit SHA makes the workflow run exactly what was reviewed.Change
ci.yml,dependencies.yml) are pinned, with the release in a comment so the pins stay readable:actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1(whatv7pointed to)shivammathur/setup-php@eb7c497e18156a6bbabfef1d3a82760b9eda3962 # 2.40.0(the commitv2pointed to; resolved withgit ls-remote, annotated tag dereferenced)tests/lint/check-workflows.php, run by the lint job, fails on anyuses:that is not pinned to a 40-character SHA or lacks the release comment (local./actions excluded). I checked that it fails on an unpinned reference. The script is identical in com_bfstop (separate PR there).github-actionsentry proposes pin updates (it understands@sha # vX.Y.Z).No change to what the workflows do. The runs of this PR are the proof that the pinned commits work.
Generated by Claude Code