Skip to content

chore(ci): bump governance-reusable pin to standards main - #51

Merged
hyperpolymath merged 1 commit into
mainfrom
chore/bump-governance-pin-to-standards-main
Sep 8, 2026
Merged

hyperpolymath merged 1 commit into
mainfrom
chore/bump-governance-pin-to-standards-main

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Pinned revision 84355587 of governance-reusable.yml carries two bugs that make Governance red on every consumer:

  1. Workflow security linter runs bash scripts/update-actions-lock.sh --verify-local in the caller's checkout, where the script does not exist — exit 127.
  2. Allowlist Preflight runs check-actions-policy.sh with an empty GH_TOKEN — gh refuses, exit 3.

Both are cured on standards main (fad242d35291de1898242d6737ba02b74a59a2f2): the verifier is copied into \$RUNNER_TEMP, and the policy step is skipped when no credential is supplied.

Witness: verified green on hyperpolymath/blocky-writer#55 at this exact SHA — governance run completed/success, 15/15 jobs, including the two jobs that were red on that repo's default branch.

Judge this PR by the set difference against your own default branch (which governance jobs are newly red), not by overall check colour — unrelated build failures may pre-date it.

Co-Authored-By: Claude Opus 5 (1M context) noreply@anthropic.com

The pinned revision carries bugs that make Governance red on every
consumer: the Workflow security linter runs update-actions-lock.sh from
the CALLER's checkout where it does not exist (exit 127), and Allowlist
Preflight runs check-actions-policy.sh with an empty GH_TOKEN (exit 3).

Both are fixed on standards main. Witnessed green on hyperpolymath/blocky-writer
at this exact SHA: governance run completed/success, 15/15 jobs.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@sonarqubecloud

sonarqubecloud Bot commented Sep 7, 2026

Copy link
Copy Markdown

@coderabbitai

coderabbitai Bot commented Sep 7, 2026 •

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Team

Run ID: 682dabc6-13c0-439c-8683-f058df63eb5c

📥 Commits

Reviewing files that changed from the base of the PR and between dafa375 and fa13614.

📒 Files selected for processing (1)
  • .github/workflows/governance.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. (20)
  • GitHub Check: Dogfooding compliance summary
  • GitHub Check: governance / Trusted-base reduction policy
  • GitHub Check: scan / shell-secrets
  • GitHub Check: governance / Licence consistency
  • GitHub Check: governance / Debt ratchet
  • GitHub Check: scan / rust-secrets
  • GitHub Check: governance / Code quality + docs
  • GitHub Check: governance / Live Actions policy (credentialed advisory)
  • GitHub Check: governance / Well-Known (RFC 9116 + RSR)
  • GitHub Check: governance / Workflow security linter
  • GitHub Check: governance / Exemption ratchet
  • GitHub Check: governance / Actions lockfile verify
  • GitHub Check: governance / Language / package anti-pattern policy
  • GitHub Check: governance / Security policy checks
  • GitHub Check: governance / Check Workflow Staleness
  • GitHub Check: scan / gitleaks
  • GitHub Check: scan / Hypatia Neurosymbolic Analysis
  • GitHub Check: governance / Allowlist Preflight
  • GitHub Check: Hypatia neurosymbolic scan
  • GitHub Check: check
⚠️ CI failures not shown inline (4)

GitHub Actions: Estate Rules / 0_estate-rules.txt: chore(ci): bump governance-reusable pin to standards main

Conclusion: failure

View job details

##[group]Run bash scripts/check-root-shape.sh .
 �[36;1mbash scripts/check-root-shape.sh .�[0m
 shell: /usr/bin/bash -e {0}
 ##[endgroup]
 FAIL: 4 root entries are not on the allowlist:
   - .githooks/  (directory)
   - CHANGELOG.adoc
   - CONTRIBUTING.adoc
   - SECURITY.adoc
 Either move them into the appropriate subdirectory, or add a justified
 entry to .machine_readable/root-allow.txt.
 ##[error]Process completed with exit code 1.

GitHub Actions: Workflow Security Linter / 0_lint-workflows.txt: chore(ci): bump governance-reusable pin to standards main

Conclusion: failure

View job details

##[group]Run echo "=== Checking Action Pinning ==="
 �[36;1mecho "=== Checking Action Pinning ==="�[0m
 �[36;1m# Find any uses: lines that don't have `@SHA` format�[0m
 �[36;1m# Pattern: uses: owner/repo@<40-char-hex>�[0m
 �[36;1munpinned=$(grep -rnE "^[[:space:]]+uses:" .github/workflows/ | \�[0m
 �[36;1m  grep -v "@[a-f0-9]\{40\}" | \�[0m
 �[36;1m  grep -v "uses: \./\|uses: docker://\|uses: actions/github-script" || true)�[0m
 �[36;1m�[0m
 �[36;1mif [ -n "$unpinned" ]; then�[0m
 �[36;1m  echo "ERROR: Found unpinned actions:"�[0m
 �[36;1m  echo "$unpinned"�[0m
 �[36;1m  echo ""�[0m
 �[36;1m  echo "Replace version tags with SHA pins, e.g.:"�[0m
 �[36;1m  echo "  uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v6.0.1"�[0m
 �[36;1m  exit 1�[0m
 �[36;1mfi�[0m
 �[36;1mecho "All actions are SHA-pinned"�[0m
 shell: /usr/bin/bash -e {0}
 ##[endgroup]
 === Checking Action Pinning ===
 ERROR: Found unpinned actions:
 .github/workflows/push-email-notify.yml:43:        uses: hyperpolymath/smtp-notify-action@v0.2.0 # NOSONAR — pin authority is actions.lock (sha1-ede1191ef6ff3ac02c4f4d9efdf837ee517e11d7)
 .github/workflows/release.yml:110:        uses: actions/upload-artifact@v7.0.1
 .github/workflows/release.yml:130:        uses: softprops/action-gh-release@v3.0.3
 .github/workflows/boj-build.yml:23:        uses: actions/checkout@v7.0.1
 .github/workflows/dependabot-automerge.yml:56:        uses: dependabot/fetch-metadata@v3.1.0
 .github/workflows/quality.yml:31:        uses: trufflesecurity/trufflehog@v3.97.4
 .github/workflows/quality.yml:45:        uses: editorconfig-checker/action-editorconfig-checker@v3.0.0
 .github/workflows/codeql.yml:35:        uses: actions/checkout@v7.0.1
 .github/workflows/codeql.yml:37:        uses: github/codeql-action/init@v4.37.9
 .github/workflows/codeql.yml:42:        uses: github/codeql-action/analyze@v4.37.9
 .github/workflows/instant-sync.yml:19:        uses: peter-evans/repository-dispatch@v4.0.1
 .github/workflows/action...

GitHub Actions: Estate Rules / estate-rules: chore(ci): bump governance-reusable pin to standards main

Conclusion: failure

View job details

##[group]Run bash scripts/check-root-shape.sh .
 �[36;1mbash scripts/check-root-shape.sh .�[0m
 shell: /usr/bin/bash -e {0}
 ##[endgroup]
 FAIL: 4 root entries are not on the allowlist:
   - .githooks/  (directory)
   - CHANGELOG.adoc
   - CONTRIBUTING.adoc
   - SECURITY.adoc
 Either move them into the appropriate subdirectory, or add a justified
 entry to .machine_readable/root-allow.txt.
 ##[error]Process completed with exit code 1.

GitHub Actions: Workflow Security Linter / lint-workflows: chore(ci): bump governance-reusable pin to standards main

Conclusion: failure

View job details

##[group]Run echo "=== Checking Action Pinning ==="
 �[36;1mecho "=== Checking Action Pinning ==="�[0m
 �[36;1m# Find any uses: lines that don't have `@SHA` format�[0m
 �[36;1m# Pattern: uses: owner/repo@<40-char-hex>�[0m
 �[36;1munpinned=$(grep -rnE "^[[:space:]]+uses:" .github/workflows/ | \�[0m
 �[36;1m  grep -v "@[a-f0-9]\{40\}" | \�[0m
 �[36;1m  grep -v "uses: \./\|uses: docker://\|uses: actions/github-script" || true)�[0m
 �[36;1m�[0m
 �[36;1mif [ -n "$unpinned" ]; then�[0m
 �[36;1m  echo "ERROR: Found unpinned actions:"�[0m
 �[36;1m  echo "$unpinned"�[0m
 �[36;1m  echo ""�[0m
 �[36;1m  echo "Replace version tags with SHA pins, e.g.:"�[0m
 �[36;1m  echo "  uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v6.0.1"�[0m
 �[36;1m  exit 1�[0m
 �[36;1mfi�[0m
 �[36;1mecho "All actions are SHA-pinned"�[0m
 shell: /usr/bin/bash -e {0}
 ##[endgroup]
 === Checking Action Pinning ===
 ERROR: Found unpinned actions:
 .github/workflows/push-email-notify.yml:43:        uses: hyperpolymath/smtp-notify-action@v0.2.0 # NOSONAR — pin authority is actions.lock (sha1-ede1191ef6ff3ac02c4f4d9efdf837ee517e11d7)
 .github/workflows/release.yml:110:        uses: actions/upload-artifact@v7.0.1
 .github/workflows/release.yml:130:        uses: softprops/action-gh-release@v3.0.3
 .github/workflows/boj-build.yml:23:        uses: actions/checkout@v7.0.1
 .github/workflows/dependabot-automerge.yml:56:        uses: dependabot/fetch-metadata@v3.1.0
 .github/workflows/quality.yml:31:        uses: trufflesecurity/trufflehog@v3.97.4
 .github/workflows/quality.yml:45:        uses: editorconfig-checker/action-editorconfig-checker@v3.0.0
 .github/workflows/codeql.yml:35:        uses: actions/checkout@v7.0.1
 .github/workflows/codeql.yml:37:        uses: github/codeql-action/init@v4.37.9
 .github/workflows/codeql.yml:42:        uses: github/codeql-action/analyze@v4.37.9
 .github/workflows/instant-sync.yml:19:        uses: peter-evans/repository-dispatch@v4.0.1
 .github/workflows/action...
🔇 Additional comments (1)
.github/workflows/governance.yml (1)

19-19: LGTM!


📝 Summary

Summary by CodeRabbit

  • Chores
    • Updated the governance workflow reference to a newer version.

Walkthrough

The governance workflow now references a new reusable workflow commit SHA.

Changes

Governance workflow

Layer / File(s) Summary
Update workflow reference
.github/workflows/governance.yml
The governance job now uses commit fad242d35291de1898242d6737ba02b74a59a2f2.

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

Merge Risk: ⚪ Minimal · up to fa136

The governance workflow now uses the updated pinned reusable-workflow revision. No current merge-blocking risk is identified.

Poem

A rabbit checks the workflow line
A fresh commit makes it shine
The governance path hops on through
With one small change to review
Then the rabbit rests in clover anew

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the CI change: updating the governance reusable workflow pin to the standards main revision.
Description check ✅ Passed The description clearly explains the two governance failures, the target revision, the fixes, and successful verification. It does not use the repository template headings or include the checklist, bu…
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 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch

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

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

@hyperpolymath
hyperpolymath merged commit a396993 into main Sep 8, 2026
40 of 46 checks passed
@hyperpolymath
hyperpolymath deleted the chore/bump-governance-pin-to-standards-main branch September 8, 2026 04:51
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