Travis: Test 7.10.1
[ghc-heap-view.git] / .travis.yml
1 # NB: don't set `language: haskell` here
2
3 # 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.
4 env:
5  - CABALVER=1.18 GHCVER=7.6.3
6  - CABALVER=1.18 GHCVER=7.8.4
7  - CABALVER=1.22 GHCVER=7.10.1
8  - CABALVER=1.22 GHCVER=7.10.2
9  - CABALVER=head GHCVER=head   # see section about GHC HEAD snapshots
10
11 matrix:
12   allow_failures:
13    - env: CABALVER=1.22 GHCVER=7.10.2
14    - env: CABALVER=head GHCVER=head
15
16 # Note: the distinction between `before_install` and `install` is not important.
17 before_install:
18  - travis_retry sudo add-apt-repository -y ppa:hvr/ghc
19  - travis_retry sudo apt-get update
20  - travis_retry sudo apt-get install cabal-install-$CABALVER ghc-$GHCVER # see note about happy/alex
21  - export PATH=/opt/ghc/$GHCVER/bin:/opt/cabal/$CABALVER/bin:$PATH
22
23 install:
24  - cabal --version
25  - echo "$(ghc --version) [$(ghc --print-project-git-commit-id 2> /dev/null || echo '?')]"
26  - travis_retry cabal update
27  - cabal install --only-dependencies --enable-tests --enable-benchmarks
28
29 # 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.
30 script:
31  - if [ -f configure.ac ]; then autoreconf -i; fi
32  - cabal configure --enable-tests --enable-benchmarks -v2  # -v2 provides useful information for debugging
33  - cabal build   # this builds all libraries and executables (including tests/benchmarks)
34  - cabal test
35  - cabal check
36  - cabal sdist   # tests that a source-distribution can be generated
37
38 # Check that the resulting source distribution can be built & installed.
39 # If there are no other `.tar.gz` files in `dist`, this can be even simpler:
40 # `cabal install --force-reinstalls dist/*-*.tar.gz`
41  - SRC_TGZ=$(cabal info . | awk '{print $2;exit}').tar.gz &&
42    (cd dist && cabal install --force-reinstalls "$SRC_TGZ")