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 '' -A ruby)/bin/ruby time sudo $ruby helper/wait-for-network-idle.rb $cachixPid fi