▾ modified .gitlab-ci.yml +17 -1 Viewed
@@ -19,7 +19,23 @@ check: 19 19 # rather than a shallow single commit. 20 20 GIT_DEPTH : "0" 21 21 before_script : 22 - - echo "experimental-features = nix-command flakes" >> /etc/nix/nix.conf 22 + # Everything heavy is offloaded to nixbuild.net; the runner only evaluates, 23 + # copies results back and uploads. max-jobs = 0 means it refuses to build 24 + # anything locally, so a misconfigured builder fails loudly instead of 25 + # silently falling back to the slow runner. 26 + - | 27 + set -eu 28 + mkdir -p ~/.ssh 29 + # base64 because GitLab can only mask a single-line variable. 30 + printf '%s' "$NIXBUILD_SSH_KEY" | base64 -d > ~/.ssh/nixbuild 31 + chmod 600 ~/.ssh/nixbuild 32 + printf 'Host eu.nixbuild.net\n PubkeyAcceptedKeyTypes ssh-ed25519\n IdentityFile ~/.ssh/nixbuild\n IdentitiesOnly yes\n' > ~/.ssh/config 33 + printf 'eu.nixbuild.net ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPIQCZc54poJ8vqawd8TraNryQeJnvH1eLpIDgbiqymM\n' > ~/.ssh/known_hosts 34 + printf '%s\n' \ 35 + 'experimental-features = nix-command flakes' \ 36 + 'builders = ssh-ng://eu.nixbuild.net x86_64-linux - 100 1 big-parallel,benchmark' \ 37 + 'builders-use-substitutes = true' \ 38 + 'max-jobs = 0' >> /etc/nix/nix.conf 23 39 script : 24 40 - nix flake check -L 25 41 # The store paths are read-only symlink farms; the runner uploads plain
@@ -19,7 +19,23 @@ check: 19 # rather than a shallow single commit. 19 # rather than a shallow single commit. 20 GIT_DEPTH : "0" 20 GIT_DEPTH : "0" 21 before_script : 21 before_script : 22 - - echo "experimental-features = nix-command flakes" >> /etc/nix/nix.conf 22 + # Everything heavy is offloaded to nixbuild.net; the runner only evaluates, 23 + # copies results back and uploads. max-jobs = 0 means it refuses to build 24 + # anything locally, so a misconfigured builder fails loudly instead of 25 + # silently falling back to the slow runner. 26 + - | 27 + set -eu 28 + mkdir -p ~/.ssh 29 + # base64 because GitLab can only mask a single-line variable. 30 + printf '%s' "$NIXBUILD_SSH_KEY" | base64 -d > ~/.ssh/nixbuild 31 + chmod 600 ~/.ssh/nixbuild 32 + printf 'Host eu.nixbuild.net\n PubkeyAcceptedKeyTypes ssh-ed25519\n IdentityFile ~/.ssh/nixbuild\n IdentitiesOnly yes\n' > ~/.ssh/config 33 + printf 'eu.nixbuild.net ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPIQCZc54poJ8vqawd8TraNryQeJnvH1eLpIDgbiqymM\n' > ~/.ssh/known_hosts 34 + printf '%s\n' \ 35 + 'experimental-features = nix-command flakes' \ 36 + 'builders = ssh-ng://eu.nixbuild.net x86_64-linux - 100 1 big-parallel,benchmark' \ 37 + 'builders-use-substitutes = true' \ 38 + 'max-jobs = 0' >> /etc/nix/nix.conf 23 script : 39 script : 24 - nix flake check -L 40 - nix flake check -L 25 # The store paths are read-only symlink farms; the runner uploads plain 41 # The store paths are read-only symlink farms; the runner uploads plain