Skip to content

fix(ci): align two straggler action pins to the lockfile standard (cures the main-gate failure) - #866

Merged
hyperpolymath merged 1 commit into
mainfrom
actions-lock-stragglers
Sep 19, 2026
Merged

hyperpolymath merged 1 commit into
mainfrom
actions-lock-stragglers

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

What

Actions Lockfile Gate (uses ⊆ actions.lock) has been failing on every run since
deed-conformance.yml and tag-ruleset-canon.yml landed with pins that were never keyed
in .github/workflows/actions.lock:

workflow old pin new pin
deed-conformance.yml actions/checkout@8e8c483… (v6.0.1) actions/checkout@3d3c42e5… (v7.0.1)
tag-ruleset-canon.yml actions/upload-artifact@ea165f8… (v4.6.2, EOL) actions/upload-artifact@043fb46… (v7.0.1)

Both replacement SHAs are already keyed in the lock (checkout v7.0.1 is the estate
standard in ~30 workflows; upload-artifact v7.0.1 is keyed and used by
apply-workflow-pins.yml + echidna-verify.yml). The lockfile is unchanged: the
gate's own contract is that the lock is the SSOT and workflow pins must match it.

The alternative (keying the old SHAs in the lock) was deliberately rejected: it would
entrench deprecated pins (checkout v6, upload-artifact v4) as estate standard — exactly
the failure mode the gate exists to prevent.

Note: this is not a #865 e-pin issue — the gate skips cross-repo
*/.github/workflows/* refs by design; those were never the failing refs.

Verification

$ bash .githooks/validate-actions-lock.sh
✅ 23 SHA-pinned ref(s) found among 23 lockfile keys, 2 doctrine exception(s)   (exit 0; was 2 errors)
$ git diff --stat -- .github/workflows/actions.lock
(empty)

Risk

Low. Both workflows inherit the exact pins used estate-wide; no job logic changes.

The Actions Lockfile Gate (uses ⊆ actions.lock) has been failing on main
since deed-conformance.yml and tag-ruleset-canon.yml landed with pins that
were never keyed:

  deed-conformance.yml   actions/checkout@8e8c483…   (v6.0.1)
  tag-ruleset-canon.yml  actions/upload-artifact@ea165f8… (v4.6.2)

Both workflows now use the estate-standard pins already present in
.github/workflows/actions.lock:

  actions/checkout@3d3c42e5…          # v7.0.1  (keyed; ~30 workflows)
  actions/upload-artifact@043fb46…    # v7.0.1  (keyed; apply-workflow-pins, echidna-verify)

The lockfile itself is unchanged — the canonical fix per the gate's own
regeneration contract (lock is the SSOT; workflow pins must match it).
The alternative (keying the old SHAs in the lock) was rejected: it would
entrench deprecated pins (checkout v6, upload-artifact v4 — v4 is
end-of-life) as estate standard.

Verified locally:
  bash .githooks/validate-actions-lock.sh  →  ✅ 23 SHA-pinned ref(s) found
  among 23 lockfile keys, 2 doctrine exception(s) (exit 0; was 2 errors)
  git diff --stat -- .github/workflows/actions.lock  → empty
@coderabbitai

coderabbitai Bot commented Sep 19, 2026 •

Copy link
Copy Markdown
Contributor

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Advanced

Run ID: d1e5fe54-9440-4df8-9490-7c9dc7d2807f

📥 Commits

Reviewing files that changed from the base of the PR and between 588bc92 and c83615d.

📒 Files selected for processing (2)
  • .github/workflows/deed-conformance.yml
  • .github/workflows/tag-ruleset-canon.yml

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.

📜 Recent review details
⏰ Context from checks skipped due to timeout. (21)
  • GitHub Check: analyze-actions / analyze
  • GitHub Check: scorecard / Run Scorecard PR
  • GitHub Check: scan / gitleaks
  • GitHub Check: analyze-js / analyze
  • GitHub Check: scan / shell-secrets
  • GitHub Check: scan / rust-secrets
  • GitHub Check: SPARK Theatre Gate
  • GitHub Check: scan / Hypatia Neurosymbolic Analysis
  • GitHub Check: ci / Detect mix.exs
  • GitHub Check: lint
  • GitHub Check: uses ⊆ actions.lock
  • GitHub Check: Check Documentation Format
  • GitHub Check: AffineScript Verify
  • GitHub Check: Lockfile self-consistency
  • GitHub Check: Registry + topology in sync
  • GitHub Check: Detect proof changes
  • GitHub Check: Verify CLAIMS.a2ml + conformance
  • GitHub Check: Scan for hand-authored JavaScript/TypeScript
  • GitHub Check: Repo self-tests
  • GitHub Check: K9-SVC contractile validation
  • GitHub Check: lint
🔇 Additional comments (2)
.github/workflows/deed-conformance.yml (1)

25-25: LGTM!

.github/workflows/tag-ruleset-canon.yml (1)

163-163: LGTM!


📝 Summary

Summary by CodeRabbit

  • Chores
    • Updated the workflow tooling used for conformance checks and report publishing.
    • No changes to workflow logic, conditions, or release behaviour.

Walkthrough

Two GitHub Actions references now use newer pinned versions. Workflow logic, inputs, conditions, and gate behaviour remain unchanged.

Changes

Workflow action updates

Layer / File(s) Summary
Update workflow action pins
.github/workflows/deed-conformance.yml, .github/workflows/tag-ruleset-canon.yml
actions/checkout now uses v7.0.1. actions/upload-artifact now uses v7.0.1. Their workflow behaviour remains unchanged.

Priority: ⬇️ Low

Estimated code review effort: 1 (Trivial) | ~5 minutes

Change: Bug fix

Suggested reviewers: joshuajewell

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the main change: aligning two CI action pins with the lockfile standard. It is specific and relevant to the changeset.
Description check ✅ Passed The description accurately explains the two pin updates, the lockfile gate failure, the unchanged lockfile, and the verification results. It is directly related to the changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

A rabbit checks the pins in line
New action versions now align
The workflows keep their steady beat
No gates or steps retreat
Fresh SHAs make the paths complete

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

@sonarqubecloud

Copy link
Copy Markdown

@hyperpolymath
hyperpolymath merged commit 82e4206 into main Sep 19, 2026
27 of 32 checks passed
@hyperpolymath
hyperpolymath deleted the actions-lock-stragglers branch September 19, 2026 23:19
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.

1 participant