32 lines
834 B
Text
32 lines
834 B
Text
|
#!/usr/bin/env bash
|
||
|
|
||
|
set -euo pipefail
|
||
|
|
||
|
# The first argument must be the desired installable
|
||
|
INSTALLABLE="$1"
|
||
|
|
||
|
# Build the installable and forward any other arguments too
|
||
|
nix build "$@"
|
||
|
|
||
|
if [ ! -z ${ATTIC_TOKEN+x} ]; then
|
||
|
|
||
|
nix run --inputs-from . attic -- login \
|
||
|
conduit \
|
||
|
https://nix.computer.surgery/conduit \
|
||
|
"$ATTIC_TOKEN"
|
||
|
|
||
|
push_args=(
|
||
|
# Attic and its build dependencies
|
||
|
"$(nix path-info --inputs-from . attic)"
|
||
|
"$(nix path-info --inputs-from . attic --derivation)"
|
||
|
|
||
|
# The target installable and its build dependencies
|
||
|
"$(nix path-info "$INSTALLABLE" --derivation)"
|
||
|
"$(nix path-info "$INSTALLABLE")"
|
||
|
)
|
||
|
|
||
|
nix run --inputs-from . attic -- push conduit "${push_args[@]}"
|
||
|
else
|
||
|
echo "\$ATTIC_TOKEN is unset, skipping uploading to the binary cache"
|
||
|
fi
|