Conversation
|
Yes, I think it would be worthwhile to add monorepo support. |
…eate-ci-package-manager
|
I've updated the workflow to support a monorepo structure and tested it against the repositories below. Everything is working as expected:
|
There was a problem hiding this comment.
Pull request overview
This PR adds a new reusable workflow ci-package-manager.yml to test package installation across multiple package managers (npm, Yarn v1 Classic, Yarn Modern, pnpm, and Bun). The workflow creates a tarball from repository sources and verifies that each package manager can successfully install it, ensuring compatibility across the Node.js ecosystem.
Key Changes
- Adds
ci-package-manager.ymlwith 6 jobs: one to build a tarball and five to test installation with different package managers - Implements parallel testing strategy where all package manager jobs depend on the build-tarball job
- Includes support for both single-package and workspace-based repositories via the
npm pack --workspace packages 2>/dev/null || npm packfallback pattern
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
nzakas
left a comment
There was a problem hiding this comment.
LGTM. Would like @aladdin-add to review before merging.
Prerequisites checklist
What is the purpose of this pull request?
In this PR, I've added the
ci-package-manager.ymlreusable workflow.The original name
ci-build-all-pm.ymlwas somewhat unclear to me about what the workflow does, so I renamed it toci-package-manager.ymlto better reflect its purpose. (Other name suggestions are also welcome, if exists.)I've tested this workflow in the JSON repository (eslint/json#169), and it appears to be working well:
What changes did you make? (Give an overview)
In this PR, I've added the
ci-package-manager.ymlreusable workflow.Related Issues
Ref: #4
Is there anything you'd like reviewers to focus on?
jsorrewriterepositories? If so, I can update the workflow to support that.