ci: pin dependency-audit reusable workflow to SHA (closes #87)#128
ci: pin dependency-audit reusable workflow to SHA (closes #87)#128don-petry wants to merge 26 commits into
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThis PR pins a reusable GitHub Actions workflow reference in Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~2 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
|
@don-petry — this PR pins the |
There was a problem hiding this comment.
Pull request overview
Pins the dependency-audit reusable workflow callsite to an immutable commit SHA to comply with the org action-pinning policy (remediating issue #87).
Changes:
- Update
.github/workflows/dependency-audit.ymlto referencepetry-projects/.githubreusable workflow by full commit SHA instead of@v1.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| jobs: | ||
| dependency-audit: | ||
| uses: petry-projects/.github/.github/workflows/dependency-audit-reusable.yml@v1 | ||
| uses: petry-projects/.github/.github/workflows/dependency-audit-reusable.yml@ee22b427cbce9ecadcf2b436acb57c3adf0cb63d # v1 |
There was a problem hiding this comment.
The header comment says editors "MUST NOT change ... the uses: line", but this workflow now requires updating the uses: ref (SHA) over time to stay current/compliant. Consider tweaking the guidance to something precise like “do not change the workflow path/job name; only update the pinned ref when bumping versions,” to avoid misleading future edits.
Superseded by automated re-review at
|
There was a problem hiding this comment.
Automated review — APPROVED ✓
Risk: LOW
Reviewed commit: a6a83ffb7b99f604dd608a6bb643f9fa1ac9fe0e
Review mode: triage-approved (single reviewer)
Summary
PR #104 adds a single idempotent bash script (.github/scripts/apply-repo-settings.sh, 48 lines) that enforces org-standard repository settings via gh api -X PATCH. This directly resolves compliance issue #90 (delete_branch_on_merge must be true). No production code is changed — the script is a manual admin tool requiring an explicit GH_TOKEN with admin scope at runtime. No substantive code changes since the prior cascade review (only merge commits and a CI retrigger).
Linked issue analysis
- Closes #90 — Compliance audit flagged
delete_branch_on_mergeasnull(expectedtrue). The script setsdelete_branch_on_merge=truealong with all other org-standard defaults. The setting was also applied directly via the API per the PR description. Issue is substantively addressed.
Findings
No blocking issues. Minor observations (informational only, not blocking):
- [info]
-F(typed field) is used for string enum values likesquash_merge_commit_title=PR_TITLE. TheghCLI handles this correctly, though-f(raw string) would be slightly more self-documenting for non-boolean/non-numeric values. - [info]
REPOis hardcoded topetry-projects/markets. This is intentional and appropriate for a compliance-enforcement script scoped to this repository.
CI status
All checks passed:
- ✅ CodeQL (actions) — SUCCESS
- ✅ SonarCloud — SUCCESS (0 new issues, 0 security hotspots)
- ✅ AgentShield — SUCCESS
- ✅ CodeRabbit — SUCCESS
- ✅ Dependency audit — ecosystem detection SUCCESS, language-specific audits SKIPPED (no applicable ecosystems)
- ✅ CI — ecosystem detection SUCCESS, Backend/Frontend SKIPPED (no changes to those layers)
Reviewed automatically by the don-petry PR-review agent (single-reviewer, triage-approved). Reply with @don-petry if you need a human.
There was a problem hiding this comment.
Automated review — APPROVED ✓
Risk: LOW
Reviewed commit: e0886512c9fdfd51836fcf070403a0d6b1fbc7bd
Review mode: triage-approved (single reviewer)
Summary
Single-file GitHub Actions workflow change adopting the org-standard dependabot-rebase caller stub. Pins the reusable workflow to SHA 3c6335c0 (replacing mutable @v1 tag), replaces blanket secrets: inherit with explicit APP_ID/APP_PRIVATE_KEY, adds workflow_dispatch trigger, and escalates job permissions from read to write (justified by rebase and re-approve operations). Net security posture is improved.
Linked issue analysis
No linked issues. PR description states it supersedes prior SHA-pinning and dispatch PRs — this is a standards-adoption change with self-contained motivation.
Findings
No blocking issues.
Positive changes:
- Reusable workflow ref changed from mutable tag
@v1to SHA-pinned@3c6335c0a214bba940bbcbc4346e9d4ab0cb63e1— prevents tag-hijack supply-chain risk. secrets: inherit(passes all repo secrets) replaced with explicitAPP_ID/APP_PRIVATE_KEY— reduces secret surface area.
Informational:
- Permission escalation from
contents: read/pull-requests: readtocontents: write/pull-requests: write— necessary for the reusable workflow to update branches and re-approve PRs post-rebase. Inline comments document the rationale. Blast radius is limited by the SHA-pinned reusable ref. workflow_dispatchtrigger added — allows manual flush of the Dependabot PR queue. Low risk.
CI status
All checks passed:
- ✅ CodeQL (actions) — SUCCESS
- ✅ SonarCloud — SUCCESS (0 new issues, 0 security hotspots)
- ✅ AgentShield — SUCCESS
- ✅ CodeRabbit — SUCCESS
- ✅ Dependency audit — ecosystem detection SUCCESS
- ✅ CI — ecosystem detection SUCCESS
Reviewed automatically by the don-petry PR-review agent (single-reviewer mode: opus 4.6). Reply with @don-petry if you need a human.
Superseded by automated re-review at 95fe018.
Automated review — human attention neededThis PR has been through 3 automated review cycles (cap: 3) without converging on an approval-and-merge state. Further automated review has been paused to avoid infinite loops. Please take a look manually, or close this PR if it's no longer needed. Once a human review resolves the situation, remove the Posted by the don-petry PR-review cascade. |
|
|
Auto-rebase failed — merge conflict — this branch has conflicts with dev-lead will attempt to resolve this automatically. If it cannot, a follow-up comment will explain what needs manual attention. To resolve manually instead: |
|
Auto-rebase failed — merge conflict — this branch has conflicts with dev-lead will attempt to resolve this automatically. If it cannot, a follow-up comment will explain what needs manual attention. To resolve manually instead: |
|
Auto-rebase failed — merge conflict — this branch has conflicts with dev-lead will attempt to resolve this automatically. If it cannot, a follow-up comment will explain what needs manual attention. To resolve manually instead: |
|
Auto-rebase failed — merge conflict — this branch has conflicts with dev-lead will attempt to resolve this automatically. If it cannot, a follow-up comment will explain what needs manual attention. To resolve manually instead: |
|
Auto-rebase failed — merge conflict — this branch has conflicts with dev-lead will attempt to resolve this automatically. If it cannot, a follow-up comment will explain what needs manual attention. To resolve manually instead: |
|
@dev-lead - please fix this PR |
|
Auto-rebase failed — merge conflict — this branch has conflicts with dev-lead will attempt to resolve this automatically. If it cannot, a follow-up comment will explain what needs manual attention. To resolve manually instead: |
|
Auto-rebase failed — merge conflict — this branch has conflicts with dev-lead will attempt to resolve this automatically. If it cannot, a follow-up comment will explain what needs manual attention. To resolve manually instead: |
|
Auto-rebase failed — merge conflict — this branch has conflicts with dev-lead will attempt to resolve this automatically. If it cannot, a follow-up comment will explain what needs manual attention. To resolve manually instead: |
|
Auto-rebase failed — merge conflict — this branch has conflicts with dev-lead will attempt to resolve this automatically. If it cannot, a follow-up comment will explain what needs manual attention. To resolve manually instead: |
|
Auto-rebase failed — merge conflict — this branch has conflicts with dev-lead will attempt to resolve this automatically. If it cannot, a follow-up comment will explain what needs manual attention. To resolve manually instead: |
|
Auto-rebase failed — merge conflict — this branch has conflicts with Please resolve the conflicts and push: |
|
Auto-rebase failed — merge conflict — this branch has conflicts with dev-lead will attempt to resolve this automatically. If it cannot, a follow-up comment will explain what needs manual attention. To resolve manually instead: |
|
Auto-rebase failed — merge conflict — this branch has conflicts with dev-lead will attempt to resolve this automatically. If it cannot, a follow-up comment will explain what needs manual attention. To resolve manually instead: |



Summary
dependency-audit-reusable.ymlreusable workflow reference from@v1to its full commit SHA to satisfy the org-level action-pinning policy.Change
SHA was resolved via
gh api repos/petry-projects/.github/git/refs/tags/v1.The
# v1comment is retained for human readability.Closes #87
Generated with Claude Code
Summary by CodeRabbit