Skip to content

ci(actions-lock): bring actions.lock back in line with the workflows - #104

Merged
hyperpolymath merged 1 commit into
mainfrom
ci/actions-lock-repair
Oct 27, 2026
Merged

hyperpolymath merged 1 commit into
mainfrom
ci/actions-lock-repair

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Summary

actions.lock had drifted from the workflow files. Dependabot bumped actions in the YAML without regenerating the lock, and the SLSA generator call was never locked. GitHub refuses to start a workflow whose uses: set doesn't match its lock entries. No workflow file changes.

Changes

  • push-email-notify.yml: hyperpolymath/smtp-notify-action@v0.3.0 → @v0.5.0
  • release.yml: actions/upload-artifact@v7.0.1 → @v7.0.2; add the missing entry for slsa-framework/slsa-github-generator@f7dd8c54…
  • static-analysis-gate.yml: actions/download-artifact@v8.0.1 → @v8.0.2, actions/upload-artifact@v7.0.1 → @v7.0.2
  • New records for download-artifact@v8.0.2, smtp-notify-action@v0.5.0 and the SLSA generator (ref: 'v2.1.0', with the IDs seven other estate lockfiles record), and the three old records removed now that nothing references them

Each new record's commit was checked against the upstream tag with git ls-remote. No commit an existing entry pins was changed.

RSR Quality Checklist

Required

  • No banned language patterns
  • No secrets, credentials, or .env files included

Testing

  • standards' scripts/check-lock-sync.sh reports no mismatch except the hyperpolymath/standards reusable refs, which this PR leaves alone (see below).
  • Every lock entry has a dependency record.

Not fixed here

The standards reusables stay red. Re-pinning them to a current standards commit makes them fail at startup with zero jobs; I tested that on hyperpolymath/presswerk#138. That has to be fixed in standards.


Generated by Claude Code

The lock had drifted from the workflow files. GitHub refuses to start a
workflow whose uses: set doesn't match its lock entries, and rejects a
lock entry that records its own SHA as ref.

- `push-email-notify.yml`: `hyperpolymath/smtp-notify-action@v0.3.0` → `hyperpolymath/smtp-notify-action@v0.5.0` (the workflow already uses `v0.5.0`)
- `release.yml`: `actions/upload-artifact@v7.0.1` → `actions/upload-artifact@v7.0.2` (the workflow already uses `v7.0.2`)
- `release.yml`: add the missing entry `slsa-framework/slsa-github-generator@f7dd8c54c2067bafc12ca7a55595d5ee9b75204a`
- `static-analysis-gate.yml`: `actions/download-artifact@v8.0.1` → `actions/download-artifact@v8.0.2` (the workflow already uses `v8.0.2`)
- `static-analysis-gate.yml`: `actions/upload-artifact@v7.0.1` → `actions/upload-artifact@v7.0.2` (the workflow already uses `v7.0.2`)
- new record `actions/download-artifact@v8.0.2` (ref `v8.0.2`, commit `9000827ccba6…`)
- new record `hyperpolymath/smtp-notify-action@v0.5.0` (ref `v0.5.0`, commit `c1c9fa07992a…`)
- new record `slsa-framework/slsa-github-generator@f7dd8c54c2067bafc12ca7a55595d5ee9b75204a` (ref `v2.1.0`, commit `f7dd8c54c206…`)
- remove the record `actions/download-artifact@v8.0.1`, which no entry references any more
- remove the record `actions/upload-artifact@v7.0.1`, which no entry references any more
- remove the record `hyperpolymath/smtp-notify-action@v0.3.0`, which no entry references any more

Each new record's commit was checked against the upstream tag with git
ls-remote. No commit an existing entry pins was changed. Standards
reusable pins are left as they are.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0132Cdz3iwk2QGKv2sUhhsye
@coderabbitai

coderabbitai Bot commented Oct 27, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Review was skipped due to path filters

⛔ Files ignored due to path filters: 1
  • .github/workflows/actions.lock is excluded by !**/*.lock

CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including **/dist/** will override the default block on the dist directory, by removing the pattern from both the lists.

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 78c62cd2-1feb-476d-9b09-8ab373c32e83

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

@sonarqubecloud

Copy link
Copy Markdown

@linear-code
linear-code Bot marked this pull request as ready for review October 27, 2026 01:33
@github-actions

Copy link
Copy Markdown

🔍 Hypatia Security Scan

Findings: 173 issues detected

Severity Count
🔴 Critical 9
🟠 High 14
🟡 Medium 150

⚠️ Action Required: Critical security issues found!

View findings
[
  {
    "reason": "Job `trigger-boj` in boj-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": ".github/workflows/boj-build.yml",
    "level": "epi",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium",
    "recipe_id": "recipe-add-workflow-timeout-minutes",
    "job": "trigger-boj",
    "evidence": [
      {
        "span": {
          "file": ".github/workflows/boj-build.yml",
          "end_line": 0,
          "start_line": 0
        },
        "rule": "workflow_audit/missing_timeout_minutes",
        "observations": 1,
        "rule_version": "0.1.0"
      }
    ],
    "support": {
      "kind": "pattern"
    }
  },
  {
    "reason": "Job `analyze` in codeql.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": ".github/workflows/codeql.yml",
    "level": "epi",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium",
    "recipe_id": "recipe-add-workflow-timeout-minutes",
    "job": "analyze",
    "evidence": [
      {
        "span": {
          "file": ".github/workflows/codeql.yml",
          "end_line": 0,
          "start_line": 0
        },
        "rule": "workflow_audit/missing_timeout_minutes",
        "observations": 1,
        "rule_version": "0.1.0"
      }
    ],
    "support": {
      "kind": "pattern"
    }
  },
  {
    "reason": "Job `automerge` in dependabot-automerge.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": ".github/workflows/dependabot-automerge.yml",
    "level": "epi",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium",
    "recipe_id": "recipe-add-workflow-timeout-minutes",
    "job": "automerge",
    "evidence": [
      {
        "span": {
          "file": ".github/workflows/dependabot-automerge.yml",
          "end_line": 0,
          "start_line": 0
        },
        "rule": "workflow_audit/missing_timeout_minutes",
        "observations": 1,
        "rule_version": "0.1.0"
      }
    ],
    "support": {
      "kind": "pattern"
    }
  },
  {
    "reason": "Job `a2ml-validate` in dogfood-gate.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": ".github/workflows/dogfood-gate.yml",
    "level": "epi",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium",
    "recipe_id": "recipe-add-workflow-timeout-minutes",
    "job": "a2ml-validate",
    "evidence": [
      {
        "span": {
          "file": ".github/workflows/dogfood-gate.yml",
          "end_line": 0,
          "start_line": 0
        },
        "rule": "workflow_audit/missing_timeout_minutes",
        "observations": 1,
        "rule_version": "0.1.0"
      }
    ],
    "support": {
      "kind": "pattern"
    }
  },
  {
    "reason": "Job `dogfood-summary` in dogfood-gate.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": ".github/workflows/dogfood-gate.yml",
    "level": "epi",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium",
    "recipe_id": "recipe-add-workflow-timeout-minutes",
    "job": "dogfood-summary",
    "evidence": [
      {
        "span": {
          "file": ".github/workflows/dogfood-gate.yml",
          "end_line": 0,
          "start_line": 0
        },
        "rule": "workflow_audit/missing_timeout_minutes",
        "observations": 1,
        "rule_version": "0.1.0"
      }
    ],
    "support": {
      "kind": "pattern"
    }
  },
  {
    "reason": "Job `eclexiaiser-validate` in dogfood-gate.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": ".github/workflows/dogfood-gate.yml",
    "level": "epi",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium",
    "recipe_id": "recipe-add-workflow-timeout-minutes",
    "job": "eclexiaiser-validate",
    "evidence": [
      {
        "span": {
          "file": ".github/workflows/dogfood-gate.yml",
          "end_line": 0,
          "start_line": 0
        },
        "rule": "workflow_audit/missing_timeout_minutes",
        "observations": 1,
        "rule_version": "0.1.0"
      }
    ],
    "support": {
      "kind": "pattern"
    }
  },
  {
    "reason": "Job `empty-lint` in dogfood-gate.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": ".github/workflows/dogfood-gate.yml",
    "level": "epi",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium",
    "recipe_id": "recipe-add-workflow-timeout-minutes",
    "job": "empty-lint",
    "evidence": [
      {
        "span": {
          "file": ".github/workflows/dogfood-gate.yml",
          "end_line": 0,
          "start_line": 0
        },
        "rule": "workflow_audit/missing_timeout_minutes",
        "observations": 1,
        "rule_version": "0.1.0"
      }
    ],
    "support": {
      "kind": "pattern"
    }
  },
  {
    "reason": "Job `groove-check` in dogfood-gate.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": ".github/workflows/dogfood-gate.yml",
    "level": "epi",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium",
    "recipe_id": "recipe-add-workflow-timeout-minutes",
    "job": "groove-check",
    "evidence": [
      {
        "span": {
          "file": ".github/workflows/dogfood-gate.yml",
          "end_line": 0,
          "start_line": 0
        },
        "rule": "workflow_audit/missing_timeout_minutes",
        "observations": 1,
        "rule_version": "0.1.0"
      }
    ],
    "support": {
      "kind": "pattern"
    }
  },
  {
    "reason": "Job `k9-validate` in dogfood-gate.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": ".github/workflows/dogfood-gate.yml",
    "level": "epi",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium",
    "recipe_id": "recipe-add-workflow-timeout-minutes",
    "job": "k9-validate",
    "evidence": [
      {
        "span": {
          "file": ".github/workflows/dogfood-gate.yml",
          "end_line": 0,
          "start_line": 0
        },
        "rule": "workflow_audit/missing_timeout_minutes",
        "observations": 1,
        "rule_version": "0.1.0"
      }
    ],
    "support": {
      "kind": "pattern"
    }
  },
  {
    "reason": "Job `estate-rules` in estate-rules.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": ".github/workflows/estate-rules.yml",
    "level": "epi",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium",
    "recipe_id": "recipe-add-workflow-timeout-minutes",
    "job": "estate-rules",
    "evidence": [
      {
        "span": {
          "file": ".github/workflows/estate-rules.yml",
          "end_line": 0,
          "start_line": 0
        },
        "rule": "workflow_audit/missing_timeout_minutes",
        "observations": 1,
        "rule_version": "0.1.0"
      }
    ],
    "support": {
      "kind": "pattern"
    }
  }
]

Powered by Hypatia Neurosymbolic CI/CD Intelligence

Copy link
Copy Markdown
Owner Author

CI note: the red checks on this PR don't come from this change. The PR edits only .github/workflows/actions.lock.

  • Validate DEED manifests, Validate K9 contracts, openssf-compliance, skeleton-drift: all four fail the same way on main. skeleton-drift reports 12 files drifted from the canonical skeleton, including .gitignore and Justfile, plus the missing .machine_readable/descriptiles/*.a2ml files.
  • Hypatia neurosymbolic scan: on main, static-analysis-gate has been startup_failure since 2026-10-13. On this PR the gate now starts and runs to completion. That is an improvement from the lock fix, and it newly shows 9 critical repo-content findings: descriptile-location rules and missing timeouts. The lockfile doesn't cause those.
  • governance / secret-scanner (0 jobs): the standards reusable workflows have started zero jobs from callers estate-wide since about 2026-10-25, including on main.
  • e2e.yml: 0 jobs on main as well.

No fix exists yet for any of these, so I haven't ported one.


Generated by Claude Code

@hyperpolymath
hyperpolymath merged commit 3a7c5af into main Oct 27, 2026
18 of 23 checks passed
@hyperpolymath
hyperpolymath deleted the ci/actions-lock-repair branch October 27, 2026 02:04
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