feat: initial version of the pnpm/update action - #1
Conversation
|
Warning Review limit reached
Next review available in: 55 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (8)
📝 WalkthroughWalkthroughAdds the ChangesDependency update action
Estimated code review effort: 3 (Moderate) | ~20 minutes Sequence Diagram(s)sequenceDiagram
participant GitHub Actions
participant Git
participant pnpm
participant GitHub CLI
GitHub Actions->>Git: Fetch base and recreate update branch
GitHub Actions->>pnpm: Update dependencies and optional runtimes
pnpm-->>GitHub Actions: Return updated working tree
GitHub Actions->>Git: Commit and push changes
GitHub Actions->>GitHub CLI: Check for existing open PR
GitHub CLI-->>GitHub Actions: Return PR status
GitHub Actions->>GitHub CLI: Create PR when none exists
Poem
🚥 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 |
PR Summary by QodoAdd initial pnpm/update composite action to open dependency update PRs
AI Description
Diagram
High-Level Assessment
Files changed (2)
|
Code Review by Qodo
1.
|
|
Both review findings are addressed in c47e161:
|
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 `@action.yml`:
- Line 130: Update the credential cleanup command in the action configuration to
construct the `http` URL from `GITHUB_SERVER_URL`, falling back to
`https://github.com` when unset. Preserve the existing `git config --local
--unset-all` behavior and `|| true`, while ensuring the URL-specific key matches
the server used by `actions/checkout` on both GitHub.com and GHES.
🪄 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: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: 096f4b7a-1de3-4a1c-8816-5af0bbd63e29
📒 Files selected for processing (2)
README.mdaction.yml
📜 Review details
🧰 Additional context used
🪛 LanguageTool
README.md
[uncategorized] ~55-~55: The official name of this software platform is spelled with a capital “H”.
Context: ...Description | |---|---|---| | token | github.token | Token used to push the branch ...
(GITHUB)
🔇 Additional comments (1)
README.md (1)
1-66: LGTM!
Initial implementation of the
pnpm/updateaction: a composite action that updates the dependencies of a project withpnpm update, optionally bumps the pinned pnpm (packageManager/devEngines.packageManager) and Node.js (devEngines.runtime) versions, and opens a pull request with the result.Design
action-setup).pnpm/setup(orpnpm/action-setup+actions/setup-node).update-lockfile.ymlworkflow).x-access-tokenURL, so it works withpersist-credentials: falsecheckouts and with a GitHub App token / PAT (needed if the update PR should trigger CI workflows, which the defaultGITHUB_TOKENdoes not).verifyinput runs the project's own build/test commands after updating; if they fail, no PR is created.pnpm-lock.yamlandnode_modulesare deleted before updating, so transitive dependencies of unchanged packages are freshly resolved too (the strategy of pnpm/pnpm'supdate-lockfile.yml); disable withrefresh-lockfile: false.github-actions: true) bump of the actions pinned in.github/workflows/*.ymlandaction.ymlviapnpm update --include-github-actions. Off by default because pushing workflow-file changes needs a token with theworkflowscope (PAT) orworkflows: write(App), which the defaultGITHUB_TOKENlacks; the zero-secret default path leaves workflow files untouched.Inputs
update-depslatestlatestignorespackage.jsonranges,rangesstays within them,falseskips manifest updates (lockfile-refresh-only mode)refresh-lockfiletruefalsekeeps existing resolutions where possibleexcludetypescript @types/*github-actionsfalseaction.ymlfiles (only inlatest/rangesmode); needs aworkflow-scoped token to push the changespost-updatepnpm update-manifests); their changes are included in the PRchangesetstruepnpm update --changeset(patch for prod deps, major for peer deps, catalog consumers included; skips private/ignored/dev-only). Needs a pnpm with--changesetsupportupdate-pnpmpnpm self-update— within the pinned major by default; a version/dist-tag (latest,12,next-12) to cross majors, orfalseto skipnodedevEngines.runtimeNode.js pin — within the pinned major by default (skipped when nothing is pinned);24,lts, orlatestto cross majors, orfalseto skipverifytoken,branch,base,commit-message,pr-title,pr-bodyAfter merging
Versioning starts at 0: tag
v0.0.0and point a floatingv0tag at it, matching howpnpm/setupis tagged. The usage example in the README referencespnpm/update@v0.The Automated Dependency Updates page being added to pnpm.io can then be simplified to recommend this action.