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