Skip to content

fix(ci): name the major each pinned action sha actually is - #464

Merged
forkwright merged 1 commit into
mainfrom
fix/action-pin-comments
Aug 25, 2026
Merged

fix(ci): name the major each pinned action sha actually is#464
forkwright merged 1 commit into
mainfrom
fix/action-pin-comments

Conversation

@forkwright

Copy link
Copy Markdown
Owner

Seven action pins here carried a comment naming a different major than the sha
resolves to: five actions/checkout # v6 whose sha is v7.0.1, and one
actions/upload-artifact # v4 whose sha is v7.

The comment is the only human-readable part of a sha pin -- nobody audits
3d3c42e5 directly -- so one naming the wrong major answers the audit question
confidently and wrongly. That is worse than no comment.

Nothing here is a version change: every sha is untouched. Only the comments
move, to say what the shas already were.

Cause, for the next reader: dependabot rewrites a pin comment only when it can
parse a precise version out of the existing one. A pin whose comment reads # v6
gives it nothing to rewrite, so a bump across a major boundary updates the sha
and leaves the comment behind, silently and permanently.

checkout gets # v7.0.1 because that sha resolves to a precise release.
upload-artifact gets # v7 because upstream publishes only a moving major tag
there -- naming a precise version it does not offer would be inventing one.

Verified with utilities/check-action-pin-comments.py: 21 pins checked here,
0 naming the wrong major after this change. Fleet-wide the same check found ten,
seven of which were in this repo.

Seven action pins here carried a comment naming a different major than the sha
resolves to: five `actions/checkout # v6` whose sha is v7.0.1, and one
`actions/upload-artifact # v4` whose sha is v7.

The comment is the only human-readable part of a sha pin -- nobody audits
`3d3c42e5` directly -- so one naming the wrong major answers the audit question
confidently and wrongly. That is worse than no comment.

Nothing here is a version change: every sha is untouched. Only the comments
move, to say what the shas already were.

Cause, for the next reader: dependabot rewrites a pin comment only when it can
parse a precise version out of the existing one. A pin whose comment reads `# v6`
gives it nothing to rewrite, so a bump across a major boundary updates the sha
and leaves the comment behind, silently and permanently.

checkout gets `# v7.0.1` because that sha resolves to a precise release.
upload-artifact gets `# v7` because upstream publishes only a moving major tag
there -- naming a precise version it does not offer would be inventing one.

Verified with utilities/check-action-pin-comments.py: 21 pins checked here,
0 naming the wrong major after this change. Fleet-wide the same check found ten,
seven of which were in this repo.
@forkwright
forkwright merged commit 5306eb2 into main Aug 25, 2026
11 checks passed
@forkwright
forkwright deleted the fix/action-pin-comments branch August 25, 2026 00:56
forkwright pushed a commit that referenced this pull request Sep 3, 2026
🤖 I have created a release *beep* *boop*
---


##
[0.6.2](v0.6.1...v0.6.2)
(2026-09-03)


### Bug Fixes

* **akroasis:** correct Pinax authority boundary
([#476](#476))
([0a6cc23](0a6cc23))
* **ci:** name the major each pinned action sha actually is
([#464](#464))
([5306eb2](5306eb2))
* **kerykeion:** drop the redundant Instrument import from
collector_tests
([#471](#471))
([2b2e0ee](2b2e0ee))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
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