Repository navigation
Auto-merge green Dependabot updates and group the pm toolchain into one daily PR - #120
Conversation
…ne daily PR Version bumps of @unbrained/pm-cli, pm-ops and pm-changelog are mechanical. Dependabot now checks npm daily and groups the pm toolchain (and other minor/patch updates) into single pull requests; a least-privilege workflow enables squash auto-merge for every non-major Dependabot PR, so it lands as soon as the required checks pass and a failing bump stays open as a defect. pm item: pm-ts-starter-lzj0
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
📒 Files selected for processing (5)
Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review. Summary by CodeRabbit
WalkthroughThe changes set Dependabot to check npm updates daily, define toolchain and dependency groups, and add a workflow that enables squash auto-merge for toolchain updates and semver minor or patch updates. ChangesDependabot automation
Priority: ⬇️ Low Estimated code review effort: 3 (Moderate) | ~20 minutes Change: Feature Sequence Diagram(s)sequenceDiagram
participant Dependabot
participant Workflow as GitHub Actions workflow
participant Metadata as Dependency metadata
participant GitHubCLI as GitHub CLI
Dependabot->>Workflow: Open pull request
Workflow->>Metadata: Fetch dependency group and update type
Metadata-->>Workflow: Return group and update type
Workflow->>GitHubCLI: Run auto-squash merge for eligible updates
Merge Risk: ⚪ Minimal · up to This change moves Dependabot to daily grouped updates and enables auto-merge only for eligible updates that pass the required checks. No merge-blocking risk is evident. Security Architecture ReviewSecurity architecture risk: 🔵 Low · up to The automation is narrowly gated and does not execute pull-request code. It nevertheless removes manual approval for eligible dependency updates and relies on repository merge protections. No exploitable bypass was established, but effective token permissions and live protection settings remain unverified. Retained concerns Security review detailsSecurity Blast Radius
Security Findings and Attack Paths
Trust Boundaries and Controls
Resilience and Maintainability Implications
Hardening Proposals
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ 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 |
Reviewer's GuideThis PR changes npm Dependabot updates to run daily with disjoint PM-toolchain and general dependency groups, then adds a narrowly scoped, least-privilege workflow that uses fetched metadata to enable squash auto-merge for green Dependabot updates while preserving manual review for non-PM major updates; repository auto-merge and branch-deletion settings are also enabled. Sequence diagram for Dependabot auto-mergesequenceDiagram
participant Dependabot
participant Workflow as dependabot_auto_merge
participant Metadata as fetch_metadata
participant GitHub
participant Checks as BranchProtection
Dependabot->>Workflow: pull_request
Workflow->>Workflow: [Dependabot actor and unbraind owner]
Workflow->>Metadata: dependabot/fetch-metadata
Metadata-->>Workflow: dependency-group and update-type
alt pm-toolchain group
Workflow->>GitHub: gh pr merge --auto --squash
else non-major update
Workflow->>GitHub: gh pr merge --auto --squash
else other major update
Workflow->>Workflow: [wait for manual review]
end
GitHub->>Checks: required checks
Checks-->>GitHub: test (22) and test (26)
GitHub-->>Dependabot: merge when checks pass
Flow diagram for daily Dependabot groupingflowchart LR
Daily["Daily npm Dependabot check"] --> PM["pm-toolchain group\n@unbrained/pm-cli and pm-*"]
Daily --> Dependencies["dependencies group\nother minor and patch updates"]
PM --> AutoMerge["Auto-merge after required checks"]
Dependencies --> AutoMerge
Major["Other major update"] --> Manual["Manual review"]
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
|
pm item: pm-ts-starter-lzj0
|
@coderabbitai full review |
Rate Limit Exceeded
|
…sions Review feedback: an update that fetch-metadata cannot classify must not auto-merge, so the condition now requires semver-minor or semver-patch outside the calendar-versioned pm-toolchain group. The job's write scopes are documented, the dependencies group selects every package explicitly, and the item's acceptance criteria name the pm-toolchain exception. pm item: pm-ts-starter-lzj0
|
@coderabbitai full review |
✅ Action performedFull review finished. |
What
.github/dependabot.yml: npm is checked daily;@unbrained/pm-cliandpm-*packages arrive as onepm-toolchainPR, other minor/patch updates as onedependenciesPR. Other ecosystems are unchanged..github/workflows/dependabot-auto-merge.yml: for Dependabot PRs only (and only inunbraind),dependabot/fetch-metadata(SHA-pinned v3.1.0) classifies the update; thepm-toolchaingroup (calendar-versioned, so a year rollover reads as semver-major) and every other non-major update getgh pr merge --auto --squash. Workflow default permissions are{}; the job alone getscontents: write+pull-requests: write.Why
Fleet rule ([companion pm-cli-website-6d05]): a pm CLI release must reach every package without a hand-written certification PR. Branch protection still requires
test (22),test (26), so nothing merges red; a bump that fails CI stays open as a real defect. Major updates still need a person. Same change as the reviewed pilot unbraind/pm-presets#118.pm item
Summary by Sourcery
Streamline Dependabot maintenance by grouping daily npm updates and automatically merging eligible updates after required checks pass.
New Features:
Enhancements:
CI:
Deployment:
Summary by cubic
Automates the delivery of Dependabot updates so green version bumps merge without manual work.
Dependabot now checks npm daily and groups
@unbrained/pm-cliandpm-*packages into onepm-toolchainPR, with all other minor/patch updates in a separatedependenciesPR. A new least-privilege workflow enables squash auto-merge for the calendar-versionedpm-toolchaingroup (a year rollover reads as semver-major) and for updates thatdependabot/fetch-metadataexplicitly classifies as minor or patch; an unclassified update never auto-merges. Branch protection still requires thetestchecks, so a failing bump stays open as a defect, and major updates still need a person. Repository auto-merge is enabled and merged branches are deleted.Written for commit 5ec697a. Summary will update on new commits.