2014-09-21 12:09:35 +01:00
|
|
|
#! /usr/bin/env bash
|
|
|
|
set -e
|
|
|
|
|
2014-10-14 13:31:43 +01:00
|
|
|
export NIX_CURL_FLAGS=-sS
|
|
|
|
|
2014-10-15 10:03:30 +01:00
|
|
|
if [[ $1 == nix ]]; then
|
2014-10-15 17:50:28 +01:00
|
|
|
echo "=== Installing Nix..."
|
2014-10-15 10:03:30 +01:00
|
|
|
# Install Nix
|
2014-10-15 17:45:13 +01:00
|
|
|
bash <(curl -sS https://nixos.org/nix/install)
|
2014-10-15 10:03:30 +01:00
|
|
|
source $HOME/.nix-profile/etc/profile.d/nix.sh
|
2014-09-21 12:09:35 +01:00
|
|
|
|
2014-10-15 10:03:30 +01:00
|
|
|
# Make sure we can use hydra's binary cache
|
|
|
|
sudo mkdir /etc/nix
|
2016-02-28 19:17:52 +00:00
|
|
|
sudo sh -c 'echo "build-max-jobs = 4" > /etc/nix/nix.conf'
|
2014-09-21 12:09:35 +01:00
|
|
|
|
2014-10-15 10:03:30 +01:00
|
|
|
# Verify evaluation
|
2014-10-15 17:50:28 +01:00
|
|
|
echo "=== Verifying that nixpkgs evaluates..."
|
|
|
|
nix-env -f. -qa --json >/dev/null
|
2014-10-15 10:23:34 +01:00
|
|
|
elif [[ $1 == nox ]]; then
|
2016-05-31 12:59:24 +01:00
|
|
|
source $HOME/.nix-profile/etc/profile.d/nix.sh
|
2014-10-15 17:50:28 +01:00
|
|
|
echo "=== Installing nox..."
|
2016-06-01 15:31:14 +01:00
|
|
|
nix-build -A nox '<nixpkgs>' --show-trace
|
2014-10-15 10:03:30 +01:00
|
|
|
elif [[ $1 == build ]]; then
|
2014-10-15 10:52:23 +01:00
|
|
|
source $HOME/.nix-profile/etc/profile.d/nix.sh
|
|
|
|
|
2016-05-31 11:34:59 +01:00
|
|
|
if [[ $TRAVIS_OS_NAME == "osx" ]]; then
|
2016-05-31 18:58:59 +01:00
|
|
|
echo "Skipping NixOS things on darwin"
|
2016-05-31 11:34:59 +01:00
|
|
|
else
|
2016-05-31 18:58:59 +01:00
|
|
|
echo "=== Checking NixOS options"
|
2016-06-01 15:31:14 +01:00
|
|
|
nix-build nixos/release.nix -A options --show-trace
|
2016-05-31 18:58:59 +01:00
|
|
|
|
|
|
|
echo "=== Checking tarball creation"
|
2016-06-01 15:31:14 +01:00
|
|
|
nix-build pkgs/top-level/release.nix -A tarball --show-trace
|
2016-05-31 11:34:59 +01:00
|
|
|
fi
|
2016-02-25 15:59:35 +00:00
|
|
|
|
2014-10-15 10:03:30 +01:00
|
|
|
if [[ $TRAVIS_PULL_REQUEST == false ]]; then
|
2015-01-01 21:16:31 +00:00
|
|
|
echo "=== Not a pull request"
|
2014-10-15 10:03:30 +01:00
|
|
|
else
|
2014-10-15 17:50:28 +01:00
|
|
|
echo "=== Checking PR"
|
2015-06-20 19:15:39 +01:00
|
|
|
|
2016-05-31 12:59:24 +01:00
|
|
|
if ! nix-shell -p nox --run "nox-review pr ${TRAVIS_PULL_REQUEST}"; then
|
2015-06-20 19:15:39 +01:00
|
|
|
if sudo dmesg | egrep 'Out of memory|Killed process' > /tmp/oom-log; then
|
|
|
|
echo "=== The build failed due to running out of memory:"
|
|
|
|
cat /tmp/oom-log
|
|
|
|
echo "=== Please disregard the result of this Travis build."
|
|
|
|
fi
|
|
|
|
exit 1
|
|
|
|
fi
|
2014-10-15 10:03:30 +01:00
|
|
|
fi
|
|
|
|
else
|
|
|
|
echo "$0: Unknown option $1" >&2
|
|
|
|
false
|
2014-09-21 12:09:35 +01:00
|
|
|
fi
|