| 13 Feb 2025 |
Lily Foster | basically it sets ofborg-nixpkgs-pr=/var/lib/ofborg/checkout/... but when it cd's to /var/lib/ofborg/checkout/... and attempts to eval ./default.nix, cppnix sees it as as /private/var/lib/ofborg/checkout/.../default.nix, which causes evaluator to throw error since only /var/lib/ofborg/checkout is in NIX_PATH | 17:48:42 |
Lily Foster | yeah looks like cppnix does absPath on the file/dir to evaulate before sending it to evaluator: https://github.com/NixOS/nix/blob/693a38ae2e6d6bcbe39ec1d4034821d6f90cf9f5/src/nix-build/nix-build.cc#L355 | 17:54:31 |
Lily Foster | easiest "fix" to make it not explode in the case where it's configured to use a checkout dir that has a symlink in a path segment is probably to add a .canonicalize() to https://github.com/NixOS/ofborg/blob/cbf0c619db7750de1e7b575ade14d0ef35a1bde3/ofborg/src/checkout.rs#L17 | 17:57:19 |
Lily Foster | actually probably here since it can't canonicalize a path that may not exist yet: https://github.com/NixOS/ofborg/blob/cbf0c619db7750de1e7b575ade14d0ef35a1bde3/ofborg/src/checkout.rs#L94 | 17:59:54 |
Lily Foster | * actually probably here instead since it can't canonicalize a path that may not exist yet: https://github.com/NixOS/ofborg/blob/cbf0c619db7750de1e7b575ade14d0ef35a1bde3/ofborg/src/checkout.rs#L94 | 18:00:02 |
Lily Foster | * easiest "fix" to make it not explode in the case where it's configured to use a checkout dir that has a symlink in a path segment is probably to add a .canonicalize() to https://github.com/NixOS/ofborg/blob/cbf0c619db7750de1e7b575ade14d0ef35a1bde3/ofborg/src/checkout.rs#L17 | 18:01:03 |
Lily Foster | ( Janne Heß if you wanted the fix to the macOS builders failing to evaluate anything ^) | 18:03:15 |
| 14 Feb 2025 |
| cleverca22 joined the room. | 01:11:13 |
| 16 Feb 2025 |
Janne Heß | Lily Foster: Whoa, thank you for the research <3 Looking into it right now | 15:37:45 |
Janne Heß | I don't really understand your point about the canonicalize() through. If I canonicalize the path in rust, and give it to nix, wouldn't that mean that nix still tries to access /private? | 15:39:16 |
Lily Foster | In reply to @janne.hess:helsinki-systems.de I don't really understand your point about the canonicalize() through. If I canonicalize the path in rust, and give it to nix, wouldn't that mean that nix still tries to access /private? yes but the ofborg-nixpkgs-pr in NIX_PATH would then include /private so nix would allow it under restricted eval | 17:39:13 |
Lily Foster | * yes but the ofborg-nixpkgs-pr in NIX_PATH would then include /private/... so nix would allow it under restricted eval | 17:39:31 |
Janne Heß | Ahhh I see. Thanks I will try that | 19:07:24 |
Janne Heß |  Download image.png | 19:32:18 |
Janne Heß | Currently deploying with my patented "tmux + ssh" system | 19:32:34 |
Janne Heß | Deployment done on all macs | 19:39:28 |
Janne Heß | Looking good now, thank you Lily Foster 😍 | 19:53:35 |
Janne Heß | https://logs.ofborg.org/?attempt_id=229e3574-efaf-44e0-b436-ba0fe5795c61&key=nixos%2Fnixpkgs.382641 | 19:53:39 |
| 19 Feb 2025 |
hexa | https://github.com/NixOS/infra/blob/main/macs/mac-update | 15:31:50 |
hexa | * https://github.com/NixOS/infra/blob/main/macs/mac-update
https://github.com/NixOS/infra/blob/main/macs/mac-exec | 15:31:57 |
hexa | the unpatented nixos/infra macos tooling | 15:32:18 |
hexa | error: a 'x86_64-linux' with features {} is required to build '/nix/store/vnlk0g6i2a2pk6xnlbiai03vxvz6s179-append-initrd-secrets.drv', but I am a 'x86_64-darwin' with features {apple-virt, benchmark, big-parallel, nixos-test}
| 15:33:17 |
hexa | trying to build esphome.tests | 15:33:35 |
hexa | https://logs.ofborg.org/?key=nixos/nixpkgs.383404&attempt_id=b4cf0697-ebfc-4a42-9e4a-a02e5c5d6ef4 | 15:33:44 |
hexa | frankly, that is to be expected when calling nix-build --eval-system aarch64-darwin -A esphome.tests, but at the same time that means that it doesn't build the attribute esphome itself | 15:35:43 |
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 |