Skip to content

chore(ci): pin action refs to verified SHAs - #10

Merged
jobordu merged 2 commits into
mainfrom
chore/pin-actions
Jul 22, 2026
Merged

jobordu merged 2 commits into
mainfrom
chore/pin-actions

Conversation

@jobordu

@jobordu jobordu commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Rewrites mutable version tags to 40-char SHAs with a trailing version comment. A tag can be silently repointed by its owner; a SHA cannot.

How the SHAs were obtained matters

Each was resolved through the tag object, then re-verified against the commits endpoint before being written.

An annotated tag's ref SHA is the tag object, not the commit. Getting that wrong is how df-cicd ended up with four pins to commits that never existed — silently killing infra-dns's IaC gate for six consecutive runs while the repo appeared to have coverage (df-cicd#18).

Any ref that couldn't be confirmed was left untouched: an unverifiable SHA is worse than the tag it replaces, because a tag at least resolves.

Branch refs (@main/@master) are deliberately not rewritten — choosing which release to adopt is a decision, not a mechanical substitution.

Result

Against the org baseline: 15 advisory → 2, with 0 required. This repo becomes fully clean.

Every workflow was re-parsed after the rewrite. Generated by df-cicd/baseline/pin_actions.py (df-cicd#34); the reference application is just-akash#104.

🤖 Generated with Claude Code

https://claude.ai/code/session_01PRVqMsvZcbfRnV6KUTMF2Q

Rewrites mutable version tags to 40-char SHAs with a trailing version
comment. A tag can be silently repointed by its owner; a SHA cannot.

Every SHA was resolved THROUGH the tag object and re-verified against the
commits endpoint before being written — not copied by hand. An annotated
tag's ref sha is the tag OBJECT, not the commit, and getting that wrong is
how df-cicd ended up with four pins to commits that never existed,
silently killing infra-dns's IaC gate for six consecutive runs
(df-cicd#18). Any ref that could not be confirmed was left untouched.

Branch refs (@main/@master) are deliberately NOT rewritten: choosing which
release to adopt is a decision, not a mechanical substitution.

Against the org baseline this takes the repo from 15 advisory finding(s)
to 2 — fully clean, with 0 required.

Generated by df-cicd/baseline/pin_actions.py.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PRVqMsvZcbfRnV6KUTMF2Q
Copilot AI review requested due to automatic review settings July 22, 2026 20:27
@coderabbitai

coderabbitai Bot commented Jul 22, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

@jobordu, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 1 minute

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: cd92ac88-6c18-4ea0-95a1-8c5ee0836349

📥 Commits

Reviewing files that changed from the base of the PR and between 836d176 and db80196.

📒 Files selected for processing (3)
  • .github/workflows/ci.yml
  • .github/workflows/release.yml
  • .github/workflows/sync-upstream.yml
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/pin-actions

Comment @coderabbitai help to get the list of available commands.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@sentinel-by-digital-frontier

sentinel-by-digital-frontier Bot commented Jul 22, 2026 •

Copy link
Copy Markdown

🛡️ Sentinel PR review

⚠️ Could not check out the PR head (chore/pin-actions) — skipping rather than posting a misleading empty review (it would otherwise diff the base branch against itself).

@sentinel-by-digital-frontier sentinel-by-digital-frontier Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Sentinel inline review failed to build. Line-anchored comments and the automated REQUEST_CHANGES verdict are UNAVAILABLE for this PR — only the sticky summary above is authoritative. See the pr-review-inline.log artifact.

Copilot AI review requested due to automatic review settings July 22, 2026 22:00

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@jobordu
jobordu merged commit cdcece4 into main Jul 22, 2026
9 of 10 checks passed
@jobordu
jobordu deleted the chore/pin-actions branch July 22, 2026 22:06
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.

3 participants