Repository navigation
Description
Problem
This repo SHA-pins its GitHub Actions with version comments, but actions/checkout is pinned at three different major versions across the workflows, and actions/github-script at two:
Verified on main 6388e35b3f by enumerating every uses: line in .github/workflows/:
| Action | Pins in use | Count |
|---|---|---|
actions/checkout |
f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 |
16 |
actions/checkout |
34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 |
22 |
actions/checkout |
de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 |
2 (+1 more below) |
actions/github-script |
f28e40c7f34bde8b3046d885e986cb6290c5673b # v7.1.0 |
3 |
actions/github-script |
ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0 |
1 |
The v3.6.0 checkouts are the deploy and publish family: deploy.yml, deploy-changelog.yml, deploy-files.yml, deploy-posts.yml, deploy-update.yml, deploy-www.yml (1 each), publish-github-action.yml, publish-vscode.yml (1 each) and publish.yml (8).
Sharpest instance: .github/workflows/nix-hashes.yml mixes two majors in one file — line 51 checks out with v6.0.2 and line 107 with v4.3.1.
Why it matters
- checkout v3.6.0 runs on the deprecated Node 16 action runtime. GitHub currently force-runs it on a newer runtime with warnings; it is the version most exposed to a future runner removal breaking every deploy/publish workflow at once.
- Three pins for one action means three different behaviours (credential persistence defaults, fetch behaviour, error handling) depending on which workflow a maintainer is debugging, and security/bug fixes land only where someone happens to bump.
- This repo has repeatedly treated action-version consistency as worth fixing (e.g. CI: jules-daily-upstream-sync is the only workflow using a floating actions/checkout@v4 tag — every other action in the repo is SHA-pinned #136 aligned the one floating checkout tag; the sibling fork fixed the same class of skew in ci: release pipeline downloads with artifact v4 what its own jobs upload with v7 — checkout/upload/download majors skew across workflows openchamber#143).
Acceptance criteria
- Every
actions/checkoutuse in.github/workflows/resolves to ONE SHA pin with an accurate version comment. Recommended direction: retire v3.6.0 first by moving the deploy/publish family onto the repo-standard v4.3.1 pin (34e114876b0b11c390a56381ad16ebd13914f8d5); then decide whether the standard becomes v4.3.1 or v6.0.2 and align the remainder (including both sites innix-hashes.yml) in the same pass. -
actions/github-scriptlikewise aligned to one pin (v7.1.0 ×3 vs v8.0.0 ×1 inpr-management.yml:93). - All edited workflows still parse as YAML, and at least one PR-triggered workflow that uses the new standard pin runs green in CI.
- A note in the PR body recording which pin was chosen as the standard and why, so the next bump has a single place to start from.
Scope / cross-repo check
Single-repo. The same enumeration in the sibling repos does not show this pattern: dezren39/nix is uniform (checkout v7.0.1 everywhere), developing-today/openchamber is uniform v7.0.1 apart from a jules-workflow straggler already covered by its PR #144, and developing-today/code uses floating major tags (a different, separately tracked convention).
Activity
ci: retire actions/checkout v3.6.0 in deploy/publish workflows (#161)
docs: record the #143, #160 and #179 completions in ROADMAP Done (#182)