|
1 |
| -language: haskell |
2 |
| -ghc: |
3 |
| - -7.4 |
4 |
| - -7.6 |
| 1 | +# customized from https://github.com/hvr/multi-ghc-travis |
| 2 | +# _______________________________________________________ |
| 3 | + |
| 4 | +# NB: don't set `language: haskell` here |
| 5 | + |
| 6 | +# See also https://github.com/hvr/multi-ghc-travis for more information |
| 7 | + |
| 8 | +# The following lines enable several GHC versions and/or HP versions |
| 9 | +# to be tested; often it's enough to test only against the last |
| 10 | +# release of a major GHC version. Setting HPVER implictly sets |
| 11 | +# GHCVER. Omit lines with versions you don't need/want testing for. |
| 12 | +env: |
| 13 | + # - GHCVER=6.12.3 |
| 14 | + # - GHCVER=7.0.1 |
| 15 | + # - GHCVER=7.0.2 |
| 16 | + # - GHCVER=7.0.3 |
| 17 | + # - GHCVER=7.0.4 |
| 18 | + # - GHCVER=7.2.1 |
| 19 | + # - GHCVER=7.2.2 |
| 20 | + - GHCVER=7.4.1 AESONVER=0.6.1.0 |
| 21 | + # - GHCVER=7.4.2 |
| 22 | + # - GHCVER=7.6.1 |
| 23 | + # - GHCVER=7.6.2 |
| 24 | + - GHCVER=7.6.3 AESONVER=0.7.0.0 |
| 25 | + # - GHCVER=7.8.1 |
| 26 | + - HPVER=2013.2.0.0 |
| 27 | + - HPVER=2012.4.0.0 |
| 28 | + - HPVER=2012.2.0.0 |
| 29 | + # - HPVER=2011.4.0.0 |
| 30 | + |
| 31 | +# Note: the distinction between `before_install` and `install` is not |
| 32 | +# important. |
| 33 | +before_install: |
| 34 | + - case "$HPVER" in |
| 35 | + "") ;; |
| 36 | + |
| 37 | + "2013.2.0.0") |
| 38 | + export GHCVER=7.6.3 ; |
| 39 | + echo "constraints:async==2.0.1.4,attoparsec==0.10.4.0,case-insensitive==1.0.0.1,cgi==3001.1.7.5,fgl==5.4.2.4,GLUT==2.4.0.0,GLURaw==1.3.0.0,haskell-src==1.0.1.5,hashable==1.1.2.5,html==1.0.1.2,HTTP==4000.2.8,HUnit==1.2.5.2,mtl==2.1.2,network==2.4.1.2,OpenGL==2.8.0.0,OpenGLRaw==1.3.0.0,parallel==3.2.0.3,parsec==3.1.3,QuickCheck==2.6,random==1.0.1.1,regex-base==0.93.2,regex-compat==0.95.1,regex-posix==0.95.2,split==0.2.2,stm==2.4.2,syb==0.4.0,text==0.11.3.1,transformers==0.3.0.0,unordered-containers==0.2.3.0,vector==0.10.0.1,xhtml==3000.2.1,zlib==0.5.4.1" > cabal.config ;; |
| 40 | + |
| 41 | + "2012.4.0.0") |
| 42 | + export GHCVER=7.6.2 ; |
| 43 | + echo "constraints:async==2.0.1.3,cgi==3001.1.7.4,fgl==5.4.2.4,GLUT==2.1.2.1,haskell-src==1.0.1.5,html==1.0.1.2,HTTP==4000.2.5,HUnit==1.2.5.1,mtl==2.1.2,network==2.3.1.0,OpenGL==2.2.3.1,parallel==3.2.0.3,parsec==3.1.3,QuickCheck==2.5.1.1,random==1.0.1.1,regex-base==0.93.2,regex-compat==0.95.1,regex-posix==0.95.2,split==0.2.1.1,stm==2.4,syb==0.3.7,text==0.11.2.3,transformers==0.3.0.0,vector==0.10.0.1,xhtml==3000.2.1,zlib==0.5.4.0" > cabal.config ;; |
| 44 | + |
| 45 | + "2012.2.0.0") |
| 46 | + export GHCVER=7.4.1 ; |
| 47 | + echo "constraints:cgi==3001.1.7.4,fgl==5.4.2.4,GLUT==2.1.2.1,haskell-src==1.0.1.5,html==1.0.1.2,HTTP==4000.2.3,HUnit==1.2.4.2,mtl==2.1.1,network==2.3.0.13,OpenGL==2.2.3.1,parallel==3.2.0.2,parsec==3.1.2,QuickCheck==2.4.2,random==1.0.1.1,regex-base==0.93.2,regex-compat==0.95.1,regex-posix==0.95.1,stm==2.3,syb==0.3.6.1,text==0.11.2.0,transformers==0.3.0.0,xhtml==3000.2.1,zlib==0.5.3.3" > cabal.config ;; |
| 48 | + |
| 49 | + "2011.4.0.0") |
| 50 | + export GHCVER=7.0.4 ; |
| 51 | + echo "constraints:cgi==3001.1.7.4,fgl==5.4.2.4,GLUT==2.1.2.1,haskell-src==1.0.1.4,html==1.0.1.2,HUnit==1.2.4.2,network==2.3.0.5,OpenGL==2.2.3.0,parallel==3.1.0.1,parsec==3.1.1,QuickCheck==2.4.1.1,regex-base==0.93.2,regex-compat==0.95.1,regex-posix==0.95.1,stm==2.2.0.1,syb==0.3.3,xhtml==3000.2.0.4,zlib==0.5.3.1,HTTP==4000.1.2,deepseq==1.1.0.2" > cabal.config ;; |
| 52 | + |
| 53 | + *) |
| 54 | + export GHCVER=unknown ; |
| 55 | + echo "unknown/invalid Haskell Platform requested" ; |
| 56 | + exit 1 ;; |
| 57 | + |
| 58 | + esac |
| 59 | + |
| 60 | + - sudo add-apt-repository -y ppa:hvr/ghc |
| 61 | + - sudo apt-get update |
| 62 | + - sudo apt-get install cabal-install-1.18 ghc-$GHCVER |
| 63 | + - export PATH=/opt/ghc/$GHCVER/bin:$PATH |
| 64 | + |
| 65 | +install: |
| 66 | + - cabal-1.18 update |
| 67 | + - if [ -n "$AESONVER" ]; then |
| 68 | + cabal-1.18 install aeson-$AESONVER; |
| 69 | + fi |
| 70 | + - cabal-1.18 install --only-dependencies --enable-tests |
| 71 | + |
| 72 | +# Here starts the actual work to be performed for the package under |
| 73 | +# test; any command which exits with a non-zero exit code causes the |
| 74 | +# build to fail. |
| 75 | +script: |
| 76 | + # -v2 provides useful information for debugging |
| 77 | + - cabal-1.18 configure --enable-tests -v2 |
| 78 | + |
| 79 | + # this builds all libraries and executables |
| 80 | + # (including tests) |
| 81 | + - cabal-1.18 build |
| 82 | + |
| 83 | + - cabal-1.18 test |
| 84 | + - cabal-1.18 check |
| 85 | + |
| 86 | + # tests that a source-distribution can be generated |
| 87 | + - cabal-1.18 sdist |
| 88 | + |
| 89 | + # check that the generated source-distribution can be built & installed |
| 90 | + - export SRC_TGZ=$(cabal-1.18 info . | awk '{print $2 ".tar.gz";exit}') ; |
| 91 | + cd dist/; |
| 92 | + if [ -f "$SRC_TGZ" ]; then |
| 93 | + cabal-1.18 install "$SRC_TGZ"; |
| 94 | + else |
| 95 | + echo "expected '$SRC_TGZ' not found"; |
| 96 | + exit 1; |
| 97 | + fi |
| 98 | + |
| 99 | + # build demo |
| 100 | + - cd ..; |
| 101 | + cabal-1.18 install --only-dependencies -f demo; |
| 102 | + - cabal-1.18 configure -f demo |
| 103 | + - cabal-1.18 build |
| 104 | + |
| 105 | +# EOF |
0 commit comments