Skip to content

build: remove the rest of corepack #57763

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Conversation

ljharb
Copy link
Member

@ljharb ljharb commented Apr 5, 2025

Refs:

This fulfills the spirit of the TSC vote by removing the ability to build node with corepack at all, including removing the vendored dep. It should only land in node 25+, and should not be backported (which should also mean that corepack distribution in release lines < v25 are not disrupted).

It leaves behind corepack.md.

@ljharb ljharb added semver-major PRs that contain breaking changes and should be released in the next major version. build Issues and PRs related to build files or the CI. dont-land-on-v18.x dont-land-on-v20.x PRs that should not land on the v20.x-staging branch and should not be released in v20.x. dont-land-on-v22.x PRs that should not land on the v22.x-staging branch and should not be released in v22.x. dont-land-on-v23.x PRs that should not land on the v23.x-staging branch and should not be released in v23.x. dont-land-on-v24.x PRs that should not land on the v18.x-staging branch and should not be released in v24.x. labels Apr 5, 2025
@nodejs-github-bot
Copy link
Collaborator

Review requested:

  • @nodejs/actions
  • @nodejs/performance
  • @nodejs/security-wg
  • @nodejs/startup
  • @nodejs/tsc

@nodejs-github-bot nodejs-github-bot added dependencies Pull requests that update a dependency file. doc Issues and PRs related to the documentations. meta Issues and PRs related to the general management of the project. needs-ci PRs that need a full CI run. labels Apr 5, 2025
Copy link
Contributor

@aduh95 aduh95 left a comment

Choose a reason for hiding this comment

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

LGTM, adding my block to make sure this doesn't land before v24.x is in Maintenance

@ljharb
Copy link
Member Author

ljharb commented Apr 5, 2025

@aduh95 that's fine, but can you help me understand why main would affect v24, which this commit wouldn't land on at all?

@aduh95
Copy link
Contributor

aduh95 commented Apr 5, 2025

Commits make their way to LTS lines by being first released onto a Current release for at least two weeks, and Current releases get their commits from main; so landing this before 24.x is in maintenance would add unnecessary maintenance burden, as already discussed in #57617.

@ljharb
Copy link
Member Author

ljharb commented Apr 5, 2025

Unfortunately the previous discussion, and this one, didn't make it clear to me why this is a burden. I'm aware that commits will land on main before being backported to v24, but the things this PR touches are highly unlikely to conflict with anything destined for v24 or older, so I'm unclear on what maintenance burden there would be.

Copy link

codecov bot commented Apr 5, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 90.24%. Comparing base (214e3d4) to head (227c5d7).

Additional details and impacted files
@@           Coverage Diff           @@
##             main   #57763   +/-   ##
=======================================
  Coverage   90.24%   90.24%           
=======================================
  Files         630      630           
  Lines      185204   185204           
  Branches    36296    36292    -4     
=======================================
+ Hits       167133   167144   +11     
+ Misses      11003    10997    -6     
+ Partials     7068     7063    -5     

see 24 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@targos
Copy link
Member

targos commented Apr 6, 2025

There's no point in releasing in a Current line that doesn't have the feature. I don't believe it will be more difficult to maintain if the code only lives on <=v24.x. We'll just need to change automation to open the update PR against v24.x-staging instead of main.

@rluvaton rluvaton changed the title build: remove the reset of corepack build: remove the rest of corepack Apr 6, 2025
@aduh95
Copy link
Contributor

aduh95 commented Apr 6, 2025

I don't believe it will be more difficult to maintain if the code only lives on <=v24.x. We'll just need to change automation to open the update PR against v24.x-staging instead of main.

Of course it would be, PR targeting main can be landed by any collaborator (or even triaggers using CQ), PRs targeting a staging branch fall under the responsibility of the releaser.

There's no point in releasing in a Current line that doesn't have the feature

For end users, sure. For us maintainers, the point is to keep using the existing process and minimize manual interventions.

@ljharb
Copy link
Member Author

ljharb commented Apr 6, 2025

I think I understand the issue - because of the policy that anything destined for Current or LTS has to sit on main for 2 weeks, commits updating corepack have to land on main, which means this PR can't land on main.

Either blocking this PR until 24 is in maintenance would work, or, altering the policy so that some kinds of commits don't have to hit main before landing in Current/LTS.

@aduh95
Copy link
Contributor

aduh95 commented Apr 6, 2025

To clarify, the policy is not blocking, we could still manage pushing updates to specific branches, the Release WG would likely won't see any problem with that. However, as explained in my previous comment, it would make Corepack maintenance harder / give more work to the releasers, so I'm against it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Issues and PRs related to build files or the CI. dependencies Pull requests that update a dependency file. doc Issues and PRs related to the documentations. dont-land-on-v20.x PRs that should not land on the v20.x-staging branch and should not be released in v20.x. dont-land-on-v22.x PRs that should not land on the v22.x-staging branch and should not be released in v22.x. dont-land-on-v23.x PRs that should not land on the v23.x-staging branch and should not be released in v23.x. dont-land-on-v24.x PRs that should not land on the v18.x-staging branch and should not be released in v24.x. meta Issues and PRs related to the general management of the project. needs-ci PRs that need a full CI run. semver-major PRs that contain breaking changes and should be released in the next major version.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants