-
Notifications
You must be signed in to change notification settings - Fork 806
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
Allow current node LTS 14.17.6 #20990
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here are some suggested test cases for this PR.
Connection
- In-place connection with free plan
- In-place connection with paid plan
- In-place connection with product purchase
- Classic connection. Use Safari, or set a constant
JETPACK_SHOULD_NOT_USE_CONNECTION_IFRAME
to true - Disconnect/reconnect connection
- Secondary user connection
- Connection on multisite
Verify that the changes are compatible with the plugins that use the connection package.
- WooCommerce Payments
- Jetpack Boost
- Previous versions of Jetpack
If you think that suggestions should be improved please edit the configuration file here. You can also modify/add test-suites to be used in the configuration file.
Caution: This PR has changes that must be merged to WordPress.com |
This change proposes allowing use of node 14.17.6 (current node LTS version at time of writing) in addition to node 16.7.0 which is what the project currently specifies in its node engines attribute. `.nvmrc` will still point to 16.7.0, but the project can now be used in environments such as Gutenberg Mobile which are using node 14.17.6 LTS. Co-authored-by: David Calhoun <[email protected]>
8d1e707
to
6e15620
Compare
Thank you for your PR! When contributing to Jetpack, we have a few suggestions that can help us test and review your patch:
This comment will be updated as you work on your PR and make changes. If you think that some of those checks are not needed for your PR, please explain why you think so. Thanks for cooperation 🤖 The e2e test report can be found here. Please note that it can take a few minutes after the e2e tests checks are complete for the report to be available. Once your PR is ready for review, check one last time that all required checks (other than "Required review") appearing at the bottom of this PR are passing or skipped. Jetpack plugin:
Backup plugin:
Boost plugin:
Search plugin:
|
Summary of failing tests:
|
Looks good to me, other than the wpcom failure. Which looks like more work to deal with.
Looks like the TeamCity job winds up combining the two version numbers when trying to decide which version to use, and so fails. Someone will have to get devops to update their script somehow. Maybe we should start syncing |
@anomiex, thank you for spotting this! @dcalhoun and I were also just looking into this TeamCity job error and agree that it looks like the current setup to install node doesn't work well with the node engine being defined as
I agree that it seems ideal to have the node version read from one of those places.
@anomiex, would you know the right person or team who could help us update this? |
Devops. I went ahead and created D66560-code and p3topS-VB-p2 to get it started. |
Great! Thank you for doing that 🙇. |
FYI: D66560-code is now closed, so I restarted the TeamCity job and it passed! 🎉 The CI check didn't seem to update though so I've re-triggered a build by pushing an empty commit. If all checks pass I'll mark this as ready for review. |
All tests passed (the |
Yeah, the CI doesn't always update right. Most often it's because it only reacts to the build of the diff that it pushed itself, not the build of the most recent diff. |
@anomiex, thanks for your PR approval here! From my side, this PR is ready, but I'm not sure if I need to get D66469-code approved first, so I added you as a reviewer (please feel free to guide me if there's someone else I should ask). Also, I don't know if I should add the |
Normally we consider the approval here to cover those as well.
It's not necessary, but I should have added it when I approved the PR. I just forgot. 😬 |
Gotcha, makes sense. I've merged now 🎉 🙌 |
Great news! One last step: head over to your WordPress.com diff, D66469-code, and commit it. Thank you! |
r231570-wpcom |
The minimum version set in package.json is like `^14.18.3 || ^16.13.2`. We weren't handling that correctly, we were comparing with a minimum "version" of "14.18.3 || ^16.13.2" rather than anything well-formed. This changes the check to extract the constraint matching the current major version of node (i.e. "14.18.3" or "16.13.2"), falling back to the recommended major if someone has a completely unsupported major version (e.g. 15 or 17) installed, to use as the minimum version in the check. This still produces slightly misleading results in that if someone is on node 12 or 15 it won't tell them that 14 is an option, but that's probably ok since we only have 14 in there because Gutenberg Mobile is still on that version for their build (cf. #20990).
…3760) The minimum version set in package.json is like `^14.18.3 || ^16.13.2`. We weren't handling that correctly, we were comparing with a minimum "version" of "14.18.3 || ^16.13.2" rather than anything well-formed. This changes the check to extract the constraint matching the current major version of node (i.e. "14.18.3" or "16.13.2"), falling back to the recommended major if someone has a completely unsupported major version (e.g. 15 or 17) installed, to use as the minimum version in the check. This still produces slightly misleading results in that if someone is on node 12 or 15 it won't tell them that 14 is an option, but that's probably ok since we only have 14 in there because Gutenberg Mobile is still on that version for their build (cf. #20990).
This was added back in #20990 for Gutenberg Mobile. We never really tested that things still worked in Node 14. Now Gutenberg Mobile has dropped the need for the monorepo to claim Node 14 support, so let's drop it.
This was added back in #20990 for Gutenberg Mobile. We never really tested that things still worked in Node 14. Now Gutenberg Mobile has dropped the need for the monorepo to claim Node 14 support, so let's drop it.
Changes proposed in this Pull Request:
.nvmrc
will still point to 16.7.0, but the project can now be used in environments such as Gutenberg Mobile which are using node 14.17.6 LTS. This change is related to Bump Jetpack submodule ref to fix node compatibility issue wordpress-mobile/gutenberg-mobile#3928.Jetpack product discussion
See p9dueE-3ls-p2#comment-6040
Does this pull request change what data or activity we track or use?
No.
Testing instructions:
nvm use 14.17.6
npm install -g pnpm && pnpm install && pnpm cli-setup && jetpack install --root
) and verify it usingtools/check-development-environment.sh