-
-
Notifications
You must be signed in to change notification settings - Fork 14.5k
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
nodejs: disable JS test suite on Darwin #325844
Conversation
This was recently enabled in NixOS#313982. It seems to be much too flaky on Darwin currently, especially x86; see: * <https://hydra.nixos.org/build/264860513/nixlog/8> * <https://hydra.nixos.org/build/264956149/nixlog/3> * <https://hydra.nixos.org/build/265094929/nixlog/3> * <https://hydra.nixos.org/build/264901296/nixlog/3> Disable these tests on macOS for now as the broken Node.js package is holding up a lot of builds. Fixes: b26563a
I built I’ll leave it up to @vcunat what to do here in terms of target branch, etc. |
I'm convinced that master is fine for this. (for posterity) |
looking at the logs it seems to me that after out/Release/node gets built and the tests start to run there is another clang++ process that gets run and builds seems odd. |
Wow, I didn’t pick up on that at all. That’s cursed. There are other weird flaky test failures too, although if the Seems best to unblock Darwin builds for now and try to address this more properly during a later |
the change seems fine to me. curious why it is only breaking darwin. i'd be a little suspicious of the other platforms if that new checkPhase target is also rebuilding node and if it is rebuilding it, hopefully it is identical to the first time? anyway -- i don't have any node expertise and will not be digging further into this. your change LGTM. |
Apparently it’s flaky on other platforms too, but going by Hydra it seems like it’s worse on macOS for whatever reason. Just wanted to scope the patch to the observed breakage (and avoid generating even more builds on |
* we're back on stable * darwin-rebuild switch --flake . 8.23s user 3.94s system 11% cpu 1:41.45 total * nix run . -- switch --flake . 16.10s user 9.41s system 1% cpu 30:58.09 total Resolves: Related: NixOS/nixpkgs#325844 Signed-off-by: Daniel-Andrei Minca <[email protected]>
@vcunat @emilazy, wasn’t this already fixed in #262124? The merge into staging was really weird. nixpkgs/pkgs/development/web/nodejs/nodejs.nix Lines 149 to 158 in 924367a
|
I agree that the 176a56c merge resulted into nonsensical state. |
Uh, hmm, guess we need to clean that up? 20 and 22 were broken on Hydra on |
Yes, the default one certainly was breaking. |
IIRC I’ve also disabled some tests on Darwin independent of the version and added a few fixes for other failing tests. If these failures are specific to |
I don’t really have confidence in running this test suite at all right now if #325844 (comment) is true. I’d rather figure out what’s causing that race condition than play whack‐a‐mole with its consequences. It wasn’t a case of individual tests failing, but the tests suddenly breaking nondeterministically at random points. Unfortunately I don’t have the Node.js build system expertise to really dig in to the cause. The comments in #313982 suggest that the tests might have been causing issues on Linux, too. If the race condition is truly |
Hm, maybe I think the underlying |
A separate derivation would be nice, considering how slow the build is already. If you want to PR a less blunt fix I’m happy to review and test it, but I’m not sure I have the cycles to actively make the changes myself right now. Obviously avoiding the rebuild at all would be preferable to making the checks slower, but I couldn’t really figure out what was going on. The 22 test suite will also separate need fixes for Python 3.12, by the way. There was a warning about calling |
Uh, yes, that’s a bug (see #321847) 😅 With #220204 (comment), it takes ~10m to build instead of >30m. I’ll open a separate PR soon that switches Node.js build to ninja based on the patch attached to the comment. |
That would probably have helped my patience for running the whole build again to see how the tests are breaking last longer 🙃 Anyway, I’m sorry for stepping on your toes here; I just wanted to make sure the |
Description of changes
This was recently enabled in #313982. It seems to be much too flaky on Darwin currently, especially x86; see:
Disable these tests on macOS for now as the broken Node.js package is holding up a lot of builds.
Fixes: b26563a
@aduh95 Unfortunately, I lack the expertise to figure out how to get these tests working more reliably on macOS, but if you have any idea what’s going on I’d be happy to work with you to try and get them functioning properly once this is no longer blocking a bunch of builds. There’s a community builder box if you don’t have any Mac hardware available, but I understand if you don’t want to spend time trying to fix this on an OS you don’t use, too.
@vcunat I’ve targeted
master
on your prior suggestion, but let me know if you think this is too heavy; it would be unfortunate to have a broken Node.js for another entire staging cycle since a lot of things pull it in, but I don’t want to overload the builders. It could potentially be conditionalized further tox86_64-darwin
for now as we lucked out with onlynodejs_18
failing onaarch64-darwin
. I’m also wondering if it might make sense to roll #325620, #325616, and #325621 into this, as they’rehigh‐severity(only on Windows actually) Node.js security updates that would cause the same number of builds on Darwin anyway (but it’d cause Linux rebuilds too, which this shouldn’t).Things done
nix.conf
? (See Nix manual)sandbox = relaxed
sandbox = true
nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)Add a 👍 reaction to pull requests you find important.