Skip to content

fix(ci): regenerate actions.lock + repoint a nonexistent ruby pin - #16

Merged
hyperpolymath merged 1 commit into
mainfrom
fix/regenerate-actions-lock
Aug 26, 2026
Merged

fix(ci): regenerate actions.lock + repoint a nonexistent ruby pin#16
hyperpolymath merged 1 commit into
mainfrom
fix/regenerate-actions-lock

Conversation

@hyperpolymath

Copy link
Copy Markdown
Contributor

Two causes, both diagnosed against metadatastician/metadatastician-governance#24.

1. Lockfile version drift — 12 entries

Dependabot bumped actions in the workflows; actions.lock was never regenerated. Each affected workflow then requested a version the lock did not record and died at startup_failure with zero jobs.

The detector named exactly the workflows that were deadts-blocker.yml, guix-nix-policy.yml, npm-bun-blocker.yml, jekyll-gh-pages.yml. That match is what identified the cause rather than guessing at it.

2. A phantom action SHA

jekyll.yml pinned:

ruby/setup-ruby@f8cf14e635c2ba2c0f287d9b0c5f442c52c91bee  # v1.210.0

That commit does not exist. gh api repos/ruby/setup-ruby/commits/<sha> returns 422, and gh actions-lock refused to resolve it. A workflow that cannot resolve an action can never start.

Repointed to v1.321.0 (95ef2b04…), verified present.

Same class as the standards phantom SHA 5b1d0022 fixed estate-wide on 2026-08-25 — a plausible-looking 40-hex string that resolves to nothing.

After

  • 32/32 lockfile coverage
  • drift detector: clean

🤖 Generated with Claude Code

Two causes, both diagnosed against metadatastician-governance#24.

1. LOCKFILE VERSION DRIFT (12 entries).

   Dependabot bumped actions in the workflows; actions.lock was never
   regenerated, so each workflow requested a version the lock did not
   record and died at startup_failure with zero jobs.

   The drift detector's output named exactly the workflows that were
   dead -- ts-blocker.yml, guix-nix-policy.yml, npm-bun-blocker.yml,
   jekyll-gh-pages.yml -- which is what identified the cause rather than
   guessing at it.

2. A PHANTOM ACTION SHA.

   jekyll.yml pinned ruby/setup-ruby@f8cf14e
   (commented '# v1.210.0'). That commit DOES NOT EXIST in
   ruby/setup-ruby -- 'gh api .../commits/<sha>' returns 422, and
   gh actions-lock refused to resolve it. A workflow that cannot resolve
   an action can never start.

   Repointed to v1.321.0 (95ef2b04...), verified to exist.

   Same class as the standards phantom SHA 5b1d0022 fixed estate-wide on
   2026-08-25: a plausible-looking 40-hex string that resolves to
   nothing.

After both fixes: 32/32 lockfile coverage, drift detector clean.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@hyperpolymath
hyperpolymath merged commit 37fd7b2 into main Aug 26, 2026
@hyperpolymath
hyperpolymath deleted the fix/regenerate-actions-lock branch August 26, 2026 17:28
@sonarqubecloud

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
C Security Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

@gitar-bot

gitar-bot Bot commented Aug 26, 2026

Copy link
Copy Markdown

Important

You are using the Gitar free plan. Upgrade to unlock code review, CI analysis, auto-apply, custom automations, and more.

Gitar

steps:
- uses: actions/checkout@v7.0.1
- uses: ruby/setup-ruby@f8cf14e635c2ba2c0f287d9b0c5f442c52c91bee # v1.210.0
- uses: ruby/setup-ruby@v1.321.0
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.

2 participants