language: c sudo: false cache: apt: true directories: - $HOME/.stack - $HOME/.ghc-mod addons: apt: packages: - libfcgi-dev - libgmp-dev before_install: - unset CC - mkdir -p ~/.local/bin - export PATH=$HOME/.local/bin:$PATH - travis_retry curl -L https://www.stackage.org/stack/linux-x86_64 | tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack' - stack --version install: # - git clone --depth=1 https://github.com/DanielG/cabal-helper.git - stack --no-terminal setup --resolver=ghc-$GHCVER - stack --no-terminal install cabal-install --resolver=$RES - travis_retry cabal update - stack --no-terminal install happy --resolver=$RES - | resf="ghc-$GHCVER.yaml" echo "resolver: ghc-$GHCVER" > "$resf" echo "packages: ['.']" >> "$resf" stack --no-terminal solver --update-config --stack-yaml="$resf" || exit 101 sed -i 's/^resolver:/compiler:/;s/^extra-deps:/packages:/' "$resf" echo "resolver: { name: 'ghc-$GHCVER', location: './$resf' }" > stack.yaml echo "packages: ['.']" >> stack.yaml ir=$( stack path --snapshot-install-root ) ls -d ${ir%/custom-ghc-*}/custom-ghc-* | grep -v "${ir%/*}" | while read i; do rm -rfv "$i" done script: - cabal check - | case "$TRAVIS_BRANCH" in "release"*) touch ChangeLog sdistdir="$TRAVIS_BUILD_DIR/../sdist-test" mkdir -p "$sdistdir" tar zvxf $(stack sdist 2>&1 | tail -n1 | sed 's/.* //') --strip-components=1 -C "$sdistdir" cp "ghc-$GHCVER.yaml" stack.yaml "$sdistdir" cd "$sdistdir" ;; esac - stack --no-terminal build --test --no-run-tests - export DOCTEST_DIST_DIR="$(stack path --dist-dir)" - stack --no-terminal test matrix: matrix: include: - env: GHCVER=7.8.4 RES=lts-2.22 compiler: ': #GHC 7.8.4' - env: GHCVER=7.10.3 RES=lts-6.9 compiler: ': #GHC 7.10.3' - env: GHCVER=8.0.1 RES=nightly-2016-08-01 compiler: ': #GHC 8.0.1'