Skip to content

pnpm publishing with --filter & CPU outage #6968

@OverLord561

Description

@OverLord561

Verify latest release

  • I verified that the issue exists in the latest pnpm release

pnpm version

No response

Which area(s) of pnpm are affected? (leave empty if unsure)

CLI

Link to the code that reproduces this issue or a replay of the bug

https://github.com/OverLord561/pnpm_issue/blob/main/publish-steps

Reproduction steps

  1. Recursive publishing with filtering to exclude some components pnpm publish --embed-readme -r --no-git-checks --tag my-tag --filter=!component_name ... 50 other filters;
  2. Publishing with filtering to include specific components pnpm publish --embed-readme --no-git-checks --tag my-tag --filter=component_name ... 50 other filters;
  3. Publish with 8 filters when one name is substring of another name where component_name is subname pnpm publish --embed-readme --no-git-checks --tag my-tag --filter=component_name--filter component_name_like_patch;

In general, problems are starting when we have 8 filter values. The CPU usage is 100% and publishing passes somehow.
But once I have example #3 publishing fails.

I see 2 regularities with filters:

  1. Resources are not released after every publish when filters are used(during Recursive without filters we see constant resources drops component by component)
  2. Subnames causes extra issues when filters are applied

Describe the Bug

pnpm publishing with filters consumes 100% of CPU and crashes
Processor: vCPUs=4, RAM=16G

Recursive publishing without filtering works but it takes longer due to the fact that it publishes everything that was bumped by @changesets/cli.

Expected Behavior

Works like in 8.6.0 without CPU outages and resources releases component by component.

Which Node.js version are you using?

16.20.0

Which operating systems have you used?

  • macOS
  • Windows
  • Linux

If your OS is a Linux based, which one it is? (Include the version if relevant)

ubuntu 20.04 on CI

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions