@@ -11,8 +11,8 @@
1111# Use new container infrastructure to enable caching
1212sudo: false
1313
14−# Choose a lightweight base image; we provide our own build tools.
15−language: c
14+# Do not choose a language; we provide our own build tools.
15+language: generic
1616
1717# Caching so the next build will be fast too.
1818cache:
@@ -44,18 +44,21 @@ matrix:
4444 #- env: BUILD=cabal GHCVER=7.4.2 CABALVER=1.16 HAPPYVER=1.19.5 ALEXVER=3.1.7
4545 # compiler: ": #GHC 7.4.2"
4646 # addons: {apt: {packages: [cabal-install-1.16,ghc-7.4.2,happy-1.19.5,alex-3.1.7], sources: [hvr-ghc]}}
47− - env: BUILD=cabal GHCVER=7.6.3 CABALVER=1.24 HAPPYVER=1.19.5 ALEXVER=3.1.7
47+ - env: BUILD=cabal GHCVER=7.6.3 CABALVER=1.16 HAPPYVER=1.19.5 ALEXVER=3.1.7
4848 compiler: ": #GHC 7.6.3"
49− addons: {apt: {packages: [cabal-install-1.24,ghc-7.6.3,happy-1.19.5,alex-3.1.7], sources: [hvr-ghc]}}
49+ addons: {apt: {packages: [cabal-install-1.16,ghc-7.6.3,happy-1.19.5,alex-3.1.7], sources: [hvr-ghc]}}
5050 - env: BUILD=cabal GHCVER=7.8.4 CABALVER=1.18 HAPPYVER=1.19.5 ALEXVER=3.1.7
5151 compiler: ": #GHC 7.8.4"
5252 addons: {apt: {packages: [cabal-install-1.18,ghc-7.8.4,happy-1.19.5,alex-3.1.7], sources: [hvr-ghc]}}
5353 - env: BUILD=cabal GHCVER=7.10.3 CABALVER=1.22 HAPPYVER=1.19.5 ALEXVER=3.1.7
5454 compiler: ": #GHC 7.10.3"
5555 addons: {apt: {packages: [cabal-install-1.22,ghc-7.10.3,happy-1.19.5,alex-3.1.7], sources: [hvr-ghc]}}
56− - env: BUILD=cabal GHCVER=8.0.1 CABALVER=1.24 HAPPYVER=1.19.5 ALEXVER=3.1.7
57− compiler: ": #GHC 8.0.1"
58− addons: {apt: {packages: [cabal-install-1.24,ghc-8.0.1,happy-1.19.5,alex-3.1.7], sources: [hvr-ghc]}}
56+ - env: BUILD=cabal GHCVER=8.0.2 CABALVER=1.24 HAPPYVER=1.19.5 ALEXVER=3.1.7
57+ compiler: ": #GHC 8.0.2"
58+ addons: {apt: {packages: [cabal-install-1.24,ghc-8.0.2,happy-1.19.5,alex-3.1.7], sources: [hvr-ghc]}}
59+ - env: BUILD=cabal GHCVER=8.2.2 CABALVER=2.0 HAPPYVER=1.19.5 ALEXVER=3.1.7
60+ compiler: ": #GHC 8.2.2"
61+ addons: {apt: {packages: [cabal-install-2.0,ghc-8.2.2,happy-1.19.5,alex-3.1.7], sources: [hvr-ghc]}}
5962
6063 # Build with the newest GHC and cabal-install. This is an accepted failure,
6164 # see below.
@@ -85,17 +88,25 @@ matrix:
8588 compiler: ": #stack 8.0.1"
8689 addons: {apt: {packages: [libgmp-dev]}}
8790
91+ - env: BUILD=stack ARGS="--resolver lts-9"
92+ compiler: ": #stack 8.0.2"
93+ addons: {apt: {packages: [libgmp-dev]}}
94+
95+ - env: BUILD=stack ARGS="--resolver lts-10"
96+ compiler: ": #stack 8.2.2"
97+ addons: {apt: {packages: [libgmp-dev]}}
98+
8899 # Nightly builds are allowed to fail
89100 - env: BUILD=stack ARGS="--resolver nightly"
90101 compiler: ": #stack nightly"
91102 addons: {apt: {packages: [libgmp-dev]}}
92103
93− # Build on OS X in addition to Linux
104+ # Build on macOS in addition to Linux
94105 - env: BUILD=stack ARGS=""
95106 compiler: ": #stack default osx"
96107 os: osx
97108
98− # Travis includes an OS X which is incompatible with GHC 7.8.4
109+ # Travis includes an macOS which is incompatible with GHC 7.8.4
99110 #- env: BUILD=stack ARGS="--resolver lts-2"
100111 # compiler: ": #stack 7.8.4 osx"
101112 # os: osx
@@ -112,6 +123,14 @@ matrix:
112123 compiler: ": #stack 8.0.1 osx"
113124 os: osx
114125
126+ - env: BUILD=stack ARGS="--resolver lts-9"
127+ compiler: ": #stack 8.0.2 osx"
128+ os: osx
129+
130+ - env: BUILD=stack ARGS="--resolver lts-10"
131+ compiler: ": #stack 8.2.2 osx"
132+ os: osx
133+
115134 - env: BUILD=stack ARGS="--resolver nightly"
116135 compiler: ": #stack nightly osx"
117136 os: osx
@@ -156,13 +175,21 @@ install:
156175 set -ex
157176 case "$BUILD" in
158177 stack)
178+ # Add in extra-deps for older snapshots, as necessary
179+ stack --no-terminal --install-ghc $ARGS test --bench --dry-run || ( \
180+ stack --no-terminal $ARGS build cabal-install && \
181+ stack --no-terminal $ARGS solver --update-config)
182+
183+ # Build the dependencies
159184 stack --no-terminal --install-ghc $ARGS test --bench --only-dependencies
160185 ;;
161186 cabal)
162187 cabal --version
163188 travis_retry cabal update
164189
165− # Get the list of packages from the stack.yaml file
190+ # Get the list of packages from the stack.yaml file. Note that
191+ # this will also implicitly run hpack as necessary to generate
192+ # the .cabal files needed by cabal-install.
166193 PACKAGES=$(stack --install-ghc query locals | grep '^ *path' | sed 's@^ *path:@@')
167194
168195 cabal install --only-dependencies --enable-tests --enable-benchmarks --force-reinstalls --ghc-options=-O0 --reorder-goals --max-backjumps=-1 $CABALARGS $PACKAGES
@@ -193,6 +220,7 @@ script:
193220 cd "$PKGVER"
194221 cabal configure --enable-tests
195222 cabal build
223+ cabal test
196224 cd $ORIGDIR
197225 done
198226 ;;