e68cb010ba
Advantages: - Pure test evaluations - The test framework can now be used by flakes that extend nix-bitcoin - Most features of `run-tests.sh` are now accessible via `nix build`/`nix run`. We keep `run-tests.sh` for advanced features like `scenarioOverridesFile` and adhoc scenarios. Other changes: - `run-tests.sh` now builds aggregate VM tests like `basic` or `buildable` by creating all VMs in a single evaluation. This speeds up the tests and eases debugging by separating the eval and build steps. - Use the new `nix` CLI which has improved build output logging by prefixing output lines with the origin drv name.
23 lines
585 B
Bash
Executable File
23 lines
585 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# This script can also be run locally for testing:
|
|
# ./build.sh <scenario>
|
|
#
|
|
# When variable CIRRUS_CI is unset, this script leaves no persistent traces on the host system.
|
|
|
|
set -euo pipefail
|
|
|
|
scenario=$1
|
|
|
|
if [[ -v CIRRUS_CI ]]; 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
|
|
|
|
cd "${BASH_SOURCE[0]%/*}"
|
|
exec ./build-to-cachix.sh --expr "(builtins.getFlake (toString ../..)).legacyPackages.\${builtins.currentSystem}.tests.$scenario"
|