-
-
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
bats: improve package; move installCheck to passthru #170019
bats: improve package; move installCheck to passthru #170019
Conversation
The resholve 0.8.0 release includes better support for intra-package references, making it possible to also resholve files in lib/libexec. This process helped shake loose 5 more unnoticed package dependencies, and enable bats' parallel execution support.
I happily painted myself into a corner when converting bats to use resholve. Since resholve tests itself with bats, all updates to resholve now require rebuilding bats. The build itself is quick, but the tests take a few minutes; moving them into passthru saves time. :)
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: |
flock # skips some tests if it can't detect | ||
ps | ||
] ++ lib.optionals stdenv.isDarwin [ lsof ]; | ||
inherit doInstallCheck; |
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.
All of this should not be in passtruh and only doCheck rule be overwritten.
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 is one of the main points of the PR, so I'm inclined to push back on this without sources/reasoning.
While this approach is rare, I don't think it's unprecedented within nixpkgs. It's also roughly aligned with the WIP recommendations in NixOS/rfcs#119 (specifically https://github.com/NixOS/rfcs/pull/119/files#diff-d207098de17afa3aaea2ef0e420b2b1c674b257267828c11e40928351df3e368R46-R54).
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.
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.
Ah. That makes sense, now--though it doesn't work in this case.
I may have mis-designed resholve's Nix API, but it produces an inner derivation straightforwardly, and then uses it as the source for an outer derivation that is passed through resholve.
I'm not sure if that is at all persuasive, but resholve's Nix API and this test can be incrementally improved in subsequent PRs.
Edit:
It may help if I am more concrete...
The test here overrides the inner (unresholved) output as a kludge to get access to the normal build's tests directory, but then it's using the outer (resholved) output to actually run the those tests.
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.
@SuperSandro2000 ping? thoughts? I can also bug someone else if you're short on time :)
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: |
Description of changes
Things done
Result of
nixpkgs-review
run on x86_64-linux 12 packages built:
Result of
nixpkgs-review
run on x86_64-darwin 12 packages built:
sandbox = true
set innix.conf
? (See Nix manual)nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)nixos/doc/manual/md-to-db.sh
to update generated release notes