60 lines
1.6 KiB
YAML
60 lines
1.6 KiB
YAML
language: haskell
|
|
ghc:
|
|
- 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
|