64 lines
1.7 KiB
YAML
64 lines
1.7 KiB
YAML
language: haskell
|
|
ghc:
|
|
- 7.4
|
|
- 7.6
|
|
- 7.8
|
|
|
|
sudo: false
|
|
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- zlib1g-dev
|
|
|
|
cache:
|
|
apt: true
|
|
directories:
|
|
- ~/.cabal
|
|
- ~/.ghc
|
|
|
|
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
|