-
Notifications
You must be signed in to change notification settings - Fork 4
Description
Allow building on more than 1 machine.
We could use
- Nix store distributed builds, or
om ci run --on, or- Plain
ssh ...
for this.
Braindump
(3) is probably more suitable, because we can run all steps including attic push (#29) when the build happens on remote machine, but then that would require those machines to have deps (om, attic, cachix, git, etc.) installed, ideally at pinned versions. So, (2) is probably the way to go -- it can also happen a step granular level (only om stage is done remotely), but then that would unnecessarily download files locally. So perhaps we should re-evaluate (3) while tackling the dependency issue?
(3) Remote deps
om, attic, git, etc. could be setup by copying their derivations (including pinned nixpkgs). Could just copy the vira flake, and then use a devShell from it containing these tools in PATH.
Then we need a concept of workspace dir for remote nodes too. Umm.
Tasks
- Add 'remote builder' information to UI #218
- Allow building for multiple systems #228
- Implement proper log streaming #285
- Replace nix-native remote builder with explicit remote building (over ssh; à la
om ci run --on) - ...