@@ -0,0 +1,33 @@
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.22 GHCVER=7.10.3
6+ - CABALVER=1.24 GHCVER=8.0.1
7+
8+# Note: the distinction between `before_install` and `install` is not important.
9+before_install:
10+ - travis_retry sudo add-apt-repository -y ppa:hvr/ghc
11+ - travis_retry sudo apt-get update
12+ - travis_retry sudo apt-get install cabal-install-$CABALVER ghc-$GHCVER happy-1.19.5 alex-3.1.7 libblas-dev liblapack-dev
13+ - export PATH=/opt/alex/3.1.7/bin:/opt/happy/1.19.5/bin:/opt/ghc/$GHCVER/bin:/opt/cabal/$CABALVER/bin:$HOME/.cabal/bin:$PATH
14+
15+install:
16+ - cabal --version
17+ - echo "$(ghc --version) [$(ghc --print-project-git-commit-id 2> /dev/null || echo '?')]"
18+ - travis_retry cabal update
19+ - git submodule update --init
20+ - cabal sandbox init
21+ - CABAL_SOURCES=$(find lib -maxdepth 4 ! -path lib/\*/bin/\* ! -path lib/\*/lib/\* -name \*.cabal | xargs -L 1 dirname)
22+ - for CABAL_SOURCE in $CABAL_SOURCES; do cabal sandbox add-source -- $CABAL_SOURCE; done
23+
24+ - cabal install --enable-tests --enable-benchmarks
25+
26+notifications:
27+ email: false
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+ - cabal build
32+ - cabal test --show-details=streaming
33+