Pin actions/upload-artifact to SHA#127
Merged
TooManyBees merged 1 commit intoactions:mainfrom Aug 14, 2025
heavymachinery:pin-sha
Merged
Pin actions/upload-artifact to SHA#127TooManyBees merged 1 commit intoactions:mainfrom heavymachinery:pin-sha
actions/upload-artifact to SHA#127TooManyBees merged 1 commit intoactions:mainfrom
heavymachinery:pin-sha
Conversation
There was a problem hiding this comment.
Pull Request Overview
Updates the GitHub Actions workflow to pin the actions/upload-artifact action to a specific SHA instead of using the floating tag v4. This improves security and reproducibility by ensuring the exact version of the action is used.
- Pins
actions/upload-artifactfromv4to SHAea165f8d65b6e75b540449e92b4886f43607fa02(v4.6.2)
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
You can also share your feedback on Copilot code review for a chance to win a $100 gift card. Take the survey.
TooManyBees
approved these changes
Aug 14, 2025
TooManyBees
approved these changes
Aug 14, 2025
Merged
4 tasks
Aureliolo
added a commit
to Aureliolo/synthorg
that referenced
this pull request
Mar 11, 2026
…ing (#299) ## Summary - **Upgrade `actions/upload-pages-artifact` v3 → v4** — v4.0.0 ([PR #127](actions/upload-pages-artifact#127)) SHA-pins its internal `actions/upload-artifact` dependency, fixing the `sha_pinning_required` conflict where the composite action's tag reference (`@v4`) was rejected by the repo's Actions permissions policy - **Add `zizmor` workflow security analysis** — runs on workflow file changes (push to main + PRs), catches unpinned actions, script injection, excessive permissions, and uploads SARIF to the Security tab - **Add explicit failure on release retry exhaustion** — retry loop now sets a `FOUND` flag so exhaustion surfaces a clear `::error::` instead of falling through to a confusing `gh release edit` failure (Greptile PR #298 finding) ## Context After merging #298, the Pages workflow failed on main because `upload-pages-artifact` v3 internally called `actions/upload-artifact@v4` (tag, not SHA), violating the repo's `sha_pinning_required: true` setting. This is a [known limitation](actions/runner#2195) with composite actions — GitHub enforces SHA pinning transitively but composite action authors don't always pin their internal deps. v4.0.0 fixed this upstream. The zizmor workflow provides CI-level enforcement of SHA pinning and other workflow security checks, complementing the repo-level `sha_pinning_required` setting. ## Test plan - [ ] Pages workflow succeeds on main after merge (v4 upload-pages-artifact) - [ ] zizmor workflow runs and uploads SARIF on this PR's workflow changes - [ ] Verify no breaking change from v4 dotfile exclusion (MkDocs/Astro output has no dotfiles) - [ ] Release retry loop fails clearly after exhaustion (manual verification of logic)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
👋 Updating
uses: actions/upload-artifact@v4in the composite action to pin tov4.6.2SHA