@@ -1,14 +1,31 @@
3− - GHCVER=7.8.4 COVERAGE_SUITE=tests
5+ - env: GHCVER=7.8.4 COVERAGE_SUITE=tests
6+ compiler: ": #GHC 7.8.4 - tests"
7+ addons: {apt: {packages: [cabal-install-1.22,ghc-7.8.4,happy-1.19.5,alex-3.1.4], sources: [hvr-ghc]}}
4− - GHCVER=7.8.4 COVERAGE_SUITE=psci-tests
8+ - env: GHCVER=7.8.4 COVERAGE_SUITE=psci-tests
9+ compiler: ": #GHC 7.8.4 - psci-tests"
10+ addons: {apt: {packages: [cabal-install-1.22,ghc-7.8.4,happy-1.19.5,alex-3.1.4], sources: [hvr-ghc]}}
5− - GHCVER=7.6.3
11+ - env: GHCVER=7.8.4 STACKAGE=lts-22
12+ compiler: ": #GHC 7.8.4 - lts-2.22"
13+ addons: {apt: {packages: [cabal-install-1.22,ghc-7.8.4,happy-1.19.5,alex-3.1.4], sources: [hvr-ghc]}}
6− - GHCVER=7.10.1
14+ - env: GHCVER=7.6.3
7− - GHCVER=7.8.4 STACKAGE=lts-2.22
15+ compiler: ": #GHC 7.6.3"
16+ addons: {apt: {packages: [cabal-install-1.22,ghc-7.6.3,happy-1.19.5,alex-3.1.4], sources: [hvr-ghc]}}
18+ compiler: ": #GHC 7.10.1"
19+ addons: {apt: {packages: [cabal-install-1.22,ghc-7.10.1,happy-1.19.5,alex-3.1.4], sources: [hvr-ghc]}}
8− # 7.10.2 Pending https://github.com/travis-ci/apt-package-whitelist/pull/686
20+ # 7.10.2 Pending https://github.com/travis-ci/apt-package-whitelist/pull/686
9− - GHCVER=7.10.1 STACKAGE=lts-3.1
21+ - env: GHCVER=7.10.1 STACKAGE=lts=3.1 RUNSDISTTESTS=YES
22+ compiler: ": #GHC 7.10.1 lts-3.1"
23+ addons: {apt: {packages: [cabal-install-1.22,ghc-7.10.1,happy-1.19.5,alex-3.1.4], sources: [hvr-ghc]}}
10− - GHCVER=7.10.1 STACKAGE=nightly-2015-08-12
24+ - env: GHCVER=7.10.1 STACKAGE=nightly-2015-08-12
25+ compiler: ": #GHC 7.10.1 nightly-2015-08-12"
26+ addons: {apt: {packages: [cabal-install-1.22,ghc-7.10.1,happy-1.19.5,alex-3.1.4], sources: [hvr-ghc]}}
11before_install:
27before_install:
12 - export PATH="/opt/ghc/$GHCVER/bin:$PATH"
29 - export PATH="/opt/ghc/$GHCVER/bin:$PATH"
13 - export PATH="/opt/cabal/1.22/bin:$PATH"
30 - export PATH="/opt/cabal/1.22/bin:$PATH"
14 - export PATH="$HOME/.cabal/bin:$PATH"
31 - export PATH="$HOME/.cabal/bin:$PATH"
@@ -23,13 +40,20 @@ install:
23 # cabal and ghc tries to use them all. Which is bad idea on a shared box.
40 # cabal and ghc tries to use them all. Which is bad idea on a shared box.
24 # See also: https://ghc.haskell.org/trac/ghc/ticket/9221
41 # See also: https://ghc.haskell.org/trac/ghc/ticket/9221
25 - sed -i 's/^jobs:/-- jobs:/' ${HOME}/.cabal/config
42 - sed -i 's/^jobs:/-- jobs:/' ${HOME}/.cabal/config
26− - mkdir -p sandboxes/$GHCVER/${STACKAGE:-none}
43+ # Cache sandboxes in ~/cabal-sandboxes
44+ # Move right sandbox to .cabal-sandbox if exists
45+ - if [ -d ~/cabal-sandboxes/$GHCVER-${STACKAGE:-none} ]; then
46+ mv ~/cabal-sandboxes/$GHCVER-${STACKAGE:-none} .cabal-sandbox;
48+ - mkdir -p .cabal-sandbox
27− - cabal sandbox init --sandbox sandboxes/$GHCVER/${STACKAGE:-none}
49+ - cabal sandbox init --sandbox .cabal-sandbox
28− # Download stackage cabal.config
50+ # Download stackage cabal.config, not sure whether filtering is necessary
29− # Not sure whether filtering out purescript is necessary
30 - if [ -n "$STACKAGE" ]; then curl http://www.stackage.org/$STACKAGE/cabal.config | grep -v purescript > cabal.config; fi
51 - if [ -n "$STACKAGE" ]; then curl http://www.stackage.org/$STACKAGE/cabal.config | grep -v purescript > cabal.config; fi
31 - cabal install --only-dependencies --enable-tests
52 - cabal install --only-dependencies --enable-tests
32 - cabal install hpc-coveralls
53 - cabal install hpc-coveralls
54+ # Snapshot state of the sandbox now, so we don't need to make new one for test install
55+ - rm -rf ~/cabal-sandboxes/$GHCVER-${STACKAGE:-none}
56+ - cp -r .cabal-sandbox ~/cabal-sandboxes/$GHCVER-${STACKAGE:-none}
34 - ./travis/configure.sh
58 - ./travis/configure.sh
35 - cabal build
59 - cabal build
@@ -50,18 +74,6 @@ deploy:
51 all_branches: true
75 all_branches: true
52 tags: true
76 tags: true
65 directories:
78 directories:
67− - ../install-test/sandboxes/
79+ - ~/cabal-sandboxes