Skip to content

fix(ci): reconcile the workflows with actions.lock (gh-actions-lock) - #331

Merged
hyperpolymath merged 1 commit into
mainfrom
fix/sha-pin-actions
Sep 20, 2026
Merged

hyperpolymath merged 1 commit into
mainfrom
fix/sha-pin-actions

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

fix(ci): reconcile the workflows with actions.lock (gh-actions-lock v0.1.6)

actions.lock is authoritative: the workflows carry readable refs and the lock records the
commit each ref resolves to, which is what actually runs. Refs that stop matching the manifest
make the whole repository unstartable — startup_failure, "Invalid lockfile".

Regenerated with the official extension (github/gh-actions-lock). The hand-pinned SHA refs are
reverted to their readable form here precisely because the lockfile, not the workflow, is what
pins them.

…0.1.6)

`actions.lock` is authoritative: the workflows carry readable refs and the lock records the
commit each ref resolves to, which is what actually runs. Refs that stop matching the manifest
make the whole repository unstartable — `startup_failure`, "Invalid lockfile".

Regenerated with the official extension (`github/gh-actions-lock`). The hand-pinned SHA refs are
reverted to their readable form here precisely because the lockfile, not the workflow, is what
pins them.
@coderabbitai

coderabbitai Bot commented Sep 19, 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: 3498622a-c997-4939-8973-78b0883cc474

📥 Commits

Reviewing files that changed from the base of the PR and between 83154c6 and fbefc0f.

⛔ Files ignored due to path filters (1)
  • .github/workflows/actions.lock is excluded by !**/*.lock
📒 Files selected for processing (27)
  • .github/workflows/abi-drift.yml
  • .github/workflows/backend-assurance.yml
  • .github/workflows/build.yml
  • .github/workflows/codeql.yml
  • .github/workflows/container-publish.yml
  • .github/workflows/dogfood-gate.yml
  • .github/workflows/e2e.yml
  • .github/workflows/fuzz.yml
  • .github/workflows/governance.yml
  • .github/workflows/hcg-surface-drift.yml
  • .github/workflows/hypatia-scan.yml
  • .github/workflows/instant-sync.yml
  • .github/workflows/label-triage.yml
  • .github/workflows/labels.yml
  • .github/workflows/lsp-dap-bsp.yml
  • .github/workflows/mirror.yml
  • .github/workflows/pages-deploy.yml
  • .github/workflows/pages.yml
  • .github/workflows/proofs.yml
  • .github/workflows/publish.yml
  • .github/workflows/push-email-notify.yml
  • .github/workflows/readme-derive.yml
  • .github/workflows/release.yml
  • .github/workflows/scorecard.yml
  • .github/workflows/secret-scanner.yml
  • .github/workflows/truthfulness.yml
  • .github/workflows/zig-test.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. (33)
  • GitHub Check: governance / Allowlist Preflight
  • GitHub Check: governance / Licence consistency
  • GitHub Check: governance / Debt ratchet
  • GitHub Check: scan / shell-secrets
  • GitHub Check: governance / Language / package anti-pattern policy
  • GitHub Check: governance / Code quality + docs
  • GitHub Check: scan / rust-secrets
  • GitHub Check: governance / Security policy checks
  • GitHub Check: governance / Exemption ratchet
  • GitHub Check: governance / Well-Known (RFC 9116 + RSR)
  • GitHub Check: governance / Workflow security linter
  • GitHub Check: governance / Trusted-base reduction policy
  • GitHub Check: governance / Check Workflow Staleness
  • GitHub Check: scan / gitleaks
  • GitHub Check: governance / Guix packaging policy (Nix retired)
  • GitHub Check: Hypatia Neurosymbolic Analysis
  • GitHub Check: Validate eclexiaiser manifest
  • GitHub Check: Empty-linter (invisible characters)
  • GitHub Check: Detect relevant changes
  • GitHub Check: Bridge — bun (unit + boot smoke)
  • GitHub Check: Validate A2ML manifests
  • GitHub Check: Bridge — deno (unit + boot smoke)
  • GitHub Check: Groove manifest check
  • GitHub Check: analyze (javascript-typescript, none)
  • GitHub Check: Detect relevant changes
  • GitHub Check: Detect relevant changes
  • GitHub Check: Detect relevant changes
  • GitHub Check: SonarQube
  • GitHub Check: Detect relevant changes
  • GitHub Check: Detect relevant changes
  • GitHub Check: Validate K9 contracts
  • GitHub Check: Bridge — node (unit + boot smoke)
  • GitHub Check: Detect relevant changes

📝 Summary

Summary by CodeRabbit

  • Chores
    • Standardised GitHub Actions workflow management with consistent automation markers.
    • Updated workflow action references across CI, testing, security scanning, publishing and deployment processes.
    • Retired obsolete cartridge-change detection gates while preserving required check completion.
    • Workflow triggers, permissions and existing job behaviour remain unchanged.

Walkthrough

The pull request updates GitHub Actions workflow headers and action references across .github/workflows. Most references move between commit SHA pins and version tags. ABI drift gating is also adjusted for the relocated cartridges/ tree.

Changes

Workflow maintenance

Layer / File(s) Summary
Workflow management headers
.github/workflows/*
Workflow files add or consolidate the gh actions-lock management comment.
Action reference updates
.github/workflows/*
Action references are updated across checkout, setup, cache, upload, deployment, scanning, and release steps. The publish.yml workflow changes selected references back to full commit SHA pins with version comments. ABI drift detection now emits run=false, and its verification job remains gated by that output.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~15 minutes

Change: Bug fix

Possibly related PRs

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description explains the purpose and tool used, but it does not follow the repository template. It omits the required ## Summary, ## Changes, ## RSR Quality Checklist, ## Testing, and `## … Rewrite the description using the repository template. Add the required sections, list the key changes, mark each applicable checklist item, and describe the testing performed. State when sections such as screenshots are not applicable.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly describes the main change: reconciling CI workflows with actions.lock and gh-actions-lock.
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 purpose and tool used, but it does not follow the repository template. It omits the required ## Summary, ## Changes, ## RSR Quality Checklist, ## Testing, and ## Screenshots sections, and it provides no test results or checklist status.

  • Fix all pre-merge checks with AI

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 line,
Tags and pins now neatly align.
Headers mark the lock in place,
Gates report their current state.
CI hops through every sign.

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

✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Commit to this branch
  • Create a new PR

@@ -1,3 +1,4 @@
# This workflow is managed by gh actions-lock.
@@ -1,3 +1,4 @@
# This workflow is managed by gh actions-lock.
Comment thread .github/workflows/e2e.yml
@@ -1,3 +1,4 @@
# This workflow is managed by gh actions-lock.
Comment thread .github/workflows/e2e.yml
@@ -1,3 +1,4 @@
# This workflow is managed by gh actions-lock.
@@ -1,3 +1,4 @@
# This workflow is managed by gh actions-lock.
@@ -1,3 +1,4 @@
# This workflow is managed by gh actions-lock.
@github-actions

Copy link
Copy Markdown

🔍 Hypatia Security Scan

Findings: 108 issues detected

Severity Count
🔴 Critical 11
🟠 High 16
🟡 Medium 81

⚠️ Action Required: Critical security issues found!

View findings
[
  {
    "reason": "Job `sonarqube` in build.yml has no `timeout-minutes:` declaration. Default is 6 hours — a stuck codeload fetch or runner hang can burn budget. Add `timeout-minutes: 10` (or proportional).",
    "type": "missing_timeout_minutes",
    "file": "build.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium",
    "recipe_id": "recipe-add-workflow-timeout-minutes",
    "job": "sonarqube"
  },
  {
    "reason": "Job `triage` in label-triage.yml has no `timeout-minutes:` declaration. Default is 6 hours — a stuck codeload fetch or runner hang can burn budget. Add `timeout-minutes: 10` (or proportional).",
    "type": "missing_timeout_minutes",
    "file": "label-triage.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium",
    "recipe_id": "recipe-add-workflow-timeout-minutes",
    "job": "triage"
  },
  {
    "reason": "Job `sync` in labels.yml has no `timeout-minutes:` declaration. Default is 6 hours — a stuck codeload fetch or runner hang can burn budget. Add `timeout-minutes: 10` (or proportional).",
    "type": "missing_timeout_minutes",
    "file": "labels.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium",
    "recipe_id": "recipe-add-workflow-timeout-minutes",
    "job": "sync"
  },
  {
    "reason": "Job `deploy` in pages-deploy.yml has no `timeout-minutes:` declaration. Default is 6 hours — a stuck codeload fetch or runner hang can burn budget. Add `timeout-minutes: 10` (or proportional).",
    "type": "missing_timeout_minutes",
    "file": "pages-deploy.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium",
    "recipe_id": "recipe-add-workflow-timeout-minutes",
    "job": "deploy"
  },
  {
    "reason": "Step uses `peter-evans/repository-dispatch` with `token: ${{ secrets.FARM_DISPATCH_TOKEN }}` but has no `if: secrets.FARM_DISPATCH_TOKEN != ''` gate. On repos where the secret hasn't been propagated the action fails on every push, red-maining the repo. Add the step-level gate (or env+if pattern) so the missing-secret path is a clean skip instead of a red.",
    "type": "secret_action_without_presence_gate",
    "file": "instant-sync.yml",
    "action": "peter-evans/repository-dispatch",
    "rule_module": "workflow_audit",
    "severity": "high",
    "fix_recipe": "add_secret_presence_gate"
  },
  {
    "reason": "codeql.yml does not list `language: actions` in its matrix, but the repo has workflow files. CodeQL's `actions` language scans workflow YAML for injection and other CI/CD-specific weaknesses — every repo with workflows benefits. Add an entry to `matrix.include` with `language: actions` + `build-mode: none`.",
    "type": "codeql_missing_actions_language",
    "file": "codeql.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium",
    "fix_recipe": "add_codeql_actions_language"
  },
  {
    "line": 32,
    "reason": "job in .github/workflows/build.yml references `secrets.*` but does not install `step-security/harden-runner` — review outbound-egress monitoring",
    "type": "RE001",
    "file": ".github/workflows/build.yml",
    "action": "report",
    "rule_module": "research_extensions",
    "severity": "warn"
  },
  {
    "line": 46,
    "reason": "job in .github/workflows/push-email-notify.yml references `secrets.*` but does not install `step-security/harden-runner` — review outbound-egress monitoring",
    "type": "RE001",
    "file": ".github/workflows/push-email-notify.yml",
    "action": "report",
    "rule_module": "research_extensions",
    "severity": "warn"
  },
  {
    "line": 158,
    "reason": "job in .github/workflows/release.yml references `secrets.*` but does not install `step-security/harden-runner` — review outbound-egress monitoring",
    "type": "RE001",
    "file": ".github/workflows/release.yml",
    "action": "report",
    "rule_module": "research_extensions",
    "severity": "warn"
  },
  {
    "line": 49,
    "reason": "job in .github/workflows/publish.yml references `secrets.*` but does not install `step-security/harden-runner` — review outbound-egress monitoring",
    "type": "RE001",
    "file": ".github/workflows/publish.yml",
    "action": "report",
    "rule_module": "research_extensions",
    "severity": "warn"
  }
]

Powered by Hypatia Neurosymbolic CI/CD Intelligence

@hyperpolymath
hyperpolymath merged commit 36d8ceb into main Sep 20, 2026
48 of 54 checks passed
@hyperpolymath
hyperpolymath deleted the fix/sha-pin-actions branch September 20, 2026 00:36
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