git.iko.soy/typeable/stackage2nix
on master help sign in
Add Travis Nix build
9fb6fbdDmitry Bushev
.travis.yml+18−1
@@ -1,5 +1,7 @@
1sudo: false
1sudo: false
2
2
3+language: nix
4+
3addons:
5addons:
4 apt:
6 apt:
5 packages:
7 packages:
@@ -10,11 +12,26 @@ cache:
10 directories:
12 directories:
11 - $HOME/.stack
13 - $HOME/.stack
12
14
15+matrix:
16+ include:
17+ - env: BUILD=stack
18+ - env: BUILD=nix
19+ allow_failures:
20+ - env: BUILD=nix
21+
13before_install:
22before_install:
14# Download and unpack the stack executable
23# Download and unpack the stack executable
15- mkdir -p ~/.local/bin
24- mkdir -p ~/.local/bin
16- export PATH=$HOME/.local/bin:$PATH
25- export PATH=$HOME/.local/bin:$PATH
17- travis_retry curl -L https://www.stackage.org/stack/linux-x86_64 | tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack'
26- travis_retry curl -L https://www.stackage.org/stack/linux-x86_64 | tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack'
18
27
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+
19script:
34script:
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