Skip to content

fix: pin GitHub Actions to SHA for supply chain security#8

Merged
riccardosarro merged 1 commit into
masterfrom
fix/github-action-sha-pinning
Jun 23, 2026
Merged

fix: pin GitHub Actions to SHA for supply chain security#8
riccardosarro merged 1 commit into
masterfrom
fix/github-action-sha-pinning

Conversation

@riccardosarro

Copy link
Copy Markdown
Contributor

Summary

Pin all GitHub Actions to full commit SHAs for supply chain security.

Actions referenced by tag or branch have been resolved to their commit SHA, with the original ref preserved as an inline comment. Where a sub-action had unpinned transitive dependencies, the action was upgraded to the closest newer version where all sub-actions are fully pinned.

References to this repo's own reusable workflows / composite actions have been rewritten to relative ./ paths, which run from the current commit and are exempt from SHA-pinning enforcement.

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
@riccardosarro riccardosarro added the vimeo-sha-pinning-enforcement PRs opened by gha-sha-pinning automation label Jun 22, 2026
@security-claw

Copy link
Copy Markdown

SHA-pinning PR review

CI status: ❌ failing

Job Workflow Status First error
Build (ubuntu-latest, 1.22) Go ❌ FAILURE TestCgroupMemLimitsRead / TestCgroupMemStatsRead failures in cgrouplimits package
staticcheck StaticCheck ❌ FAILURE golang.org/x/tools@v0.21.1.../tokeninternal.go:64:9: invalid array length -delta * delta
Build (macOS-latest, *) Go 🚫 CANCELLED (cancelled after ubuntu failure)

Pre-existing vs new: No CI runs exist on master to directly compare, but this PR modifies only workflow YAML files — zero Go code changes. The Go test failures (cgrouplimits) and the golang.org/x/tools compilation error are pre-existing breakage unrelated to this PR.

Bump-vs-pin check:

Action Old ref New ref Verdict
actions/setup-go v5 v5 ✅ pure pin
actions/checkout v4 v4 ✅ pure pin
dominikh/staticcheck-action v1.3.1 v1.4.1 ⚠️ bump

Not merging. CI is failing (pre-existing on base) and 1 action was bumped.

❌ CI failing (staticcheck, Build (ubuntu-latest, 1.22)) — pre-existing on base (no Go code changed by PR) · ⚠️ bump detected (1 action: dominikh/staticcheck-action@v1.3.1@v1.4.1), human review required

@security-claw

Copy link
Copy Markdown

⚠️ Bump detected (1 action), human review required — dominikh/staticcheck-action@v1.3.1@v1.4.1

❌ CI also failing:

  • staticcheck: golang.org/x/tools/internal/tokeninternal/tokeninternal.go:64:9: invalid array length -delta * delta — may be related to the staticcheck-action bump above
  • Build (ubuntu-latest, 1.22): TestCgroupMemLimitsRead / TestCgroupMemStatsRead FAIL — pre-existing (no Go code changed; no master CI history to compare, runs expired >90 days)

Not merging.

@security-claw

Copy link
Copy Markdown

❌ CI failing — pre-existing on base (not introduced by this PR)

Failing jobs:

  • Build (ubuntu-latest, 1.22) (Go workflow): TestCgroupMemLimitsRead and TestCgroupMemStatsRead fail in cgrouplimits — Go source untouched by this PR
  • staticcheck (StaticCheck workflow): golang.org/x/tools@v0.21.1 build error (invalid array length -delta * delta) — Go toolchain compat issue, not introduced here

No CI history exists on master for direct comparison, but this PR only modifies workflow YAML files; all Go code is unchanged.

⚠️ Bump detected (1 action), human review required:

  • dominikh/staticcheck-action@v1.3.1@v1.4.1

Not merging — needs human review for the version bump and pre-existing CI breakage.

@security-claw

Copy link
Copy Markdown

❌ CI failing + ⚠️ bump detected (1 action) — human review required, not merging.

CI failures:

  • staticcheck (StaticCheck workflow): invalid array length -delta * delta in golang.org/x/tools@v0.21.1 — likely Go toolchain compatibility issue
  • Build (ubuntu-latest, 1.22) (Go workflow): TestCgroupMemLimitsRead / TestCgroupMemStatsRead failing in cgrouplimits package

No prior CI runs exist on master to compare baselines. The Go test failures are pre-existing (no Go code was changed by this PR). The staticcheck failure may be related to the action version bump below.

Bump detected:

  • dominikh/staticcheck-action@v1.3.1@v1.4.1 (minor version bump, not a pure SHA pin of the same version)

The remaining 3 uses: changes (actions/setup-go@v5, actions/checkout@v4 x2) are pure SHA pins of their existing versions.

@security-claw

Copy link
Copy Markdown

⚠️ bump detected (1 action(s)), human review required

Bump-vs-pin analysis:

Action Old ref New ref Status
actions/setup-go v5 v5 ✅ pure pin
actions/checkout (×2) v4 v4 ✅ pure pin
dominikh/staticcheck-action v1.3.1 v1.4.1 ⚠️ version bump

dominikh/staticcheck-action@v1.3.1 -> @v1.4.1 is a minor version upgrade, not a pure SHA pin of the same version. A human should review this bump before merging.

CI note: staticcheck and Build (ubuntu-latest, 1.22) are also failing, but these appear to be pre-existing issues unrelated to this PR (Go toolchain compat error in golang.org/x/tools and cgrouplimits test failures on the runner environment — no Go code was changed by this PR).

@riccardosarro

Copy link
Copy Markdown
Contributor Author

CI workflow was never run before this PR. Assume it was already broken. merging it anyway

@riccardosarro riccardosarro merged commit d957352 into master Jun 23, 2026
2 of 8 checks passed
@riccardosarro riccardosarro deleted the fix/github-action-sha-pinning branch June 23, 2026 09:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

vimeo-sha-pinning-enforcement PRs opened by gha-sha-pinning automation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants