From c992f75b3f767791d311bb4f45964b8c03fa0aca Mon Sep 17 00:00:00 2001 From: Abhinav Sarkar Date: Tue, 30 Jun 2015 23:49:16 +0530 Subject: [PATCH] Adds multi GHC travis builds. --- .travis.yml | 65 ++++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 54 insertions(+), 11 deletions(-) diff --git a/.travis.yml b/.travis.yml index 1f3eefb..9c83ce5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,16 +1,59 @@ language: haskell -ghc: 7.8 + +env: + - CABALVER=1.18 GHCVER=7.6.3 + - CABALVER=1.18 GHCVER=7.8.4 + - CABALVER=1.22 GHCVER=7.10.2 + - CABALVER=head GHCVER=head + +matrix: + allow_failures: + - env: GHCVER=head + before_install: - - "cabal sandbox init" - - "cd hask-irc-core" - - "cabal sandbox init --sandbox=../.cabal-sandbox" - - "cd ../hask-irc-handlers" - - "cabal sandbox init --sandbox=../.cabal-sandbox" - - "cabal sandbox add-source ../hask-irc-core/" - - "cd ../hask-irc-runner" - - "cabal sandbox init --sandbox=../.cabal-sandbox" - - "cabal sandbox add-source ../hask-irc-core/" - - "cabal sandbox add-source ../hask-irc-handlers/" + - | + if [ $GHCVER = `ghc --numeric-version` ]; then + travis/cabal-apt-install --enable-tests $MODE + export CABAL=cabal + else + # Install the GHC we want from hvr's PPA + 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 + export CABAL=cabal-$CABALVER + export PATH=/opt/ghc/$GHCVER/bin:/opt/cabal/$CABALVER/bin:$PATH + fi + - $CABAL update + - $CABAL sandbox init + - cd hask-irc-core + - $CABAL sandbox init --sandbox=../.cabal-sandbox + - cd ../hask-irc-handlers + - $CABAL sandbox init --sandbox=../.cabal-sandbox + - $CABAL sandbox add-source ../hask-irc-core/ + - cd ../hask-irc-runner + - $CABAL sandbox init --sandbox=../.cabal-sandbox + - $CABAL sandbox add-source ../hask-irc-core/ + - $CABAL sandbox add-source ../hask-irc-handlers/ + +install: + - $CABAL install --dependencies-only + +script: + - $CABAL build + + # tests that a source-distribution can be generated + - cabal sdist + + # check that the generated source-distribution can be built & installed + - export SRC_TGZ=$(cabal info . | awk '{print $2 ".tar.gz";exit}') ; + cd dist/; + if [ -f "$SRC_TGZ" ]; then + cabal install --force-reinstalls "$SRC_TGZ"; + else + echo "expected '$SRC_TGZ' not found"; + exit 1; + fi + notifications: email: true irc: