Repository navigation
Auto-merge green Dependabot updates and group the pm toolchain into one daily PR - #107
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-todos-jvp5
|
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
WalkthroughDependabot now checks npm dependencies daily and groups toolchain updates separately from other minor and patch updates. A new workflow enables squash auto-merge for eligible Dependabot pull requests. ChangesDependabot automation
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~10 minutes Change: Feature Sequence Diagram(s)sequenceDiagram
participant Dependabot
participant GitHubActions
participant GitHub
Dependabot->>GitHubActions: Opens a pull request
GitHubActions->>GitHubActions: Reads update metadata
GitHubActions->>GitHub: Enables squash auto-merge for eligible updates
Merge Risk: ⚪ Minimal · up to The automation is mergeable after normal checks. No unresolved issue is established that would prevent eligible updates from following the configured auto-merge path. Security Architecture ReviewSecurity architecture risk: 🟡 Moderate · up to Merge authority is narrowly gated, and the new workflow does not execute pull-request code. However, automatically accepted toolchain updates later execute in a release job with repository-write and publishing-identity permissions. This increases exposure to compromised dependency releases. Required branch protections are documented but were not independently verified. 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 increases npm Dependabot cadence, consolidates the pm toolchain and other safe updates into daily PRs, and uses a scoped, SHA-pinned workflow to enable squash auto-merge once branch-protection checks pass. Toolchain year rollovers are explicitly treated as eligible despite appearing semver-major, while unrelated major updates remain manual; repository settings also allow auto-merge and delete merged branches. 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 checks
Dependabot->>GitHub: Open pull request
GitHub->>GitHubActions: Trigger pull_request
GitHubActions->>Metadata: Fetch PR metadata
Metadata-->>GitHubActions: dependency-group and update-type
alt pm-toolchain or non-major update
GitHubActions->>GitHub: gh pr merge --auto --squash
Checks-->>GitHub: Required checks pass
GitHub->>GitHub: Merge PR and delete branch
else Unrelated major update
GitHubActions-->>GitHub: Leave PR for manual merge
end
Flow diagram for grouped daily Dependabot updatesflowchart LR
Npm["npm updates checked daily"] --> Classify{"Update matches pm-toolchain?"}
Classify -->|Yes| PM["pm-toolchain PR\n@unbrained/pm-cli and pm-* packages"]
Classify -->|No| Safe{"Minor or patch update?"}
Safe -->|Yes| Deps["dependencies PR\nother minor and patch updates"]
Safe -->|No| Manual["Unrelated major update\nmanual review"]
PM --> Auto["Auto-merge enabled\nafter required checks pass"]
Deps --> Auto
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
|
pm item: pm-todos-jvp5
|
@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-todos-jvp5
|
@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 (26),test (22.18.0), 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 safe landing of green Dependabot updates while delivering pm toolchain releases as grouped daily updates.
New Features:
Enhancements:
CI:
Documentation:
Chores:
Summary by cubic
Automates the landing of green Dependabot updates so pm toolchain version bumps reach the fleet without a hand-written certification PR.
@unbrained/pm-cliandpm-*packages arrive grouped in onepm-toolchainPR, and other minor/patch updates in onedependenciesPR.pm-toolchaingroup (calendar-versioned, so a year rollover reads as semver-major) and, outside it, only for updates classified minor or patch; anything major or unclassified waits for a person.Same change as the reviewed pilot
unbraind/pm-presets#118.Written for commit bcaeaad. Summary will update on new commits.