fix(ci): require reviewed Dependabot merges and refresh tooling - #139
Conversation
- Gate squash merges on exact-head CodeRabbit approval and required checks. - Group GitHub Actions, uv, and vcpkg updates into weekly batches. - Refresh the pinned build, packaging, analysis, and workflow toolchain.
WalkthroughThe PR updates Dependabot automation, CodeRabbit review configuration, GitHub Action pins, and development toolchain versions. It also aligns CMake references across workflow recipes, documentation, and the Slurm build script. ChangesMaintenance updates
Estimated code review effort: 3 (Moderate) | ~20 minutes Sequence Diagram(s)sequenceDiagram
participant Dependabot
participant AutoMergeWorkflow
participant CodeRabbit
participant RequiredChecks
participant GitHub
Dependabot->>AutoMergeWorkflow: Open dependency pull request
AutoMergeWorkflow->>CodeRabbit: Check approval for current head
CodeRabbit-->>AutoMergeWorkflow: Return approval and approved SHA
AutoMergeWorkflow->>RequiredChecks: Wait for required checks
RequiredChecks-->>AutoMergeWorkflow: Return check results
AutoMergeWorkflow->>GitHub: Squash-merge approved SHA
Possibly related issues
Possibly related PRs
Suggested labels: Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/workflows/dependabot-auto-merge.yml:
- Around line 80-87: Enable strict Bash error handling in the approval polling
step by adding set -euo pipefail immediately before the while true loop. Ensure
failures from gh api or the jq pipeline propagate and terminate the loop instead
of allowing polling to continue until timeout.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
Run ID: df316a69-ab0b-4fdb-99cd-e0bce6539d3d
⛔ Files ignored due to path filters (1)
uv.lockis excluded by!**/*.lock
📒 Files selected for processing (11)
.coderabbit.yaml.github/actions/setup-just/action.yml.github/dependabot.yml.github/workflows/codeql.yml.github/workflows/dependabot-auto-merge.ymlJustfileREADME.mdpyproject.tomlscripts/pkgx-build.shscripts/pkgx-env.shscripts/slurm.sh
- Pin libtool 2.5.4 across pkgx build paths for MPFR compatibility. - Stop CodeRabbit approval polling when GitHub API or jq processing fails.
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
.github/workflows/dependabot-auto-merge.yml (1)
98-110: 🔒 Security & Privacy | 🟠 Major | ⚡ Quick winRe-check the CodeRabbit approval before merging.
After required checks succeed, confirm that the current head equals
APPROVED_HEAD_SHAand that the latestcoderabbitai[bot]review for that head remainsAPPROVED. Keep--match-head-commitas the final head guard.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.github/workflows/dependabot-auto-merge.yml around lines 98 - 110, Update the workflow between “Wait for required checks” and “Squash approved PR head” to re-fetch the current PR head and verify it equals APPROVED_HEAD_SHA, then confirm the latest coderabbitai[bot] review for that head is still APPROVED before merging. Preserve gh pr merge’s --match-head-commit "$APPROVED_HEAD_SHA" guard as the final protection.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Outside diff comments:
In @.github/workflows/dependabot-auto-merge.yml:
- Around line 98-110: Update the workflow between “Wait for required checks” and
“Squash approved PR head” to re-fetch the current PR head and verify it equals
APPROVED_HEAD_SHA, then confirm the latest coderabbitai[bot] review for that
head is still APPROVED before merging. Preserve gh pr merge’s
--match-head-commit "$APPROVED_HEAD_SHA" guard as the final protection.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
Run ID: bcf1b69c-990f-4f79-ae54-4c0baf4691ff
📒 Files selected for processing (2)
.github/workflows/dependabot-auto-merge.ymlJustfile
Summary by CodeRabbit
Documentation
Chores