Skip to content

fix(ci): codeql-action v4.38.1 -> v4.38.0 SHA pin + dependabot hold (estate-wide startup_failure) - #90

Merged
hyperpolymath merged 1 commit into
mainfrom
fix/codeql-4381-rollback
Sep 22, 2026
Merged

hyperpolymath merged 1 commit into
mainfrom
fix/codeql-4381-rollback

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Summary

Estate-wide incident: github/codeql-action v4.38.1 fails GitHub workflow startup on every repo that took it — CodeQL/Hypatia runs die with startup_failure, zero jobs dispatched, no error text in any API surface. The evidence chain (full detail: nexia-list#100):

repo ref status
nexia-list @v4.38.1 tag (via dependabot #94) 🔴 startup_failure → fixed by rollback #100 (merged)
hypatia @1c5b675 (4.38.1 SHA) 🔴
vexometer @v4.38.1 🔴 (since Sep-21)
rsr-template-repo @1c5b675 🔴
affinescript / boj-server / deed-ecosystem ≤ v4.38.0 ✅ green

The v4.38.1 tag exists (peels to 1c5b675) and byte-identical workflow content runs under a fresh path — so the failure is the version value itself at GitHub's start-validation layer, not content, permissions (probes with security-events start fine), or the default-setup conflict.

Changes here

  • codeql-reusable.yml, hypatia-scan-reusable.yml: codeql-action/* re-pinned 1c5b675 (v4.38.1) → b96794f0 (v4.38.0 commit; wrong # v3 comments corrected to # v4.38.0).
  • actions.lock: re-keyed to the v4.38.0 SHA entries (dependabot bumped the reusable pins without regenerating the lock).
  • dependabot.yml: full hold on github/codeql-action — scoped versions: ignores do NOT hold for this bot path (nexia-list#101 re-raised the bump in SHA form within an hour, copying the inline warning comment verbatim while swapping the SHA).

Follow-ups

Consumer rollbacks shipped in the same batch: nexia-list (merged ✅), hypatia, vexometer, rsr-template-repo, metadatastician/burble (each with the same dependabot hold). Reconsider the hold when upstream clears v4.38.1 or a newer release verifies green on one canary repo.

v4.38.1 (tag AND commit SHA 1c5b675) fails GitHub workflow-startup
validation estate-wide: codeql/hypatia runs die with startup_failure,
zero jobs, no API error text. Full investigation + evidence chain:
nexia-list#100. Rollback to the v4.38.0 commit
b96794f015dfd88f77b49b1c93e0fa7110f94c63 (matches green deed-ecosystem;
satisfies repo SHA-pin policy), actions.lock re-keyed where present.

Dependabot held at v4.38.0 unconditionally: versions-scoped ignores were
bypassed downstream (nexia-list#101 re-raised the bump in SHA form,
copying the inline warning comment while swapping the SHA).

Canonical fix at origin: hyperpolymath/standards#973. Batch-mates:
nexia-list#100 (merged), hypatia, vexometer, rsr-template-repo, burble.
@coderabbitai

coderabbitai Bot commented Sep 22, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

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: 159cb8aa-2869-4530-bc7a-7a0390f016b9

📥 Commits

Reviewing files that changed from the base of the PR and between 2e896c9 and fca6bb5.

📒 Files selected for processing (2)
  • .github/dependabot.yml
  • .github/workflows/codeql.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. (14)
  • GitHub Check: governance / Well-Known (RFC 9116 + RSR)
  • GitHub Check: governance / Workflow security linter
  • GitHub Check: governance / Security policy checks
  • GitHub Check: governance / Trusted-base reduction policy
  • GitHub Check: governance / Guix primary / Nix fallback policy
  • GitHub Check: governance / Licence consistency
  • GitHub Check: governance / Check Workflow Staleness
  • GitHub Check: governance / Language / package anti-pattern policy
  • GitHub Check: governance / Code quality + docs
  • GitHub Check: scan / rust-secrets
  • GitHub Check: scan / gitleaks
  • GitHub Check: hypatia / Hypatia Neurosymbolic Analysis
  • GitHub Check: scan / shell-secrets
  • GitHub Check: lint-workflows
⚠️ CI failures not shown inline (2)

GitHub Actions: Workflow Security Linter / 0_lint-workflows.txt: fix(ci): codeql-action v4.38.1 -> v4.38.0 SHA pin + dependabot hold (estate-wide startup_failure)

Conclusion: failure

View job details

##[group]Run errors=0
 �[36;1merrors=0�[0m
 �[36;1mfor f in .github/workflows/*.yml .github/workflows/*.yaml; do�[0m
 �[36;1m  [ -f "$f" ] || continue�[0m
 �[36;1m  if ! head -1 "$f" | grep -q "SPDX-License-Identifier"; then�[0m
 �[36;1m    echo "ERROR: $f missing SPDX header"�[0m
 �[36;1m    errors=$((errors + 1))�[0m
 �[36;1m  fi�[0m
 �[36;1mdone�[0m
 �[36;1mexit $errors�[0m
 shell: /usr/bin/bash -e {0}
 ##[endgroup]
 ERROR: .github/workflows/boj-build.yml missing SPDX header
 ERROR: .github/workflows/casket-pages.yml missing SPDX header
 ERROR: .github/workflows/codeql.yml missing SPDX header
 ERROR: .github/workflows/governance.yml missing SPDX header
 ERROR: .github/workflows/hypatia-scan.yml missing SPDX header
 ERROR: .github/workflows/instant-sync.yml missing SPDX header
 ERROR: .github/workflows/label-triage.yml missing SPDX header
 ERROR: .github/workflows/labels.yml missing SPDX header
 ERROR: .github/workflows/mirror.yml missing SPDX header
 ERROR: .github/workflows/pages.yml missing SPDX header
 ERROR: .github/workflows/push-email-notify.yml missing SPDX header
 ERROR: .github/workflows/quality-gates.yml missing SPDX header
 ERROR: .github/workflows/secret-scanner.yml missing SPDX header
 ERROR: .github/workflows/workflow-linter.yml missing SPDX header
 ##[error]Process completed with exit code 14.

GitHub Actions: Workflow Security Linter / lint-workflows: fix(ci): codeql-action v4.38.1 -> v4.38.0 SHA pin + dependabot hold (estate-wide startup_failure)

Conclusion: failure

View job details

##[group]Run errors=0
 �[36;1merrors=0�[0m
 �[36;1mfor f in .github/workflows/*.yml .github/workflows/*.yaml; do�[0m
 �[36;1m  [ -f "$f" ] || continue�[0m
 �[36;1m  if ! head -1 "$f" | grep -q "SPDX-License-Identifier"; then�[0m
 �[36;1m    echo "ERROR: $f missing SPDX header"�[0m
 �[36;1m    errors=$((errors + 1))�[0m
 �[36;1m  fi�[0m
 �[36;1mdone�[0m
 �[36;1mexit $errors�[0m
 shell: /usr/bin/bash -e {0}
 ##[endgroup]
 ERROR: .github/workflows/boj-build.yml missing SPDX header
 ERROR: .github/workflows/casket-pages.yml missing SPDX header
 ERROR: .github/workflows/codeql.yml missing SPDX header
 ERROR: .github/workflows/governance.yml missing SPDX header
 ERROR: .github/workflows/hypatia-scan.yml missing SPDX header
 ERROR: .github/workflows/instant-sync.yml missing SPDX header
 ERROR: .github/workflows/label-triage.yml missing SPDX header
 ERROR: .github/workflows/labels.yml missing SPDX header
 ERROR: .github/workflows/mirror.yml missing SPDX header
 ERROR: .github/workflows/pages.yml missing SPDX header
 ERROR: .github/workflows/push-email-notify.yml missing SPDX header
 ERROR: .github/workflows/quality-gates.yml missing SPDX header
 ERROR: .github/workflows/secret-scanner.yml missing SPDX header
 ERROR: .github/workflows/workflow-linter.yml missing SPDX header
 ##[error]Process completed with exit code 14.
🧰 Additional context used
🪛 GitHub Actions: Workflow Security Linter / 0_lint-workflows.txt
.github/workflows/codeql.yml

[error] 1-1: Workflow is missing the required SPDX-License-Identifier header.

🪛 GitHub Actions: Workflow Security Linter / lint-workflows
.github/workflows/codeql.yml

[error] 1-1: Missing SPDX-License-Identifier header.

🪛 YAMLlint (1.37.1)
.github/dependabot.yml

[error] 19-19: too many blank lines (1 > 0)

(empty-lines)

🔇 Additional comments (1)
.github/workflows/codeql.yml (1)

37-37: LGTM!

Also applies to: 43-43, 46-46


📝 Summary

Summary by CodeRabbit

  • Chores
    • Pinned CodeQL workflow actions to version 4.38.0 to maintain reliable workflow validation.
    • Prevented automated dependency updates from changing the pinned CodeQL action version.

Walkthrough

The CodeQL workflow now pins three action steps to the v4.38.0 commit. Dependabot ignores all updates to github/codeql-action and documents the version hold.

Changes

CodeQL version hold

Layer / File(s) Summary
Pin CodeQL workflow actions
.github/workflows/codeql.yml
The init, autobuild, and analyze steps now use commit b96794f015dfd88f77b49b1c93e0fa7110f94c63, annotated as v4.38.0.
Suppress CodeQL action updates
.github/dependabot.yml
Dependabot now ignores all updates to github/codeql-action. The comment records the pinned revision and the reason for the hold.

Priority: ⬆️ High

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

Change: Bug fix

Merge Risk: ⚪ Minimal · up to fca6b

The CodeQL rollback and version hold are consistent and introduce no identified merge-blocking risk.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the CodeQL action rollback to v4.38.0, the SHA pin, and the Dependabot hold. It accurately summarises the main changes.
Description check ✅ Passed The description directly explains the v4.38.1 startup_failure incident, the rollback, and the Dependabot hold. It is 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.
✨ Finishing Touches
🛠️ Fix failing CI checks
  • Commit to this branch
  • Create a new PR

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 pinned code,
The workflow hops along its road,
Dependabot rests its ears,
No newer tag can reach these gears,
Four paws guard the version load.

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

@coderabbitai

coderabbitai Bot commented Sep 22, 2026 •

Copy link
Copy Markdown

✅ Coding Agent task started: View task and status

The task will inspect the CI failures, validate its fix, and open a stacked fix pull request automatically.

Note: Fixing CI failures is a beta feature and may encounter errors. Expect some limitations and changes as we gather feedback and continue to improve it.

⏭️ 1 check(s) skipped — already failing on `main` (not caused by this PR)
  • GitHub Actions: Workflow Security Linter / 0_lint-workflows.txt

@hyperpolymath
hyperpolymath merged commit 914a842 into main Sep 22, 2026
16 of 19 checks passed
@hyperpolymath
hyperpolymath deleted the fix/codeql-4381-rollback branch September 22, 2026 12:01
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