-
Notifications
You must be signed in to change notification settings - Fork 6.3k
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
Cache PNPM store in CI #23735
Cache PNPM store in CI #23735
Conversation
docs/documentation/release-details
Outdated
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.
This file was referencing NPM, but it seems that it was no longer used anywhere and the versions are incredibly outdated. This seems to be covered by other logic in the GitHub Actions, so I've chosen to remove it.
b5e21c4
to
03e4139
Compare
3 flaky tests on run #9608 ↗︎
Details:
clients_test.spec.ts • 2 flaky tests • chromerealm_settings_general_tab_test.spec.ts • 1 flaky test • chrome
Review all test suite changes for PR #23735 ↗︎ |
I'm going to need to look at this before it is merged. Every time there's a NPM/PNPM change, it breaks the product build. Potentially this could be easier for that, as essentially we're forcing the system NPM to be used, rather than whatever frontend installs |
Seems ok:
|
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.
Thank you for taking on this task. The changes look good, I only have to concerns about the cache key and which part of the build should be "allowed" to upload the cache. Thanks!
03e4139
to
9b41a95
Compare
4fc8ac8
to
d7bfa08
Compare
This PR originally cached the installation for the Node.js and PNPM binaries, however these are already cached in the |
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.
Still LGTM from maven+product perspective
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.
Thank you for the change. I reviewed the code and it looks good. I re-triggered some failed builds which apparently failed to download node, assuming this was a network glitch.
Before we go ahead and merge this, I am considering that #23695 will be closed. And although I am convinced the changes in this PR might reduce the number of instances we see of this issue, I am not entirely convinced that it will resolve it completely, as the underlying bug might exist still. Perhaps we should donate some effort to eirslett/frontend-maven-plugin#882 to get this resolved permanently. |
Getting the plugin's bug fixed seems like it will take months, and the only way I see to fix #23695 without fixing the plugin would be to implement our own download code for node/npm (at least within the CI workflows), and have frontend just use it. Kinda like the product build supplies its own. |
Yeah, I don't see that bug being fixed any time soon. We might consider forking the |
The failures on CI are due to a bug in |
5c4773b
to
3193977
Compare
3193977
to
64c3508
Compare
The PNPM not working on Windows situation has been resolved now that a new version of I am fairly confident the above will resolve #23695, so I think we're in a good spot now to get this merged. Can I ask you for another review @ASzc @ahus1? |
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.
LGTM, thank you for handling these two upstream issues.
@jonkoops - LGTM, pending an UI team approval. |
Caches the PNPM package store on CI. This should speed up the build process and reduce the amount of request outside of GitHub infrastructure, which should also reduce network limiting on our runners.
This PR also includes the following changes:
--prefer-offline
flag has been added topnpm install
to reduce the amount of network requests.Closes #23695
Edit: This PR originally cached the installation for the Node.js and PNPM binaries, however these are already cached in the
.m2
directory and copied over whenfrontend-maven-plugin
is activated. I've since changed the implementation to only cache packages held in the PNPM store to reduce installation time.