fix(ci): reconcile the workflows with actions.lock (gh-actions-lock) - #87
Conversation
…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.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Advanced Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (19)
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. (26)
🔇 Additional comments (19)
📝 SummarySummary by CodeRabbit
WalkthroughThe PR updates GitHub Actions workflow headers and action references across 19 workflow files. Most references change from commit SHAs to version tags or branches. One checkout reference changes from a tag to a commit SHA. ChangesGitHub Actions reference reconciliation
Priority: ➖ Normal Estimated code review effort: 2 (Simple) | ~12 minutes Change: Bug fix Possibly related PRs
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
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. A rabbit checks each workflow line, Comment |
| @@ -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. | |||
| @@ -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. | |||
| @@ -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. | |||
| @@ -1,3 +1,4 @@ | |||
| # This workflow is managed by gh actions-lock. | |||
🔍 Hypatia Security ScanFindings: 302 issues detected
View findings[
{
"reason": "Invalid .github/workflows/actions.lock: {:line, 148, {:repository_id_reused, 1275649586, \"hyperpolymath/a2ml-ecosystem\", \"hyperpolymath/deed-ecosystem\"}}. Regenerate and verify it with gh actions-lock.",
"type": "invalid_actions_lock",
"file": "actions.lock",
"action": "regenerate",
"rule_module": "workflow_audit",
"severity": "high"
},
{
"reason": "No permissions declaration -- add permissions: read-all",
"type": "missing_permissions",
"file": "main-estate-audit.yml",
"action": "add_permissions",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"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 `estate-audit` in main-estate-audit.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": "main-estate-audit.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium",
"recipe_id": "recipe-add-workflow-timeout-minutes",
"job": "estate-audit"
},
{
"reason": "Required file missing (condition: public_repo)",
"type": "missing_requirement",
"file": "SECURITY.md",
"action": "create",
"rule_module": "cicd_rules",
"severity": "high"
},
{
"reason": "Python file detected -- banned language",
"type": "banned_language_file",
"file": "/home/runner/work/proven-servers/proven-servers/bindings/python/proven_servers/siem.py",
"action": "flag",
"rule_module": "cicd_rules",
"severity": "critical"
},
{
"reason": "Python file detected -- banned language",
"type": "banned_language_file",
"file": "/home/runner/work/proven-servers/proven-servers/bindings/python/proven_servers/stun.py",
"action": "flag",
"rule_module": "cicd_rules",
"severity": "critical"
},
{
"reason": "Python file detected -- banned language",
"type": "banned_language_file",
"file": "/home/runner/work/proven-servers/proven-servers/bindings/python/proven_servers/appserver.py",
"action": "flag",
"rule_module": "cicd_rules",
"severity": "critical"
},
{
"reason": "Python file detected -- banned language",
"type": "banned_language_file",
"file": "/home/runner/work/proven-servers/proven-servers/bindings/python/proven_servers/ospf.py",
"action": "flag",
"rule_module": "cicd_rules",
"severity": "critical"
}
]Powered by Hypatia Neurosymbolic CI/CD Intelligence |
fix(ci): reconcile the workflows with actions.lock (gh-actions-lock v0.1.6)
actions.lockis authoritative: the workflows carry readable refs and the lock records thecommit 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 arereverted to their readable form here precisely because the lockfile, not the workflow, is what
pins them.