@@ -11,8 +11,8 @@
11# Use new container infrastructure to enable caching
11# Use new container infrastructure to enable caching
12sudo: false
12sudo: false
14−# Choose a lightweight base image; we provide our own build tools.
14+# Do not choose a language; we provide our own build tools.
15−language: c
15+language: generic
17# Caching so the next build will be fast too.
17# Caching so the next build will be fast too.
@@ -44,18 +44,21 @@ matrix:
44 #- env: BUILD=cabal GHCVER=7.4.2 CABALVER=1.16 HAPPYVER=1.19.5 ALEXVER=3.1.7
44 #- env: BUILD=cabal GHCVER=7.4.2 CABALVER=1.16 HAPPYVER=1.19.5 ALEXVER=3.1.7
45 # compiler: ": #GHC 7.4.2"
45 # compiler: ": #GHC 7.4.2"
46 # addons: {apt: {packages: [cabal-install-1.16,ghc-7.4.2,happy-1.19.5,alex-3.1.7], sources: [hvr-ghc]}}
46 # 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
48 compiler: ": #GHC 7.6.3"
48 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]}}
50 - env: BUILD=cabal GHCVER=7.8.4 CABALVER=1.18 HAPPYVER=1.19.5 ALEXVER=3.1.7
50 - env: BUILD=cabal GHCVER=7.8.4 CABALVER=1.18 HAPPYVER=1.19.5 ALEXVER=3.1.7
51 compiler: ": #GHC 7.8.4"
51 compiler: ": #GHC 7.8.4"
52 addons: {apt: {packages: [cabal-install-1.18,ghc-7.8.4,happy-1.19.5,alex-3.1.7], sources: [hvr-ghc]}}
52 addons: {apt: {packages: [cabal-install-1.18,ghc-7.8.4,happy-1.19.5,alex-3.1.7], sources: [hvr-ghc]}}
53 - env: BUILD=cabal GHCVER=7.10.3 CABALVER=1.22 HAPPYVER=1.19.5 ALEXVER=3.1.7
53 - env: BUILD=cabal GHCVER=7.10.3 CABALVER=1.22 HAPPYVER=1.19.5 ALEXVER=3.1.7
54 compiler: ": #GHC 7.10.3"
54 compiler: ": #GHC 7.10.3"
55 addons: {apt: {packages: [cabal-install-1.22,ghc-7.10.3,happy-1.19.5,alex-3.1.7], sources: [hvr-ghc]}}
55 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
56+ - env: BUILD=cabal GHCVER=8.0.2 CABALVER=1.24 HAPPYVER=1.19.5 ALEXVER=3.1.7
57− compiler: ": #GHC 8.0.1"
57+ compiler: ": #GHC 8.0.2"
58− addons: {apt: {packages: [cabal-install-1.24,ghc-8.0.1,happy-1.19.5,alex-3.1.7], sources: [hvr-ghc]}}
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]}}
60 # Build with the newest GHC and cabal-install. This is an accepted failure,
63 # Build with the newest GHC and cabal-install. This is an accepted failure,
61 # see below.
64 # see below.
@@ -85,17 +88,25 @@ matrix:
85 compiler: ": #stack 8.0.1"
88 compiler: ": #stack 8.0.1"
86 addons: {apt: {packages: [libgmp-dev]}}
89 addons: {apt: {packages: [libgmp-dev]}}
91+ - env: BUILD=stack ARGS="--resolver lts-9"
92+ compiler: ": #stack 8.0.2"
93+ addons: {apt: {packages: [libgmp-dev]}}
95+ - env: BUILD=stack ARGS="--resolver lts-10"
96+ compiler: ": #stack 8.2.2"
97+ addons: {apt: {packages: [libgmp-dev]}}
88 # Nightly builds are allowed to fail
99 # Nightly builds are allowed to fail
89 - env: BUILD=stack ARGS="--resolver nightly"
100 - env: BUILD=stack ARGS="--resolver nightly"
90 compiler: ": #stack nightly"
101 compiler: ": #stack nightly"
91 addons: {apt: {packages: [libgmp-dev]}}
102 addons: {apt: {packages: [libgmp-dev]}}
93− # Build on OS X in addition to Linux
104+ # Build on macOS in addition to Linux
94 - env: BUILD=stack ARGS=""
105 - env: BUILD=stack ARGS=""
95 compiler: ": #stack default osx"
106 compiler: ": #stack default osx"
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
99 #- env: BUILD=stack ARGS="--resolver lts-2"
110 #- env: BUILD=stack ARGS="--resolver lts-2"
100 # compiler: ": #stack 7.8.4 osx"
111 # compiler: ": #stack 7.8.4 osx"
101 # os: osx
112 # os: osx
@@ -112,6 +123,14 @@ matrix:
112 compiler: ": #stack 8.0.1 osx"
123 compiler: ": #stack 8.0.1 osx"
126+ - env: BUILD=stack ARGS="--resolver lts-9"
127+ compiler: ": #stack 8.0.2 osx"
130+ - env: BUILD=stack ARGS="--resolver lts-10"
131+ compiler: ": #stack 8.2.2 osx"
115 - env: BUILD=stack ARGS="--resolver nightly"
134 - env: BUILD=stack ARGS="--resolver nightly"
116 compiler: ": #stack nightly osx"
135 compiler: ": #stack nightly osx"
@@ -156,13 +175,21 @@ install:
157 case "$BUILD" in
176 case "$BUILD" in
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)
183+ # Build the dependencies
159 stack --no-terminal --install-ghc $ARGS test --bench --only-dependencies
184 stack --no-terminal --install-ghc $ARGS test --bench --only-dependencies
162 cabal --version
187 cabal --version
163 travis_retry cabal update
188 travis_retry cabal update
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.
166 PACKAGES=$(stack --install-ghc query locals | grep '^ *path' | sed 's@^ *path:@@')
193 PACKAGES=$(stack --install-ghc query locals | grep '^ *path' | sed 's@^ *path:@@')
168 cabal install --only-dependencies --enable-tests --enable-benchmarks --force-reinstalls --ghc-options=-O0 --reorder-goals --max-backjumps=-1 $CABALARGS $PACKAGES
195 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:
193 cd "$PKGVER"
220 cd "$PKGVER"
194 cabal configure --enable-tests
221 cabal configure --enable-tests
195 cabal build
222 cabal build
196 cd $ORIGDIR
224 cd $ORIGDIR