82ecd61f5c
Change-Id: I6c6847fac56f0a9a1a2209792e00a3aec5e672b9 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10809 Autosubmit: aspen <root@gws.fyi> Reviewed-by: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI Reviewed-by: lukegb <lukegb@tvl.fyi>
24 lines
837 B
Bash
Executable file
24 lines
837 B
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
# Entrypoint that runs nix-build and, optionally, copies Docker image tarballs
|
|
# to real files. The reason this is necessary is because once a Nix container
|
|
# exits, you must copy out the artifacts to the working directory before exit.
|
|
|
|
[ "$DEBUG" = "1" ] && set -x
|
|
[ "$QUIET" = "1" ] && QUIET_ARG="-Q"
|
|
|
|
set -e
|
|
|
|
# file to build (e.g. release.nix)
|
|
file="$1"
|
|
|
|
[ "$file" = "" ] && echo "No .nix file to build specified!" && exit 1
|
|
[ ! -e "$file" ] && echo "File $file not exist!" && exit 1
|
|
|
|
echo "Building all attrs in $file..."
|
|
nix-build --no-link ${QUIET_ARG} "$file" "${@:2}"
|
|
|
|
echo "Copying build closure to $(pwd)/store..."
|
|
mapfile -t storePaths < <(nix-build ${QUIET_ARG} --no-link "$file" | grep -v cache-deps)
|
|
printf '%s\n' "${storePaths[@]}" > store.roots
|
|
nix copy --to "file://$(pwd)/store" "${storePaths[@]}"
|