Disable checkMeta by default again#194058
Conversation
This caused too many downstream projects to break, so we are reverting this change for now, until further transition fixes are in place. See discussion in NixOS#191171 This reverts part of 6762de9
|
This is a classic false dilemma fallacy. nixpkgs uses the PR workflow for exactly this reason, that we can have checks that we only need to do before merging a change, not every time we run the code. |
|
Especially seeing that the checks in master are not recursive, I see this as an argument in bad faith. |
ofborg evaluates every package in the Not sure if “our CI doesn't work and we need to use downstream users as CI” is really the right argument against this change? |
|
Wouldn't it be sufficient to allow extra arguments in meta and enforce checks only on well-defined keys used throughout nixpkgs? |
|
@mweinelt yes, that could be a good step after setting the flag to |
|
For now I’d revert the change to unbreak downstream. |
Upon reflection I don't think this is a good idea. The main use I've had of the meta checks in the past has actually been catching misspelled keys. So I think we really need a config option with an allow list of unrecognized meta checks. |
|
Since it was brought up in the original PR a couple of times, and it was very easy to do, I ran a benchmark eval of Benchmark resultsIt was slightly faster with meta checks enabled, but that effect was dwarfed by uncertainty. Anyway, this suggests eval time is not meaningfully affected by this change. |
|
fwiw: I get a small median increase by |
|
For me it's also slightly faster with output❯ bench --output bench.html 'nix-instantiate -E "with import ./. { config.checkMeta = false; }; nixosTests.simple"' 'nix-instantiate -E "with import ./. { config.checkMeta = true; }; nixosTests.simple"'
benchmarking bench/nix-instantiate -E "with import ./. { config.checkMeta = false; }; nixosTests.simple"
time 2.274 s (2.231 s .. 2.340 s)
1.000 R² (1.000 R² .. 1.000 R²)
mean 2.316 s (2.295 s .. 2.327 s)
std dev 22.30 ms (17.96 ms .. 25.46 ms)
variance introduced by outliers: 19% (moderately inflated)
|
|
Here’s my results for the deep check via |
|
Err, nevermind, I think my benchmarks on 26328a694200e2eb370d27b219b2c96f470d5ac6 failed due to the fact that it does not actually check the meta attributes, at least I could not get it to fail with unknown extra meta attributes. So please disregard. |
|
Ah, I missed the totally obvious fact that 26328a694200e2eb370d27b219b2c96f470d5ac6 pushes eval time for nixosTests.simple from about 3 seconds to 7 seconds, lol. |
|
This discussion has totally gotten out of hand, both in content and in tone. I am going to merge this now, so that we may start afresh discussing more proper solutions for this problem. @Profpatsch I'd appreciate if you abstained from participating in any further discussions of this topic for a while. |
I don’t think your reaction to all this was at all appropriate. I have to admit that I am a little annoyed that you are insinuating I am the source for this “discussion getting out of hand” when a) you ignored my -2 on the original PR and merged anyway You cannot assume drive-by commits on central nixpkgs features can just be merged with very little work, and ignoring requests for benchmarking & verifying downstream breakage is certainly not the way to go. |
|
@piegamesde I’m a little confused by your laugh-emoji reaction. What is it you want to say? |
This caused too many downstream projects to break, so we are reverting this change for now, until further transition fixes are in place.
See discussion in #191171
This reverts part of 6762de9
Description of changes
Things done
sandbox = trueset 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.shto update generated release notes