| 19 Feb 2025 |
hexa | $ nix-build --eval-system aarch64-darwin -A esphome -A esphome.tests --eval-system aarch64-darwin --keep-going --always-allow-substitutes
[...]
error: a 'aarch64-linux' with features {} is required to build '/nix/store/fcbvsy7z7y8p42ps667glhz6rn8kdi99-linux-6.12.15.tar.xz.drv', but I am a 'x86_64-linux' with features {benchmark, big-parallel, kvm, nixos-test}
| 15:39:00 |
hexa | 🤨 | 15:39:19 |
Janne Heß | Ummm | 17:51:10 |
Janne Heß | That's all due to the evaluator being removed and ofborg not really being able to tell what attrs actually exist :( | 17:52:49 |
Lily Foster | wait why is it not failing the meta.platforms check and throwing an eval error (which should be ignored iirc) instead of trying to build for the wrong platform | 18:01:27 |
Lily Foster | are nixos tests fucky on darwin by rewriting the system from -darwin to -linux when evaluating for a -darwin nixpkgs...? | 18:03:11 |
Lily Foster | (regardless, you should probably be building the attr list individually for this kind of reason or otherwise be using something that can handle eval errors or inability to build) | 18:04:11 |
Lily Foster | yeah they expect you to have the "remote" builder VM set up to run nixos tests on darwin (i remember this change now -- ofborg has had problems with it since it was introduced) https://github.com/NixOS/nixpkgs/pull/282401 | 18:15:54 |
emily | the actual test harness runs on macOS | 19:43:45 |
emily | it just spawns Linux VMs | 19:43:51 |
emily | though of course there is no reason for ofborg to build NixOS tests on macOS | 19:44:06 |
emily | perhaps they should have hydraPlatforms = [ ]; and ofborg should respect that | 19:45:43 |
Lily Foster | In reply to @emilazy:matrix.org it just spawns Linux VMs does it do so automatically? the log above uh indicates that it may not (or at least not usefully, e.g. if it still depends on building some derivations using linux platform before spawning vm harness) | 19:46:07 |
emily | of course, it has to build the NixOS configurations | 19:46:22 |
emily | you can set up the Linux builder with nix-darwin and then it all just works (which itself relies on the QEMU harness supporting macOS + Hydra building the base builder config) | 19:47:11 |
emily | but for ofborg that is pointless | 19:47:15 |
emily | (I mean, "all just works" – not every test does) | 19:47:28 |
Lily Foster | i mean ofborg should just be skipping those attrs regardless | 19:48:10 |
Lily Foster | (but it is a bit of surprising behavior that you can nix-build something and get a realisation error rather than eval/build error in this case when platforms mismatch) | 19:49:15 |
emily | building passthru tests on ofborg seems good? (incl. NixOS tests on Linux) | 19:49:18 |
emily | it's not really a mismatch though | 19:49:32 |
Lily Foster | In reply to @emilazy:matrix.org building passthru tests on ofborg seems good? (incl. NixOS tests on Linux) no i mean skipping attrs it can't build | 19:49:35 |
emily | there's nothing about "orchestrate some NixOS VMs" that requires a NixOS host platform | 19:49:46 |
emily | it's just like any cross scenario | 19:49:51 |
Lily Foster | In reply to @lily:lily.flowers no i mean skipping attrs it can't build (i'm not suggesting to drop passthru.tests) | 19:50:04 |
Lily Foster | In reply to @emilazy:matrix.org it's just like any cross scenario well it would specifically be non-cross (it's trying to build native) to be the same scenario | 19:50:43 |
emily | fair | 19:50:49 |
emily | in an ideal world we could build NixOS systems cross from Darwin | 19:50:56 |
Lily Foster | (but again this mostly just doesn't matter) | 19:51:02 |
emily | I do agree that the s/darwin/linux/ is kinda ugly | 19:51:11 |