What happened
The review agent flagged actions/upload-artifact@v7 (line ~117) and actions/download-artifact@v8 (line ~155) in .github/workflows/release.yaml as tag-only references on PR #1684 across 6 review runs between 2026-06-18 and 2026-09-04. Every other third-party action in the repo — including actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 in .github/workflows/scorecards.yml:84 — is SHA-pinned. The release.yaml create_release job runs with contents: write, so a repointed tag on either action could publish arbitrary content as part of a release. The PR merged 2026-09-15 without addressing the note, and the same finding will resurface on the next Renovate bump of these two actions.
What could go better
Filing this in the source repo — rather than letting the review agent re-flag it indefinitely — gives the maintainers a place to either fix it or explicitly close it as won't-fix (with a rationale the review agent can be pointed at). The current state (.github/workflows/release.yaml tag-pinned while scorecards.yml SHA-pinned for the same action) is a real inconsistency in supply-chain posture even if the practical risk is low for GitHub-maintained actions. Confidence: high on the observation; medium on whether the repo owners consider it worth fixing (their merge behavior on #1684 is consistent with won't-fix).
Proposed change
Edit .github/workflows/release.yaml: change uses: actions/upload-artifact@v7 (line ~117) to uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 (matching scorecards.yml). Change uses: actions/download-artifact@v8 (line ~155) to uses: actions/download-artifact@<v8.0.1 sha> # v8.0.1. Ensure renovate.json (or the shared conforma/.github config it extends) uses pinDigests: true for GitHub Actions so future bumps preserve the SHA form. If the maintainers prefer tag-only for these two references, close this issue as won't-fix with a comment stating the rationale so future review runs can be pointed at it.
Validation criteria
After the change: (a) grep -rE 'uses: actions/(upload|download)-artifact@v[0-9]+$' .github/workflows/ returns no matches; (b) the next Renovate major/minor bump for either action produces a diff that keeps the SHA form (via pinDigests); (c) the next re-review of a Renovate action-bump PR against conforma/policy no longer emits the tag-only pinning finding for release.yaml.
Generated by retro agent from #1684
What happened
The review agent flagged
actions/upload-artifact@v7(line ~117) andactions/download-artifact@v8(line ~155) in.github/workflows/release.yamlas tag-only references on PR #1684 across 6 review runs between 2026-06-18 and 2026-09-04. Every other third-party action in the repo — includingactions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1in.github/workflows/scorecards.yml:84— is SHA-pinned. Therelease.yamlcreate_releasejob runs withcontents: write, so a repointed tag on either action could publish arbitrary content as part of a release. The PR merged 2026-09-15 without addressing the note, and the same finding will resurface on the next Renovate bump of these two actions.What could go better
Filing this in the source repo — rather than letting the review agent re-flag it indefinitely — gives the maintainers a place to either fix it or explicitly close it as won't-fix (with a rationale the review agent can be pointed at). The current state (
.github/workflows/release.yamltag-pinned whilescorecards.ymlSHA-pinned for the same action) is a real inconsistency in supply-chain posture even if the practical risk is low for GitHub-maintained actions. Confidence: high on the observation; medium on whether the repo owners consider it worth fixing (their merge behavior on #1684 is consistent withwon't-fix).Proposed change
Edit
.github/workflows/release.yaml: changeuses: actions/upload-artifact@v7(line ~117) touses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1(matchingscorecards.yml). Changeuses: actions/download-artifact@v8(line ~155) touses: actions/download-artifact@<v8.0.1 sha> # v8.0.1. Ensurerenovate.json(or the sharedconforma/.githubconfig it extends) usespinDigests: truefor GitHub Actions so future bumps preserve the SHA form. If the maintainers prefer tag-only for these two references, close this issue as won't-fix with a comment stating the rationale so future review runs can be pointed at it.Validation criteria
After the change: (a)
grep -rE 'uses: actions/(upload|download)-artifact@v[0-9]+$' .github/workflows/returns no matches; (b) the next Renovate major/minor bump for either action produces a diff that keeps the SHA form (viapinDigests); (c) the next re-review of a Renovate action-bump PR againstconforma/policyno longer emits the tag-only pinning finding forrelease.yaml.Generated by retro agent from #1684