Repository navigation
ci(actions-lock): bring actions.lock back in line with the workflows - #104
Conversation
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
|
Important Review skippedReview was skipped due to path filters ⛔ Files ignored due to path filters: 1
CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including
|
|
🔍 Hypatia Security ScanFindings: 173 issues detected
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 |
|
CI note: the red checks on this PR don't come from this change. The PR edits only
No fix exists yet for any of these, so I haven't ported one. Generated by Claude Code |



Summary
actions.lockhad 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 whoseuses: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.0release.yml:actions/upload-artifact@v7.0.1→@v7.0.2; add the missing entry forslsa-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.2download-artifact@v8.0.2,smtp-notify-action@v0.5.0and 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 themEach 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
.envfiles includedTesting
scripts/check-lock-sync.shreports no mismatch except thehyperpolymath/standardsreusable refs, which this PR leaves alone (see below).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