Repository navigation
Auto-merge green Dependabot updates and group the pm toolchain into one daily PR - #60
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-rl-3q1e
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 40 minutes. View limit detailsLimit details: You’ve used the included review currently available. Review configuration: ⚙️ Run configuration
📒 Files selected for processing (5)
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
WalkthroughDependabot now checks npm daily and groups toolchain packages separately from other minor and patch updates. A new workflow enables squash auto-merge for toolchain updates and non-major updates. ChangesDependabot automation
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~10 minutes Change: Feature Sequence Diagram(s)sequenceDiagram
participant Dependabot
participant GitHubActions
participant GitHubCLI
participant GitHubPullRequest
Dependabot->>GitHubActions: Open pull request triggers workflow
GitHubActions->>GitHubActions: Fetch dependency metadata
GitHubActions->>GitHubCLI: Run squash auto-merge for eligible update
GitHubCLI->>GitHubPullRequest: Enable auto-merge
Merge Risk: ⚪ Minimal · up to This change moves Dependabot to daily grouped updates and enables auto-merge for eligible updates. Required checks still gate merges, and no actionable merge risk was found. Repository settings and live branch protection were not verified. Security Architecture ReviewSecurity architecture risk: 🔵 Low · up to Bot-author gating, restricted job permissions, and a pinned metadata action limit exposure. However, effective token permissions and required branch protections are not verified, so the safety of unattended merging remains conditional. No exploitable security defect was established. 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 GuideThe PR changes npm Dependabot to run daily with mutually exclusive PM-toolchain and general dependency groups, then adds a tightly scoped, SHA-pinned workflow that automatically enables squash merging for green Dependabot updates while reserving non-PM major updates for manual approval. It also adds the associated PM task records. Sequence diagram for Dependabot auto-merge workflowsequenceDiagram
participant Dependabot
participant GitHubActions
participant Metadata as dependabot/fetch-metadata
participant GitHub as GitHub PR
participant Checks as Branch protection
Dependabot->>GitHubActions: pull_request
GitHubActions->>GitHubActions: [Dependabot PR owned by unbraind]
GitHubActions->>Metadata: fetch metadata
Metadata-->>GitHubActions: dependency-group and update-type
alt pm-toolchain group
GitHubActions->>GitHub: gh pr merge --auto --squash
else non-major update
GitHubActions->>GitHub: gh pr merge --auto --squash
else other major update
GitHubActions->>GitHub: [manual approval required]
end
GitHub->>Checks: await required checks
Checks-->>GitHub: test (22), test (26)
GitHub-->>Dependabot: merge when checks pass
Flow diagram for daily Dependabot update groupingflowchart TD
Schedule[Daily npm Dependabot run] --> Classify{Package matches pm-toolchain?}
Classify -->|@unbrained/pm-cli or pm-*| PM[pm-toolchain PR]
Classify -->|Other package| Type{Minor or patch update?}
Type -->|Yes| Dependencies[dependencies PR]
Type -->|No| Manual[Major update requires manual approval]
PM --> AutoMerge[Automatic squash merge after required checks]
Dependencies --> AutoMerge
AutoMerge --> Checks[test 22 and test 26]
Checks -->|Pass| Merge[Merge]
Checks -->|Fail| Open[PR remains open]
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
pm item: pm-rl-3q1e
|
@coderabbitai full review |
✅ Action performedFull review finished. |
…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-rl-3q1e
|
@coderabbitai full review |
|
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
Automate the delivery of verified Dependabot updates while consolidating pm toolchain bumps into a daily release PR.
New Features:
Enhancements:
CI:
Chores:
Summary by cubic
Auto-merges green Dependabot updates so pm toolchain version bumps reach every package without a hand-written certification PR.
@unbrained/pm-cliandpm-*packages into onepm-toolchainPR; other minor/patch updates land as a separate, disjointdependenciesPR.dependabot-auto-merge.ymlworkflow runs only for Dependabot PRs inunbraindand enables squash auto-merge for allpm-toolchainPRs (calendar-versioned, so a year rollover reads as semver-major) and for any other update explicitly classified as minor or patch; an unclassified or major update waits for a person.contents: writeandpull-requests: write. Branch protection still requirestest (22)andtest (26), so a failing bump stays open as a defect.Rolled out from the reviewed pilot unbraind/pm-presets#118.
Written for commit 2fcaf09. Summary will update on new commits.