Conversation
Asserting the hostplatform for `linux` is bad, because it can't be caught by CI. For the `linux` package itself, it doesn't make a difference, because it also has `meta.platforms = linux` set, so this will fail evaluation - and in a way that can nicely be caught by CI.
c8e522b to
0febbb4
Compare
A bunch of rebuilds on the first try. Added one missing |
|
Successfully created backport PR for |
|
This thing blocks all darwin channels now via https://hydra.nixos.org/build/303268171/nixlog/1/tail |
|
Failing an assertion is an accepted signal to drop that package variant. Trying to access a nonexistent attribute is not accepted. Example test case: (always errors out, but assertions are OK) |
Not anymore with the plan in #426629. But I see we need to do more to be able to remove the linux assert. |
|
I don't quite understand why this doesn't throw in #426629, though. |
|
The platforms look very wrong: |
|
Ah, of course. |
nixpkgs/pkgs/os-specific/linux/kernel/linux-rpi.nix Lines 43 to 53 in ccaad1e I guess "arm" includes darwin? |
|
After fixing this |
|
I'll create a PR in a second: #428023 |
Ah, the eval error only appears deeper into the package. This is what I observed in #426629 (comment). |
Asserting the host platform for
linuxis bad, because it can't be caught by CI. For thelinuxpackage itself, it doesn't make a difference, because it also hasmeta.platforms = linuxset, so this will fail evaluation - and in a way that can nicely be caught by CI. Also, this error will propagate everywhere else.Almost everywhere at least, so we add a conditional on running the
pkgs.nixostest only on Linux. This was previously guarded by the assert, but would now throw eval errors deep into the NixOS eval - there are certain assumptions about packages there (glibcLocalesnot beingnullthe first I hit) that only work on Linux. Which is fine.Hopefully this has zero rebuilds, let's see...
Related: #426629
Things done
Add a 👍 reaction to pull requests you find important.