summaryrefslogtreecommitdiff
path: root/.travis.yml
blob: 4979593d031a37524ceee117f6f43d99945f799a (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
34
35
36
37
38
39
# NB: don't set `language: haskell` here

# Ensures that sudo is disabled, so that containerized builds are allowed
sudo: false

# 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.
matrix:
 include:
  - env: CABALVER=1.16 GHCVER=7.4.2 GHCOPTS="-Werror" JOPTS=""
    addons: {apt: {packages: [cabal-install-1.16, ghc-7.4.2], sources: [hvr-ghc]}}
  - env: CABALVER=1.18 GHCVER=7.6.3 GHCOPTS="-Werror" JOPTS="-j2"
    addons: {apt: {packages: [cabal-install-1.18, ghc-7.6.3], sources: [hvr-ghc]}}
  - env: CABALVER=1.18 GHCVER=7.8.4 GHCOPTS="-Werror" JOPTS="-j2"
    addons: {apt: {packages: [cabal-install-1.18, ghc-7.8.4], sources: [hvr-ghc]}}
  - env: CABALVER=head GHCVER=7.10.1 GHCOPTS="" JOPTS="-j2"
    addons: {apt: {packages: [cabal-install-head, ghc-7.10.1],sources: [hvr-ghc]}}
#  - env: CABALVER=head GHCVER=head GHCOPTS="-Werror" JOPTS="-j2"
#    addons: {apt: {packages: [cabal-install-head,ghc-head],  sources: [hvr-ghc]}}

# Note: the distinction between `before_install` and `install` is not important.
before_install:
 - export PATH=/opt/ghc/$GHCVER/bin:/opt/cabal/$CABALVER/bin:$PATH

install:
 - cabal-$CABALVER update
# - git clone https://github.com/jgm/pandoc-types && cd pandoc-types && cabal-1.18 install && cd ..
 - cabal-$CABALVER install $JOPTS --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:
 - |
   if [ "${CABALVER}" != "1.16" ]; then
      cabal-$CABALVER sdist --output-directory=build
      cd build
   fi
 - cabal-$CABALVER configure --enable-tests -v2  # -v2 provides useful information for debugging
 - cabal-$CABALVER build $JOPTS --ghc-options=$GHCOPTS # this builds all libraries and executables (including tests/benchmarks)
 - cabal-$CABALVER test
 - cabal-$CABALVER check