Travis: chop build in install and build phases
This allows us to see how long install takes. Also, build from hydra binaries as much as possible.
This commit is contained in:
parent
f594033822
commit
0083284ad8
2 changed files with 30 additions and 24 deletions
|
@ -1,3 +1,5 @@
|
|||
language: python
|
||||
python: "3.4"
|
||||
script: ./maintainers/scripts/travis-nox-review-pr.sh
|
||||
before_install: ./maintainers/scripts/travis-nox-review-pr.sh nix
|
||||
install: ./maintainers/scripts/travis-nox-review-pr.sh nox
|
||||
script: ./maintainers/scripts/travis-nox-review-pr.sh build
|
||||
|
|
|
@ -3,33 +3,37 @@ set -e
|
|||
|
||||
export NIX_CURL_FLAGS=-sS
|
||||
|
||||
# Install Nix
|
||||
echo "=== Installing Nix..."
|
||||
bash <(curl -sS https://nixos.org/nix/install) >/dev/null 2>&1
|
||||
source $HOME/.nix-profile/etc/profile.d/nix.sh
|
||||
if [[ $1 == nix ]]; then
|
||||
# Install Nix
|
||||
bash <(curl -sS https://nixos.org/nix/install) >/dev/null 2>&1
|
||||
source $HOME/.nix-profile/etc/profile.d/nix.sh
|
||||
|
||||
# Make sure we can use hydra's binary cache
|
||||
sudo mkdir /etc/nix
|
||||
sudo tee /etc/nix/nix.conf <<EOF >/dev/null
|
||||
# Make sure we can use hydra's binary cache
|
||||
sudo mkdir /etc/nix
|
||||
sudo tee /etc/nix/nix.conf <<EOF >/dev/null
|
||||
binary-caches = http://cache.nixos.org http://hydra.nixos.org
|
||||
trusted-binary-caches = http://hydra.nixos.org
|
||||
build-max-jobs = 4
|
||||
EOF
|
||||
|
||||
echo "=== Checking evaluation, including meta"
|
||||
nix-env -f. -qa --json >/dev/null
|
||||
|
||||
if [ "${TRAVIS_PULL_REQUEST}" = "false" ]; then
|
||||
echo "===> Not a pull request, checking evaluation"
|
||||
nix-build pkgs/top-level/release.nix -A tarball
|
||||
exit 0
|
||||
# Verify evaluation
|
||||
nix-env -f. -qa --json >/dev/null
|
||||
elif [[ $1 == nox && $TRAVIS_PULL_REQUEST != false ]]; then
|
||||
git clone -q https://github.com/madjar/nox
|
||||
pip --quiet install -e nox
|
||||
elif [[ $1 == build ]]; then
|
||||
if [[ $TRAVIS_PULL_REQUEST == false ]]; then
|
||||
echo "===> Not a pull request, checking evaluation"
|
||||
nix-build pkgs/top-level/release.nix -A tarball
|
||||
else
|
||||
# The current HEAD is the PR merged into origin/master, so we compare
|
||||
# against origin/master
|
||||
# However, since we want to optimize build time, we compare against
|
||||
# the last commit Hydra compiled
|
||||
built_rev=$(ls -l $HOME/.nix-defexpr/channels/nixpkgs | sed 's/.*\.\(.*\)\/nixpkgs/\1/')
|
||||
nox-review wip --against $built_rev
|
||||
fi
|
||||
else
|
||||
echo "$0: Unknown option $1" >&2
|
||||
false
|
||||
fi
|
||||
|
||||
echo "=== Installing nox"
|
||||
git clone -q https://github.com/madjar/nox
|
||||
pip --quiet install -e nox
|
||||
|
||||
echo "=== Reviewing PR"
|
||||
# The current HEAD is the PR merged into origin/master, so we compare
|
||||
# against origin/master
|
||||
nox-review wip --against origin/master
|
||||
|
|
Loading…
Reference in a new issue