Skip to content

chore(actions): move every actions/checkout pin to v7 - #70

Merged
chrischall merged 1 commit into
mainfrom
chore/checkout-v7
Jul 27, 2026
Merged

chore(actions): move every actions/checkout pin to v7#70
chrischall merged 1 commit into
mainfrom
chore/checkout-v7

Conversation

@chrischall

Copy link
Copy Markdown
Owner

Follow-up to #69, which unified the ten actions/checkout pins by dropping the new one back to @v6. The consistency argument was right; the direction was wrong. v7.0.1 is current (released 2026-07-20), both majors are maintained, and there's no reason the fleet should sit a major behind. Levelling up, not down.

Checked before bumping

This file set deploys to every repo at once with no canary, so two things were worth verifying rather than assuming:

1. v7's fork-PR block doesn't affect us. v7.0.0's headline change is "block checking out fork pr for pull_request_target and workflow_run" (#2454) — which sounds alarming for reusable-claude.yml, whose entire purpose is checking out fork PRs. The guard reads the event name and returns early for anything else:

const eventName = github.context.eventName
if (eventName !== 'pull_request_target' && eventName !== 'workflow_run') { return }

issue_comment / pull_request_review_comment / pull_request_review are untouched. That was the one change that could have broken the workflow this pin was being argued over.

2. No runner risk. All ten call sites run on ubuntu-latest, so there's no self-hosted agent whose version might be too old for the action's newer runtime.

A small bonus

The fleet deliberately avoids pull_request_target (Anthropic's OIDC backend rejects it — see the note in reusable-pr-auto-review.yml). v7 turns that convention into a hard failure, so nobody can quietly reintroduce the fork-PR footgun later.

Not in scope

The other action pins — setup-node, upload-artifact, cache — weren't audited. That deserves its own sweep rather than being smuggled into a checkout bump.

🤖 Generated with Claude Code

https://claude.ai/code/session_011DKSBmZAgtkp3wfCB4TgMm

#69 unified the ten pins by dropping the new one back to v6. The consistency
argument was right and the direction was wrong: v7.0.1 is current (released a
week ago, 2026-07-20), v6 and v7 are both maintained, and there is no reason
for the fleet to sit a major behind.

Checked before bumping, because this file set deploys to every repo at once
with no canary:

- v7.0.0's headline change blocks checking out fork PR code — but only for
  `pull_request_target` and `workflow_run`. The guard reads the event name and
  returns early for anything else (src/unsafe-pr-checkout-helper.ts), so
  reusable-claude.yml's fork checkout, which runs on `issue_comment`, is not
  affected. That was the one change that could have broken the workflow this
  pin was argued over.
- All ten call sites run on ubuntu-latest, so there is no self-hosted runner
  whose agent version could be too old for the action's newer runtime.

The fork-PR block is a small win beyond currency: the fleet deliberately
avoids `pull_request_target` (Anthropic's OIDC backend rejects it), and v7
makes that a hard failure rather than a convention someone can quietly break
later.

Not audited here: the other action pins (setup-node, upload-artifact, cache).
Worth its own sweep rather than smuggling into a checkout bump.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011DKSBmZAgtkp3wfCB4TgMm
@claude

claude Bot commented Jul 27, 2026

Copy link
Copy Markdown

Claude finished @chrischall's task in 50s —— View job


Review: actions/checkout v7 bump

  • Read CLAUDE.md and README.md (project constraints)
  • Verify diff scope (10 files, pure version bumps)
  • Validate against documented constraints
  • Check safety of version bump
  • Assess blast radius and risk

Summary

This PR bumps actions/checkout from v6 to v7 across all 10 call sites in the fleet's reusable workflows and templates. The change is narrow and well-validated:

  1. Correctness: Diff is exactly 10 files × 1 line each (v6 → v7 in the uses: pin). No interface changes, no composite action signature modifications.

  2. Safety of v7: The author correctly verified that v7's fork-PR guard (GH block checking out fork pr for pull_request_target and workflow_run actions/checkout#2454) uses event-name filtering (pull_request_target, workflow_run) that does not affect the fleet's workflows, which use issue_comment, pull_request_review_comment, and pull_request_review instead. All runners are ubuntu-latest.

  3. Fleet constraint: This change is production-critical (affects 56 repos at next run with no canary), but the validation is sound and aligns with CLAUDE.md's load-bearing rules (no interface breaking, no syntax issues, safe simultaneous rollout).

Verdict: pass


|

@github-actions

Copy link
Copy Markdown

✅ Auto-review verdict: pass — Clean version bump from v6 to v7 across 10 files with sound safety validation; no breaking changes to interfaces, composite actions, or fleet constraints.

@chrischall
chrischall enabled auto-merge (squash) July 27, 2026 14:47
@chrischall
chrischall merged commit 558b091 into main Jul 27, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant