diff options
Diffstat (limited to 'scripts/build.sh')
| -rwxr-xr-x | scripts/build.sh | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/scripts/build.sh b/scripts/build.sh index a3ff064..df55ac5 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -1,5 +1,38 @@ #! /usr/bin/env sh +set -eu + +wrong_arg=false +use_dirty=false + +for arg in "$@"; do + case "$arg" in + --dirty) + use_dirty=true + ;; + *) + echo "arg '$arg' is not known." + wrong_arg=true + ;; + esac +done + +if [ "$wrong_arg" = true ]; then + exit 2 +fi + +if [ "$use_dirty" = "false" ]; then + tmp="$(mktemp -d -t "server_build_script_XXXXX")" + trap 'rm -r "$tmp"' EXIT + + git archive --format=tar.gz HEAD | { + cd "$tmp" + tar -xz + } + + cd "$tmp" +fi + for host in "server2" "server3"; do nix build ".#nixosConfigurations.$host.config.system.build.toplevel" --print-out-paths --no-link --option max-jobs 1 done |
