# Travis file initially created at 2015-05-31 using template from # # and taking the idea of using cabal-meta from yesodweb/yesod. # NB: don't set `language: haskell` here services: - redis-server addons: postgresql: "9.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. env: #- CABALVER=1.16 GHCVER=6.12.3 #- CABALVER=1.16 GHCVER=7.0.1 #- CABALVER=1.16 GHCVER=7.0.2 #- CABALVER=1.16 GHCVER=7.0.3 #- CABALVER=1.16 GHCVER=7.0.4 #- CABALVER=1.16 GHCVER=7.2.1 #- CABALVER=1.16 GHCVER=7.2.2 #- CABALVER=1.16 GHCVER=7.4.1 #- CABALVER=1.16 GHCVER=7.4.2 #- CABALVER=1.16 GHCVER=7.6.1 #- CABALVER=1.16 GHCVER=7.6.2 #- CABALVER=1.18 GHCVER=7.6.3 #- CABALVER=1.18 GHCVER=7.8.1 # see note about Alex/Happy for GHC >= 7.8 #- CABALVER=1.18 GHCVER=7.8.2 #- CABALVER=1.18 GHCVER=7.8.3 #- CABALVER=1.18 GHCVER=7.8.4 - CABALVER=1.20 GHCVER=7.8.4 - CABALVER=1.22 GHCVER=7.10.1 #- CABALVER=1.22 GHCVER=7.10.2 #- CABALVER=head 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-$CABALVER ghc-$GHCVER # see note about happy/alex - export PATH=/opt/ghc/$GHCVER/bin:/opt/cabal/$CABALVER/bin:$HOME/.cabal/bin:$PATH install: - cabal --version - echo "$(ghc --version) [$(ghc --print-project-git-commit-id 2> /dev/null || echo '?')]" - travis_retry cabal update - cabal install cabal-src cabal-meta alex happy before_script: - psql -c "CREATE USER test WITH PASSWORD 'test';" -U postgres - psql -c "CREATE DATABASE test;" -U postgres - psql -c "GRANT ALL PRIVILEGES ON DATABASE test TO test;" -U postgres # 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-meta install --enable-tests --enable-benchmarks --force-reinstalls - serversession/dist/build/tests/tests - serversession-backend-acid-state/dist/build/tests/tests - du -hcs state; rm -Rfv state - serversession-backend-persistent/dist/build/tests/tests --skip=100\ MiB - du -hcs test.db*; rm -Rfv test.db* - psql -c 'SELECT COUNT(*) FROM "persistent_session";' -U test test; psql -c 'DROP DATABASE test;' -U postgres - serversession-backend-redis/dist/build/tests/tests - redis-cli FLUSHALL