Skip to content

fix(ci): restore reachable standards workflow pins - #73

Merged
hyperpolymath merged 2 commits into
mainfrom
fix/restore-reachable-standards-pin
Sep 8, 2026
Merged

fix(ci): restore reachable standards workflow pins#73
hyperpolymath merged 2 commits into
mainfrom
fix/restore-reachable-standards-pin

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Replace the unreachable standards reusable-workflow commit 7fdc2705df74b4e352d2a1cde3e87a5923fdf329 with reachable standards main commit 092dedada188f56c5915f74a5fd40aac093742c3. The old SHA is an intermediate commit from squash-merged standards PR #596: it exists, but GitHub rejects it for cross-repository reusable workflows before creating jobs. This restores Hypatia/SARIF and the other affected workflows without weakening SHA pinning or branch protection. Estate incident: 251 active workflow files across 70 repositories in hyperpolymath and metadatastician.

@coderabbitai

coderabbitai Bot commented Sep 4, 2026

Copy link
Copy Markdown

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: adaacc5b-bfcc-4e7c-8f50-6ed078219741

📥 Commits

Reviewing files that changed from the base of the PR and between 6b32e98 and 4103723.

📒 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
⚠️ CI failures not shown inline (4)

GitHub Actions: Static Analysis Gate / 3_Hypatia neurosymbolic scan.txt: fix(ci): restore reachable standards workflow pins

Conclusion: failure

View job details

##[group]Run set +e
 �[36;1mset +e�[0m
 �[36;1mHYPATIA_FORMAT=json "$HOME/hypatia/hypatia-cli.sh" scan . --exit-zero > hypatia-findings.json�[0m
 �[36;1mHYP_EXIT=$?�[0m
 �[36;1mset -e�[0m
 �[36;1m�[0m
 �[36;1m# --exit-zero is Hypatia's own documented CI recipe (lib/hypatia/cli.ex),�[0m
 �[36;1m# for exactly this case: "use in CI when a downstream step gates on�[0m
 �[36;1m# severity counts". Findings go to stdout, the one-line summary to�[0m
 �[36;1m# stderr, and the process exits 0 unless the SCANNER itself failed.�[0m
 �[36;1m#�[0m
 �[36;1m# Do NOT redirect stderr into the payload with `2>&1`: that folds the�[0m
 �[36;1m# summary line into the JSON, so every parse fails, the old `[]`�[0m
 �[36;1m# fallback substituted a clean result, CRITICAL was always 0, and the�[0m
 �[36;1m# gate below could never fire on any input. Keep stderr on the log.�[0m
 �[36;1mif [ "$HYP_EXIT" -ne 0 ]; then�[0m
 �[36;1m  echo "::error::Hypatia scanner execution failed with exit ${HYP_EXIT}"�[0m

GitHub Actions: Static Analysis Gate / Hypatia neurosymbolic scan: fix(ci): restore reachable standards workflow pins

Conclusion: failure

View job details

##[group]Run set +e
 �[36;1mset +e�[0m
 �[36;1mHYPATIA_FORMAT=json "$HOME/hypatia/hypatia-cli.sh" scan . --exit-zero > hypatia-findings.json�[0m
 �[36;1mHYP_EXIT=$?�[0m
 �[36;1mset -e�[0m
 �[36;1m�[0m
 �[36;1m# --exit-zero is Hypatia's own documented CI recipe (lib/hypatia/cli.ex),�[0m
 �[36;1m# for exactly this case: "use in CI when a downstream step gates on�[0m
 �[36;1m# severity counts". Findings go to stdout, the one-line summary to�[0m
 �[36;1m# stderr, and the process exits 0 unless the SCANNER itself failed.�[0m
 �[36;1m#�[0m
 �[36;1m# Do NOT redirect stderr into the payload with `2>&1`: that folds the�[0m
 �[36;1m# summary line into the JSON, so every parse fails, the old `[]`�[0m
 �[36;1m# fallback substituted a clean result, CRITICAL was always 0, and the�[0m
 �[36;1m# gate below could never fire on any input. Keep stderr on the log.�[0m
 �[36;1mif [ "$HYP_EXIT" -ne 0 ]; then�[0m
 �[36;1m  echo "::error::Hypatia scanner execution failed with exit ${HYP_EXIT}"�[0m

GitHub Actions: Static Analysis Gate / Hypatia neurosymbolic scan: fix(ci): restore reachable standards workflow pins

Conclusion: failure

View job details

##[group]Run # Findings carry no `.message` (keys: action,file,line,reason,rule_module,
 �[36;1m# Findings carry no `.message` (keys: action,file,line,reason,rule_module,�[0m
 �[36;1m# severity,type), so every annotation read "null". `.file` is an absolute�[0m
 �[36;1m# runner path, which GitHub cannot anchor to the diff, so it is made�[0m
 �[36;1m# workspace-relative here.�[0m
 �[36;1mjq -r --arg ws "$GITHUB_WORKSPACE" '.[] | select(.file != null) |�[0m
 �[36;1m  (.file | ltrimstr($ws + "/")) as $f |�[0m
 �[36;1m  (.reason // .message // .type // "finding") as $m |�[0m
 �[36;1m  if .severity == "critical" then�[0m
 �[36;1m    "::error file=\($f),line=\(.line // 1)::[hypatia] \($m)"�[0m

GitHub Actions: Static Analysis Gate / Hypatia neurosymbolic scan: fix(ci): restore reachable standards workflow pins

Conclusion: failure

View job details

##[group]Run echo "::error::Hypatia found 10 critical security issue(s) — blocking merge"
🔇 Additional comments (1)
.github/workflows/governance.yml (1)

12-12: LGTM!


📝 Summary

Summary by CodeRabbit

  • Chores
    • Updated the secret-scanning workflow to use a newer verified version, maintaining security checks in the development process.
    • Updated workflow permissions to support read-only access to GitHub Actions information where required.

Walkthrough

The CI workflows update the pinned reusable secret-scanner workflow and add read access to the GitHub Actions API.

Changes

CI workflow updates

Layer / File(s) Summary
Workflow permissions and pinning
.github/workflows/secret-scanner.yml, .github/workflows/governance.yml
The secret-scanner workflow uses commit 092dedada188f56c5915f74a5fd40aac093742c3. The governance workflow adds actions: read to its permissions.

Priority: ⬇️ Low — Defer this workflow pin update because it is a narrow CI configuration change that restores governance checks without changing product behavior.

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

Merge Risk: ⚪ Minimal · up to 41037

This restores the affected CI workflows with an immutable reusable-workflow pin and the read-only permission needed by governance checks. No current merge-blocking risk is identified.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description explains the reason for the pin change and its impact. However, it does not follow the repository template because it omits the required Summary, Changes, RSR Quality Checklist, Testin… Update the description to use the repository template. Add the required sections, list the key changes, complete the applicable checklist items, and describe the testing performed.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly describes the primary change: restoring reachable pins for the standards reusable workflows.
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.
Full details: Description check

Explanation

The description explains the reason for the pin change and its impact. However, it does not follow the repository template because it omits the required Summary, Changes, RSR Quality Checklist, Testing, and Screenshots sections.

  • Fix all pre-merge checks with AI
✨ 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

A rabbit checks the workflow pin
Read access hops gently in
The scanner follows its new trail
Governance grants the needed detail
CI moves on with ears held still

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

The reusable at the pinned standards revision requires actions: read. A caller
granting only contents: read dies at startup and reports NO governance checks at
all, silently disarming the whole gate (0 checks instead of 15).

Verified on bofig: run 34200437178 at the patched head reported all 15 governance
jobs; before the patch the run was startup_failure with zero checks.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QMTyDv9CoJo5PfeNzyp519
@sonarqubecloud

sonarqubecloud Bot commented Sep 8, 2026

Copy link
Copy Markdown

@hyperpolymath
hyperpolymath merged commit 48ef78e into main Sep 8, 2026
36 of 37 checks passed
@hyperpolymath
hyperpolymath deleted the fix/restore-reachable-standards-pin branch September 8, 2026 17:47
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