summaryrefslogtreecommitdiff
path: root/.travis.yml
blob: 9c8f181887ce8d9ee1a7bd7324855c2c71c60550 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# NB: don't set `language: haskell` here

# The following enables several GHC versions to be tested; often it's enough to test only against the last release in a major GHC version. Feel free to omit lines listings versions you don't need/want testing for.
env:
# - GHCVER=6.12.3
 - GHCVER=7.4.2
 - GHCVER=7.6.3
 - GHCVER=7.8.1 # see note about Alex/Happy
# - GHCVER=head  # see section about GHC HEAD snapshots

# Note: the distinction between `before_install` and `install` is not important.
before_install:
 - travis_retry sudo add-apt-repository -y ppa:hvr/ghc
 - travis_retry sudo apt-get update
 - travis_retry sudo apt-get install cabal-install-1.18 ghc-$GHCVER alex happy
 - export PATH=/opt/ghc/$GHCVER/bin:$PATH

install:
 - cabal-1.18 update
 - |
   if [ $GHCVER = "head" ] || [ $GHCVER = "7.8.1" ]; then
     cabal-1.18 install happy alex
     export PATH=$HOME/.cabal/bin:$PATH
   fi
# - git clone https://github.com/jgm/pandoc-types && cd pandoc-types && cabal-1.18 install && cd ..
 - cabal-1.18 install --only-dependencies --enable-tests

# Here starts the actual work to be performed for the package under test; any command which exits with a non-zero exit code causes the build to fail.
script:
 - cabal-1.18 configure --enable-tests -v2  # -v2 provides useful information for debugging
 - cabal-1.18 build --ghc-options=-Werror  # this builds all libraries and executables (including tests/benchmarks)
 - cabal-1.18 test
 - cabal-1.18 check