git.iko.soy/typeable/stackage2nix
on master help sign in
Add Travis Nix build
commit9fb6fbde1182feec147b71894d06e4956a53c00d authorDmitry Bushev <bushevdv@gmail.com> dateFri 16 Jun 2017, 00:21 (9 years ago) parentc2c5d44
3 files changed+39−14
.travis.yml+18−1 nix-test+21 test.sh−13
.travis.yml+18−1
@@ -1,5 +1,7 @@
11sudo: false
22
3+language: nix
4+
35addons:
46 apt:
57 packages:
@@ -10,11 +12,26 @@ cache:
1012 directories:
1113 - $HOME/.stack
1214
15+matrix:
16+ include:
17+ - env: BUILD=stack
18+ - env: BUILD=nix
19+ allow_failures:
20+ - env: BUILD=nix
21+
1322before_install:
1423# Download and unpack the stack executable
1524- mkdir -p ~/.local/bin
1625- export PATH=$HOME/.local/bin:$PATH
1726- travis_retry curl -L https://www.stackage.org/stack/linux-x86_64 | tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack'
1827
28+install:
29+# cabal2nix dependencies
30+- nix-env -i nix-prefetch-git
31+- stack -j2 --no-terminal --install-ghc install cabal-install
32+- stack -j2 exec -- cabal update
33+
1934script:
20−- stack --no-terminal --install-ghc test
35+- stack -j2 --no-terminal --install-ghc build --fast
36+- if [ $BUILD = stack ]; then stack -j2 --no-terminal test; fi
37+- if [ $BUILD = nix ]; then GHCRTS='-N2' ./nix-test -j2 --dry-run; fi
nix-testnew file+21
@@ -0,0 +1,21 @@
1+#!/usr/bin/env bash
2+
3+LTS_VERSION=${VERSION:-8.15}
4+STACKAGE_BUILD_PLAN_DIR=${STACKAGE_BUILD_PLAN_DIR:-~/lts-haskell}
5+ALL_CABAL_HASHES_DIR=${ALL_CABAL_HASHES_DIR:-~/all-cabal-hashes}
6+
7+if [ ! -d "$STACKAGE_BUILD_PLAN_DIR" ]; then
8+ git clone --depth 1 https://github.com/fpco/lts-haskell.git "$STACKAGE_BUILD_PLAN_DIR"
9+fi
10+
11+if [ ! -d "$ALL_CABAL_HASHES_DIR" ]; then
12+ git clone --depth 1 --branch hackage https://github.com/commercialhaskell/all-cabal-hashes.git "$ALL_CABAL_HASHES_DIR"
13+fi
14+
15+set -x
16+stack exec -- stack2nix \
17+ --stackage-build-plan "$STACKAGE_BUILD_PLAN_DIR/lts-$LTS_VERSION.yaml" \
18+ --all-cabal-hashes "$ALL_CABAL_HASHES_DIR"
19+set +x
20+
21+nix-build -A stack2nix "$@"
test.shdeleted−13
@@ -1,13 +0,0 @@
1−#!/usr/bin/env bash
2−
3−VERSION=${VERSION:-8.15}
4−
5−set -x
6−
7−stack2nix \
8− --stackage-build-plan "$HOME/projects/fpco/lts-haskell/lts-$VERSION.yaml" \
9− --all-cabal-hashes "$HOME/projects/commercialhaskell/all-cabal-hashes" \
10− --nix-stackage-config=nix/configuration-packages.nix \
11− --nix-stackage-packages=./nix/packages.nix
12−
13−nix-build -A stack2nix --dry-run