Skip to content
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

Update the monorepo to node v20 #45148

Merged
merged 19 commits into from Apr 12, 2024
Merged

Update the monorepo to node v20 #45148

merged 19 commits into from Apr 12, 2024

Conversation

rrennick
Copy link
Contributor

@rrennick rrennick commented Feb 26, 2024

Changes proposed in this Pull Request:

This PR updates node to v20.

Closes #43034 .

How to test the changes in this Pull Request:

Using the WooCommerce Testing Instructions Guide, include your detailed testing instructions:

  1. This PR was tested by the teams that work in the monorepo with the results being recorded in a discussion

Changelog entry

  • Automatically create a changelog entry from the details below.

Significance

  • Patch
  • Minor
  • Major

Type

  • Fix - Fixes an existing bug
  • Add - Adds functionality
  • Update - Update existing functionality
  • Dev - Development related task
  • Tweak - A minor adjustment to the codebase
  • Performance - Address performance issues
  • Enhancement - Improvement to existing functionality

Message

Bump node version.

Comment

@github-actions github-actions bot added the package: @woocommerce/e2e-environment Issues related to @woocommerce/e2e-environment package. label Feb 26, 2024
@woocommercebot woocommercebot requested a review from a team February 26, 2024 20:36
@github-actions github-actions bot added package: @woocommerce/api Issues related to @woocommerce/api package. package: @woocommerce/e2e-core-tests Issues related to @woocommerce/e2e-core-tests package. package: @woocommerce/e2e-utils Issues related to @woocommerce/e2e-utils package. package: @woocommerce/api-core-tests Issues related to @woocommerce/api-core-tests package. package: @woocommerce/admin-e2e-tests issues related to @woocommerce/admin-e2e-tests package: @woocommerce/components issues related to @woocommerce/components package: @woocommerce/csv-export issues related to @woocommerce/csv-export package: @woocommerce/currency issues related to @woocommerce/currency package: @woocommerce/customer-effort-score issues related to @woocommerce/customer-effort-score package: @woocommerce/data issues related to @woocommerce/data package: @woocommerce/date issues related to @woocommerce/date package: @woocommerce/eslint-plugin issues related to @woocommerce/eslint-plugin package: @woocommerce/experimental issues related to @woocommerce/experimental package: @woocommerce/explat issues related to @woocommerce/explat package: @woocommerce/navigation issues related to @woocommerce/navigation package: @woocommerce/number issues related to @woocommerce/number package: @woocommerce/onboarding issues related to @woocommerce/onboarding package: @woocommerce/tracks issues related to @woocommerce/tracks package: dependency-extraction-webpack-plugin issues related to @woocommerce/dependency-extraction-webpack-plugin plugin: woo-ai Issues related to the Woo AI features plugin. plugin: woocommerce Issues related to the WooCommerce Core plugin. plugin: woocommerce beta tester Issues related to the WooCommerce Beta Tester plugin. focus: monorepo infrastructure Issues and PRs related to monorepo tooling. labels Feb 26, 2024
Copy link
Contributor

github-actions bot commented Feb 26, 2024

Hi @jonathansadowski, @woocommerce/vortex

Apart from reviewing the code changes, please make sure to review the testing instructions as well.

You can follow this guide to find out what good testing instructions should look like:
https://github.com/woocommerce/woocommerce/wiki/Writing-high-quality-testing-instructions

…ommerce/tracks, @woocommerce/onboarding, @woocommerce/number, @woocommerce/notices, @woocommerce/navigation, @woocommerce/internal-js-tests, @woocommerce/extend-cart-checkout-block, @woocommerce/expression-evaluation, @woocommerce/explat, @woocommerce/experimental, @woocommerce/eslint-plugin, @woocommerce/dependency-extraction-webpack-plugin, @woocommerce/date, @woocommerce/data, @woocommerce/customer-effort-score, @woocommerce/currency, @woocommerce/csv-export, @woocommerce/create-woo-extension, @woocommerce/create-product-editor-block, @woocommerce/components, @woocommerce/api, @woocommerce/admin-e2e-tests, woocommerce-blocks, woocommerce-beta-tester, woocommerce, woo-ai
@samueljseay
Copy link
Contributor

Just adding my 2 cents that I've tested blocks workflows with these changes and did not encounter any issues from pnpm install through to running things like pnpm build at root and pnpm watch:build from blocks directory.

@samueljseay
Copy link
Contributor

@rrennick I did notice that it's still fixed to node 16 in this package:

{
"name": "eslint-plugin-woocommerce",
"version": "0.0.2",
"main": "index.js",
"devDependencies": {
"eslint": "^8.3.0"
},
"engines": {
"node": "^16.13.0",
"npm": "^8.0.0"
}
}

@rrennick
Copy link
Contributor Author

I did notice that it's still fixed to node 16 in this package:

@samueljseay Nice catch. I added it to the project workspace in 868fdbf

Copy link
Contributor

@samueljseay samueljseay left a comment

Choose a reason for hiding this comment

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

At least from my perspective this looks good. Tested and works well and I've reviewed the code as well.

@rrennick rrennick changed the title POC: DO NOT MERGE Update the monorepo to node v20 Apr 8, 2024
@rrennick rrennick requested a review from a team April 8, 2024 21:38
Copy link
Contributor

@jonathansadowski jonathansadowski left a comment

Choose a reason for hiding this comment

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

Thanks for this change and the coordination here. Blocks E2E tests are failing, but it appears that that might be due to flakiness, and doesn't look related to this change.

@gigitux
Copy link
Contributor

gigitux commented Apr 10, 2024

Thanks for working on this! 🙇

Thanks for this change and the coordination here. Blocks E2E tests are failing, but it appears that that might be due to flakiness, and doesn't look related to this change.

I'm not sure about this, but it looks like the upgrade breaks the old infrastructure for the E2E tests. Usually, not all the shards fail at the same time.

While we are currently working on Playwright, some E2E tests run on the old infrastructure.

I will try to figure out if there is a quick fix to restore them or/and consulting with my team mates to ensure to try to migrate the critical tests to the Playwright infrastructure and remove the old one.

@rrennick
Copy link
Contributor Author

I'm not sure about this, but it looks like the upgrade breaks the old infrastructure for the E2E tests. Usually, not all the shards fail at the same time.

@gigitux I've pushed a change that allows them to run. Some tests were failing locally though.

@gigitux
Copy link
Contributor

gigitux commented Apr 11, 2024

I'm not sure about this, but it looks like the upgrade breaks the old infrastructure for the E2E tests. Usually, not all the shards fail at the same time.

@gigitux I've pushed a change that allows them to run. Some tests were failing locally though.

Thanks for the help! I'm investigating this error:

at ClientRequest.<anonymous> (../../node_modules/.pnpm/node-fetch@2.7.0/node_modules/node-fetch/lib/index.js:1501:11)

It looks like there is an issue with node-fetch and the latest versions of node. I'm trying to enforce pnpm to use the last version of node-fetch.

Check this WIP PR: #46460

@rrennick rrennick merged commit 4fa2e38 into trunk Apr 12, 2024
102 of 107 checks passed
@rrennick rrennick deleted the poc/request-reviews branch April 12, 2024 16:49
@github-actions github-actions bot added this to the 8.9.0 milestone Apr 12, 2024
@github-actions github-actions bot added the needs: analysis Indicates if the PR requires a PR testing scrub session. label Apr 12, 2024
@alopezari alopezari added status: analysis complete Indicates if a PR has been analysed by Solaris and removed needs: analysis Indicates if the PR requires a PR testing scrub session. labels Apr 15, 2024
nielslange pushed a commit that referenced this pull request Apr 20, 2024
* test bumping node to v18

* remove community contributor condition from review assignment

* Add changefile(s) from automation for the following project(s): @woocommerce/tracks, @woocommerce/onboarding, @woocommerce/number, @woocommerce/notices, @woocommerce/navigation, @woocommerce/internal-js-tests, @woocommerce/extend-cart-checkout-block, @woocommerce/expression-evaluation, @woocommerce/explat, @woocommerce/experimental, @woocommerce/eslint-plugin, @woocommerce/dependency-extraction-webpack-plugin, @woocommerce/date, @woocommerce/data, @woocommerce/customer-effort-score, @woocommerce/currency, @woocommerce/csv-export, @woocommerce/create-woo-extension, @woocommerce/create-product-editor-block, @woocommerce/components, @woocommerce/api, @woocommerce/admin-e2e-tests, woocommerce-blocks, woocommerce-beta-tester, woocommerce, woo-ai

* bump node to v20

* Add changefile(s) from automation for the following project(s): @woocommerce/tracks, @woocommerce/onboarding, @woocommerce/number, @woocommerce/notices, @woocommerce/navigation, @woocommerce/internal-js-tests, @woocommerce/extend-cart-checkout-block, @woocommerce/expression-evaluation, @woocommerce/explat, @woocommerce/experimental, @woocommerce/eslint-plugin, @woocommerce/dependency-extraction-webpack-plugin, @woocommerce/date, @woocommerce/data, @woocommerce/customer-effort-score, @woocommerce/currency, @woocommerce/csv-export, @woocommerce/create-woo-extension, @woocommerce/create-product-editor-block, @woocommerce/components, @woocommerce/api, @woocommerce/admin-e2e-tests, packages/php/remote-specs-validation, woocommerce-blocks, woocommerce-beta-tester, woocommerce, woo-ai

* Add changefile(s) from automation for the following project(s): @woocommerce/tracks, @woocommerce/onboarding, @woocommerce/number, @woocommerce/notices, @woocommerce/navigation, @woocommerce/internal-js-tests, @woocommerce/extend-cart-checkout-block, @woocommerce/expression-evaluation, @woocommerce/explat, @woocommerce/experimental, @woocommerce/eslint-plugin, @woocommerce/dependency-extraction-webpack-plugin, @woocommerce/date, @woocommerce/data, @woocommerce/customer-effort-score, @woocommerce/currency, @woocommerce/csv-export, @woocommerce/create-woo-extension, @woocommerce/create-product-editor-block, @woocommerce/components, @woocommerce/api, @woocommerce/admin-e2e-tests, woocommerce-blocks, woocommerce-beta-tester, woocommerce, woo-ai

* add blocks eslint-plugin-woocommerce to project workspace

* add e2e-environment as a peer to e2e-utils

* restore version on @woocommerce/api

* update lock file

* move e2e-environment to devDependencies

* add undefined location check to admin js test

---------

Co-authored-by: Ron Rennick <ronald.rennick@automattic.com>
Co-authored-by: github-actions <github-actions@github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
focus: monorepo infrastructure Issues and PRs related to monorepo tooling. package: dependency-extraction-webpack-plugin issues related to @woocommerce/dependency-extraction-webpack-plugin package: @woocommerce/admin-e2e-tests issues related to @woocommerce/admin-e2e-tests package: @woocommerce/api Issues related to @woocommerce/api package. package: @woocommerce/api-core-tests Issues related to @woocommerce/api-core-tests package. package: @woocommerce/components issues related to @woocommerce/components package: @woocommerce/csv-export issues related to @woocommerce/csv-export package: @woocommerce/currency issues related to @woocommerce/currency package: @woocommerce/customer-effort-score issues related to @woocommerce/customer-effort-score package: @woocommerce/data issues related to @woocommerce/data package: @woocommerce/date issues related to @woocommerce/date package: @woocommerce/e2e-core-tests Issues related to @woocommerce/e2e-core-tests package. package: @woocommerce/e2e-environment Issues related to @woocommerce/e2e-environment package. package: @woocommerce/e2e-utils Issues related to @woocommerce/e2e-utils package. package: @woocommerce/eslint-plugin issues related to @woocommerce/eslint-plugin package: @woocommerce/experimental issues related to @woocommerce/experimental package: @woocommerce/explat issues related to @woocommerce/explat package: @woocommerce/navigation issues related to @woocommerce/navigation package: @woocommerce/number issues related to @woocommerce/number package: @woocommerce/onboarding issues related to @woocommerce/onboarding package: @woocommerce/tracks issues related to @woocommerce/tracks plugin: woo-ai Issues related to the Woo AI features plugin. plugin: woocommerce beta tester Issues related to the WooCommerce Beta Tester plugin. plugin: woocommerce Issues related to the WooCommerce Core plugin. status: analysis complete Indicates if a PR has been analysed by Solaris
Projects
None yet
Development

Successfully merging this pull request may close these issues.

dependency-extraction-webpack-plugin node dependency incompatible with WordPress core
5 participants