Skip to content

Conversation

@lumirlumir
Copy link
Member

@lumirlumir lumirlumir commented Oct 15, 2025

Prerequisites checklist

What is the purpose of this pull request?

In this PR, I've added the ci-package-manager.yml reusable workflow.

The original name ci-build-all-pm.yml was somewhat unclear to me about what the workflow does, so I renamed it to ci-package-manager.yml to 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:

image

What changes did you make? (Give an overview)

In this PR, I've added the ci-package-manager.yml reusable workflow.

Related Issues

Ref: #4

Is there anything you'd like reviewers to focus on?

  • Question: Should this workflow be able to check monorepo setups like the js or rewrite repositories? If so, I can update the workflow to support that.

@eslintbot eslintbot added this to Triage Oct 15, 2025
@github-project-automation github-project-automation bot moved this to Needs Triage in Triage Oct 15, 2025
@lumirlumir lumirlumir moved this from Needs Triage to Implementing in Triage Oct 15, 2025
@lumirlumir lumirlumir added the accepted There is consensus among the team that this change meets the criteria for inclusion label Oct 15, 2025
@lumirlumir lumirlumir marked this pull request as ready for review October 18, 2025 09:17
@nzakas
Copy link
Member

nzakas commented Oct 20, 2025

Yes, I think it would be worthwhile to add monorepo support.

@lumirlumir lumirlumir marked this pull request as draft October 21, 2025 12:17
@lumirlumir
Copy link
Member Author

lumirlumir commented Dec 7, 2025

@nzakas @aladdin-add

I've updated the workflow to support a monorepo structure and tested it against the repositories below.

Everything is working as expected:

Copilot AI review requested due to automatic review settings December 7, 2025 16:46
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.yml with 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 pack fallback pattern

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

accepted There is consensus among the team that this change meets the criteria for inclusion feature

Projects

Status: Implementing

Development

Successfully merging this pull request may close these issues.

3 participants