move ci/ to test/
This commit is contained in:
47
test/ci/build-to-cachix.sh
Executable file
47
test/ci/build-to-cachix.sh
Executable file
@@ -0,0 +1,47 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Build a single-output derivation and store it in 'cachixCache'.
|
||||
# Skip the build if it is already cached.
|
||||
# Accepts the same arguments as nix-instantiate.
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
CACHIX_SIGNING_KEY=${CACHIX_SIGNING_KEY:-}
|
||||
cachixCache=nix-bitcoin
|
||||
|
||||
trap 'echo Error at line $LINENO' ERR
|
||||
|
||||
tmpDir=$(mktemp -d -p /tmp)
|
||||
trap "rm -rf $tmpDir" EXIT
|
||||
|
||||
## Instantiate
|
||||
|
||||
time nix-instantiate "$@" --add-root $tmpDir/drv --indirect > /dev/null
|
||||
printf "instantiated "; realpath $tmpDir/drv
|
||||
|
||||
outPath=$(nix-store --query $tmpDir/drv)
|
||||
if nix path-info --store https://$cachixCache.cachix.org $outPath &>/dev/null; then
|
||||
echo "$outPath has already been built successfully."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
## Build
|
||||
|
||||
if [[ -v CIRRUS_CI ]]; then
|
||||
cachix use $cachixCache
|
||||
fi
|
||||
|
||||
if [[ $CACHIX_SIGNING_KEY ]]; then
|
||||
# Speed up task by uploading store paths as soon as they are created
|
||||
buildCmd="cachix watch-exec $cachixCache nix-build --"
|
||||
else
|
||||
buildCmd=nix-build
|
||||
fi
|
||||
|
||||
$buildCmd --out-link $tmpDir/result $tmpDir/drv >/dev/null
|
||||
|
||||
if [[ $CACHIX_SIGNING_KEY ]]; then
|
||||
cachix push $cachixCache $outPath
|
||||
fi
|
||||
|
||||
echo $outPath
|
||||
29
test/ci/build.sh
Executable file
29
test/ci/build.sh
Executable file
@@ -0,0 +1,29 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# This script can also be run locally for testing:
|
||||
# scenario=default ./build.sh
|
||||
#
|
||||
# When variable CIRRUS_CI is unset, this script leaves no persistent traces on the host system.
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
scenario=${scenario:-}
|
||||
|
||||
if [[ -v CIRRUS_CI && $scenario ]]; then
|
||||
if [[ ! -e /dev/kvm ]]; then
|
||||
>&2 echo "No KVM available on VM host."
|
||||
exit 1
|
||||
fi
|
||||
# Enable KVM access for nixbld users
|
||||
chmod o+rw /dev/kvm
|
||||
fi
|
||||
|
||||
echo "$NIX_PATH ($(nix eval --raw nixpkgs.lib.version))"
|
||||
|
||||
if [[ $scenario ]]; then
|
||||
testArgs="--scenario $scenario"
|
||||
else
|
||||
testArgs=pkgsUnstable
|
||||
fi
|
||||
|
||||
"${BASH_SOURCE[0]%/*}/../run-tests.sh" --ci --scenario $scenario
|
||||
@@ -199,7 +199,7 @@ doBuild() {
|
||||
name=$1
|
||||
shift
|
||||
if [[ $ciBuild ]]; then
|
||||
"$scriptDir/../ci/build-to-cachix.sh" "$@"
|
||||
"$scriptDir/ci/build-to-cachix.sh" "$@"
|
||||
else
|
||||
if [[ $outLinkPrefix ]]; then
|
||||
outLink="--out-link $outLinkPrefix-$name"
|
||||
|
||||
Reference in New Issue
Block a user