language: haskell ghc: - 7.4 - 7.6 - 7.8 sudo: false addons: apt: packages: - zlib1g-dev cache: apt: true directories: - ~/.cabal - ~/.ghc - ~/.stack before_cache: - rm -f $HOME/.cabal/logs $HOME/.cabal/packages/*/build-reports.log before_install: - wget https://github.com/commercialhaskell/stack/releases/download/v0.1.3.1/stack-0.1.3.1-x86_64-linux.gz - mkdir stack-bin - gunzip stack-0.1.3.1-x86_64-linux.gz - mv stack-0.1.3.1-x86_64-linux stack-bin/stack - chmod +x stack-bin/stack - export PATH=$(pwd)/stack-bin:$PATH - stack --version install: - export CABAL_VER="$(ghc-pkg describe ghc | sed -n '/^depends:/,/^[a-z]/p' | head -n-1 | sed '1{s/^depends://}' | grep " *Cabal" | tr -d "[:space:]" | sed 's/^Cabal-\([0-9.]*\)-.*/\1/g')" - echo $CABAL_VER - cabal update - cabal install happy - happy --version - git clone --depth=1 https://github.com/DanielG/cabal-helper.git - cabal install cabal-helper/ --constraint "Cabal == ${CABAL_VER}" - cabal install -j --only-dependencies --enable-tests script: - touch ChangeLog # Create ChangeLog if we're not on the release branch - cabal check - cabal sdist - export SRC_TGZ="$PWD/dist/$(cabal info . | awk '{print $2 ".tar.gz";exit}')" - rm -rf /tmp/test && mkdir -p /tmp/test - cd /tmp/test - tar -xf $SRC_TGZ && cd ghc-mod*/ - if [ -n "$(ghc --version | awk '{ print $8 }' | sed -n '/^7.8/p')" ]; then export WERROR="--ghc-option=-Werror"; fi - cabal configure --enable-tests $WERROR - cabal build - export ghc_mod_datadir=$PWD - cabal test matrix: allow_failures: - env: GHCVER=head