-
Notifications
You must be signed in to change notification settings - Fork 29.9k
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
build: exclude npm test directories on Windows #23001
Conversation
For reference, this is the relevant bit of Lines 84 to 89 in 058c5b8
|
@@ -332,7 +332,7 @@ copy /Y ..\README.md node-v%FULLVERSION%-win-%target_arch%\ > nul | |||
if errorlevel 1 echo Cannot copy README.md && goto package_error | |||
copy /Y ..\CHANGELOG.md node-v%FULLVERSION%-win-%target_arch%\ > nul | |||
if errorlevel 1 echo Cannot copy CHANGELOG.md && goto package_error | |||
robocopy /e ..\deps\npm node-v%FULLVERSION%-win-%target_arch%\node_modules\npm > nul | |||
robocopy ..\deps\npm node-v%FULLVERSION%-win-%target_arch%\node_modules\npm /e /xd test > nul |
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.
robocopy documentation has the syntax as robocopy <Source> <Destination> [<File>[ ...]] [<Options>]
so I've moved the existing option (/e
) to the end of the command line in addition to the new option to exclude test
directories.
cc @nodejs/build-files @nodejs/platform-windows @nodejs/npm |
Also note this is going to be tricky to test as the regular CI doesn't build the installer/7z/zip packages. |
There is a https://github.com/nodejs/build/blob/master/jenkins/xml/smoketest-release.xml in the build repo, I wonder what it's for...can we use it? Is it somewhere on Jenkins? |
Not (as far as I can see) on https://ci.nodejs.org/view/All/. Maybe it's on ci-release (which I don't have access to)? |
Any chance we can make Landed under the title I triggered a test build https://ci-release.nodejs.org/job/iojs+release/3779/ |
It's certainly possible but it's not a one line change. We'd have to take into account the differences between the directory layouts on Windows vs the Unix-like platforms and things like symlinks not being used on Windows. Also even though I know it's not a supported platform I wonder if changing |
Thanks. Could you, or someone else who has access the release ci report back on the results when the build completes? |
No
|
I realised on the way home that this change only affects the 7z/zip packages. Will need to look at the WiX files to work out if we can do the equivalent for the msi installer. |
I think this is the bit that generates the npm files for WiX: node/tools/msvs/msi/nodemsi.wixproj Line 76 in 9d71e6a
|
I think it should work off the directory generated by the P.S. I just checked, the msi does indeed contain |
Yes, I think working off the directory created for |
@richardlau Is this WIP? I’m adding the label but please remove it if I’m mistaken about that. |
Yes, thanks. I don't think we should merge this unless the contents of the msi installer match the 7z/zip packages. |
@richardlau thanks for working on this! The relevant upstream issue is wixtoolset/issues#4023, so there is no easy way to exclude the tests with Heat. It should be easy to get the |
Updated:
I gave this a quick build/install locally and no npm and/or npm dependency |
This should be semver-major. While I can't think of a good reason anything would break, we are removing files from the published packages and installer. This already has the necessary TSC reviews, unless @joyeecheung or @jasnell withdraw their approvals. |
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
Resume CI: https://ci.nodejs.org/job/node-test-pull-request/17477/ ✔️ |
@jasnell I added a second commit for the msi installer after your approval; does this still look good to you? The most recent resume CI is green, so I'd like to land this early next week to make the cc @nodejs/tsc (as per https://github.com/nodejs/node/blob/master/COLLABORATOR_GUIDE.md#involving-the-tsc since this is defensively |
89c37c2
to
d8c67a4
Compare
npm test directories are excluded on other platforms by `tools/install.py`. Do the same on Windows. Fixes: nodejs#22901 PR-URL: nodejs#23001 Reviewed-By: Joyee Cheung <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Refael Ackermann <[email protected]> Reviewed-By: João Reis <[email protected]>
d8c67a4
to
b3b3f53
Compare
Landed in b3b3f53. |
npm test directories are excluded on other platforms by
tools/install.py
. Do the same on Windows.Fixes: #22901
Checklist