Skip to content

Pin actions/upload-artifact and actions/download-artifact in .github/workflows/release.yaml to full commit SHAs #1852

Description

@fullsend-ai-retro

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    github_actionsPull requests that update GitHub Actions codenot-plannedready-for-triageTriggers triage agent dispatchwontfixThis will not be worked on

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions