-
Notifications
You must be signed in to change notification settings - Fork 29.8k
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
tools: add WPT updater for specific subsystems #54460
base: main
Are you sure you want to change the base?
Conversation
Review requested:
|
ef21d50
to
2436787
Compare
ce2a81c
to
71d3c7f
Compare
thanks for your suggestions |
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 my opinions
616d720
to
9b1cda3
Compare
8a03d07
to
a0e9810
Compare
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.
I also feel like this could be moved to a dep_updater
file.
380a165
to
625ec8b
Compare
By the way, I'm trying to update the WPT files in #54468. IMO this could be done via
Because the README.md file also needs to be updated. |
Do you have a suggestion, would that be enough for this?
|
In my opinion, the entire WPT update process could be moved to a dep-updater script, using I'm not sure. |
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.
In general I don't think updating WPTs automatically is a good idea. I can't find the issue now but I believe we've already had that discussion in the past, that's not to say we can't have it again... So:
- The way to update WPTs is through the
git node wpt ...
command from node-core-utils, not checking out the WPT repo and copying over files - WPTs have dependencies in
resources
,interfaces
, or generally a new folder that is not part of the checkout and requires manual intervention - Pulling in new WPTs often makes new WPTs fail, that also requires manual intervention
- There are tentative WPTs that are not tied to a finished spec change, that will fail too
- If there was an automated process then WPTs should be updated by their subsystem, not all at once, but that again raises an issue when that subsystem WPT change requires to pull in a file from a different directory that also needs to be updated
- Some WPT subsystems currently cannot be updated (e.g. WebCryptoAPI) because we don't have a way to conditionally mark tests as failing depending on the system they run on, in WebCryptoAPI's case - test: update wpt test for WebCryptoAPI #54127, test,crypto: update WebCryptoAPI WPT #52222 (comment), RHEL's linked OpenSSL makes some vectors pass that don't pass anywhere else.
In my opinion a sensible way to update WPTs would be to pull a WPT subsystem from upstream (using git node wpt ...
), run it, if it passes - open a PR, if it fails - have a keepalive issue where pending WPT updates are tracked.
FWIW this could also be hooked into the daily wpt job that runs the most up to date WPT checkout for the purpose of uploading the current state to wpt.io.
Remember that WPTs may very well fail for a long time when they are a) tentative or b) require a semver-major change to pass.
cc @nodejs/web-standards |
yeah, we had discussion at #50567. |
I'm closing this place, thank you very much for the comments |
It would appear |
You could also move all this logic into a dependency updater script, and call it like the rest of the updaters. |
9335c1f
to
c064fee
Compare
ı applied the latest updates, thank you |
node/.github/workflows/update-openssl.yml I looked here as an example |
Look at .github/workflows/auto-start-ci.yml for |
b72dc5a
to
249ca59
Compare
I believe the last 2 points weren't addressed. ncu is not configured and the new version variable is used before it is set |
Thanks a lot for your detailed feedback! I’ve now addressed the last two points you mentioned: I've added a step to configure ncu (node-core-utils) with the necessary GitHub token. |
@nodejs/actions please review |
|
a WPT updater that specifically targets the url subsystem for more controlled and focused updates.