766fa4f300
This further speeds up builds, in particular the modules test in the next commit. By checking if the expected final build output has already been cached, we can even skip the download of cached builds.
58 lines
2.7 KiB
YAML
58 lines
2.7 KiB
YAML
language: shell
|
|
|
|
install:
|
|
# Retry installing nix due to nondeterministic error
|
|
# Fatal error: glibc detected an invalid stdio handle
|
|
# see:
|
|
# https://github.com/nh2/static-haskell-nix/pull/27#issuecomment-502652181
|
|
# https://github.com/nixos/nix/issues/2733
|
|
- (for i in {1..5}; do bash <(curl https://nixos.org/nix/install) && exit 0; done; exit 1)
|
|
- . /home/travis/.nix-profile/etc/profile.d/nix.sh
|
|
- if [[ $STABLE == 1 ]]; then export NIX_PATH="nixpkgs=$(nix eval --raw -f pkgs/nixpkgs-pinned.nix nixpkgs)"; fi
|
|
- if [[ $STABLE == 0 ]]; then export NIX_PATH="nixpkgs=$(nix eval --raw -f pkgs/nixpkgs-pinned.nix nixpkgs-unstable)"; fi
|
|
- nix-env -iA cachix -f https://cachix.org/api/v1/install
|
|
- cachix use nix-bitcoin
|
|
- VER="$(nix eval nixpkgs.lib.version)"
|
|
env:
|
|
global:
|
|
# CACHIX_SIGNING_KEY
|
|
- secure: "xXCFZ7g+k5YmCGm8R8l3bZElVmt+RD1KscG3kGr5w4HyyDPTzFetPo+sT8bUpysDU0u3HWhfVhHtpog2mhNhwVl3tQwKXea3dHKC1i6ypBg3gjDngmJRR5wo++ocYDpK8qPaU7m/jHQTNFnTA4CbmMcc05GcYx/1Ai/ZGkNwWFjdIcVeOUoiol33gykMOXIGDg2qlXudt33wP53FHbX8L4fxzodWfAuxKK4AoGprxy5eSnU7LCaXxxJmu4HwuV+Ux2U1NfE/E33cvhlUvTQCswVSZFG06mg8rwhMG1ozsDvlL2itZlu/BeUQH5y3XMMlnJIUXUazkRBibf1w/ebVjpOF+anqkqmq8tcbFEa7T+RJeVTIsvP+L8rE8fcmuZtdg9hNmgRnLmaeT0vVwD1L2UqW9HdRyujdoS0jPYuoc1W7f1JQWfAPhBPQ1SrtKyNNqcbVJ34aN7b+4vCzRpQL1JTbmjzQIWhkiKN1qMo1v/wbIydW8yka4hc4JOfdQLaAJEPI1eAC1MLotSAegMnwKWE1dzm66MuPSipksYjZrvsB28cV4aCVUffIuRhrSr1i2afRHwTpNbK9U4/576hah15ftUdR79Sfkcoi1ekSQTFGRvkRIPYtkKLYwFa3jVA41qz7+IIZCf4TsApy3XDdFx91cRub7yPq9BeZ83A+qYQ="
|
|
jobs:
|
|
- PKG=nodeinfo STABLE=1
|
|
- PKG=hwi STABLE=1
|
|
- PKG=lightning-charge STABLE=1
|
|
- PKG=lightning-charge STABLE=0
|
|
- PKG=nanopos STABLE=1
|
|
- PKG=nanopos STABLE=0
|
|
- PKG=spark-wallet STABLE=1
|
|
- PKG=elementsd STABLE=1
|
|
- PKG=elementsd STABLE=0
|
|
- PKG=electrs STABLE=1
|
|
# broken
|
|
# - PKG=electrs STABLE=0
|
|
- PKG=liquid-swap STABLE=1
|
|
script:
|
|
- printf '%s (%s)\n' "$NIX_PATH" "$VER"
|
|
- time nix-instantiate -A $PKG --add-root ./drv --indirect
|
|
- outPath=$(nix-store --query ./drv)
|
|
- |
|
|
if nix path-info --store https://nix-bitcoin.cachix.org $outPath &>/dev/null; then
|
|
echo "$outPath" has already been built successfully.
|
|
travis_terminate 0
|
|
fi
|
|
# Travis doesn't expose secrets to pull-request builds,
|
|
# so skip cache uploading in this case
|
|
- |
|
|
if [[ $CACHIX_SIGNING_KEY ]]; then
|
|
cachix push nix-bitcoin --watch-store &
|
|
cachixPid=$!
|
|
fi
|
|
- nix-build ./drv
|
|
- |
|
|
if [[ $CACHIX_SIGNING_KEY ]]; then
|
|
# Wait until cachix has finished uploading
|
|
# Run as root because yama/ptrace_scope != 0
|
|
ruby=$(nix-build '<nixpkgs>' -A ruby)/bin/ruby
|
|
time sudo $ruby helper/wait-for-network-idle.rb $cachixPid
|
|
fi
|