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: - cabal update # - ( $CABAL122 && cabal install cabal-install --constraint "Cabal >= 1.22" && ghc-pkg unregister Cabal ) || true - echo $PATH - which cabal - if [ -n "$(cabal --version | grep 'Cabal library' | awk '{ print $3 }' | tail -n1 | sed -n '/^1.18/p')" ]; then cabal install cabal-install --constraint "Cabal == 1.18.* && > 1.18.0"; fi - cabal install happy - happy --version # - ls -lR ~/.ghc # - ls -lR ~/.cabal - cabal install -j --only-dependencies --enable-tests - git clone --depth=1 https://github.com/DanielG/cabal-helper.git - cabal install cabal-helper/ 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