| 26 Jun 2021 |
wucke13 | I will try and report back. On that note, is there a way to force hydra into rebuild failed builds without changing the nix files? | 10:56:17 |
das_j | Yes, you can use the UI | 10:56:32 |
wucke13 | How that? | 10:56:38 |
das_j |  Download image.png | 10:57:13 |
das_j | in the eval | 10:57:18 |
das_j | URL should be something like https://hydra.local/eval/12345 | 10:57:51 |
| Jez (he/him) left the room. | 10:58:04 |
das_j | I think there is a second way but I can't find it | 10:58:09 |
wucke13 | Ahh, now I found it. Thank you so much! | 10:58:34 |
das_j | You're welcome :) | 10:58:42 |
wucke13 | even if I have only a localhost machine, I also need to enable nix.distributedBuilds ? | 10:59:17 |
das_j | ummmm | 10:59:22 |
das_j | I'm not 100% sure | 10:59:25 |
wucke13 | It's not working without it. lets test it with it | 10:59:57 |
das_j | It might only parse the file when distributed builds are enabled | 11:00:13 |
wucke13 | Hmmh, still not working. I have the following relevant options set, what could be missing?
nix = {
extraOptions = ''
allowed-uris = https:// ssh://
'';
distributedBuilds = true;
buildMachines = [{
hostName = "localhost";
systems = [
"aarch64-linux"
"i686-linux"
"wasm32-wasi"
"x86_64-linux"
"x86_64-windows"
];
}];
};
boot.binfmt.emulatedSystems =
[ "aarch64-linux" "wasm32-wasi" "x86_64-windows" ];
| 11:03:51 |
wucke13 | (the build in question is aarch64 | 11:04:12 |
das_j | does it show in your hydra? | 11:04:34 |
wucke13 | How would I check? | 11:04:44 |
das_j | https://hydra.local/admin/machines | 11:04:51 |
das_j | you might need to wait 10min or restart the queue runner | 11:05:19 |
wucke13 | Jup, with aarch64-linux | 11:05:19 |
das_j | oh | 11:05:23 |
das_j | so it should work | 11:05:27 |
das_j | hydra knows it can build there | 11:05:33 |
das_j | if it doesn't work, your binfmt might be misconfigured | 11:05:50 |
das_j | we use something along the lines of
boot.binfmt.registrations = {
qemu-aarch64 = {
magicOrExtension = "\\x7fELF\\x02\\x01\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x02\\x00\\xb7";
mask = "\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x00\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xfe\\xff\\xff";
interpreter = "${pkgs.qemu}/bin/qemu-aarch64";
};
};
nix.sandboxPaths [ "/run/binfmt" "${pkgs.qemu}" ];
| 11:07:16 |
wucke13 | I'm able to locally build the thing on that machine using nix build <the flake>#aarch64.<mypackage> though | 11:09:15 |
wucke13 | So I would assume that my binfmt setup is healthy | 11:09:33 |
das_j | yeah it probably is | 11:09:43 |