chore: pin all github actions to commit SHAs#89
Conversation
Replaces every uses: org/action@tag with uses: org/action@<sha> # tag. Tags are mutable; SHAs are not. Blocks tag-mutation supply-chain attacks. Paired with renovate pinDigests: true (already configured) to keep SHAs current.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughGitHub Actions are pinned to explicit commit SHAs across three workflows (CI, CodeQL, release), replacing floating major-version tags while preserving existing environment inputs and step sequences; release checkout adds ChangesGitHub Actions Dependency Pinning
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/workflows/release.yml:
- Around line 40-42: The checkout step using
actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd should disable
persisted credentials to reduce token exposure; update the checkout invocation
(the actions/checkout step) to include persist-credentials: false while keeping
fetch-depth: 0 so downstream git read-only operations still work.
- Around line 50-53: The release workflow is using actions/setup-node with
cache: "pnpm" which enables package-manager caching in a privileged job that has
contents: write and accesses secrets; remove the cache option (or set it to a
non-caching value) in the actions/setup-node step so the release job performs a
fresh dependency install—update the step that references actions/setup-node and
the node-version input (the block containing node-version: ${{ env.NODE_VERSION
}} and cache: "pnpm") to omit or disable the cache setting.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: 2257b67b-2488-4d37-aa8d-4645a669e222
📒 Files selected for processing (3)
.github/workflows/ci.yml.github/workflows/codeql.yml.github/workflows/release.yml
- Add persist-credentials: false to checkout (reduces GITHUB_TOKEN exposure to subsequent steps) - Remove cache: pnpm from setup-node (privileged workflow with contents: write + secrets — cache poisoning would compromise the release pipeline; fresh install is safer) Addresses CodeRabbit review on PR #89.
Every `uses:` reference pinned to 40-char SHA. Tag preserved as trailing comment. release.yml calls Anthropic API for release notes (legitimate; pinact only touches uses:).
Files
Total: 18 pinned references across 5 unique actions (actions/checkout, actions/setup-node, pnpm/action-setup, github/codeql-action/init, github/codeql-action/analyze).
Summary by CodeRabbit