Skip to content
Snippets Groups Projects
.travis.yml 6.50 KiB
# Use new container infrastructure to enable caching
sudo: false

# Choose a lightweight base image; we provide our own build tools.
language: c

# Caching so the next build will be fast too.
cache:
  directories:
  - $HOME/.ghc
  - $HOME/.cabal
  - $HOME/.stack

# The different configurations we want to test. We have BUILD=cabal which uses
# cabal-install, and BUILD=stack which uses Stack. More documentation on each
# of those below.
#
# We set the compiler values here to tell Travis to use a different
# cache file per set of arguments.
#
# If you need to have different apt packages for each combination in the
# matrix, you can use a line such as:
#     addons: {apt: {packages: [libfcgi-dev,libgmp-dev]}}
matrix:
  include:
  # We grab the appropriate GHC and cabal-install versions from hvr's PPA. See:
  # https://github.com/hvr/multi-ghc-travis
  #- env: BUILD=cabal GHCVER=7.0.4 CABALVER=1.16 HAPPYVER=1.19.5 ALEXVER=3.1.7
  #  compiler: ": #GHC 7.0.4"
  #  addons: {apt: {packages: [cabal-install-1.16,ghc-7.0.4,happy-1.19.5,alex-3.1.7], sources: [hvr-ghc]}}
  #- env: BUILD=cabal GHCVER=7.2.2 CABALVER=1.16 HAPPYVER=1.19.5 ALEXVER=3.1.7
  #  compiler: ": #GHC 7.2.2"
  #  addons: {apt: {packages: [cabal-install-1.16,ghc-7.2.2,happy-1.19.5,alex-3.1.7], sources: [hvr-ghc]}}
  - env: BUILD=cabal GHCVER=7.4.2 CABALVER=1.16 HAPPYVER=1.19.5 ALEXVER=3.1.7
    compiler: ": #GHC 7.4.2"
    addons: {apt: {packages: [cabal-install-1.16,ghc-7.4.2,happy-1.19.5,alex-3.1.7], sources: [hvr-ghc]}}
  - env: BUILD=cabal GHCVER=7.6.3 CABALVER=1.16 HAPPYVER=1.19.5 ALEXVER=3.1.7
    compiler: ": #GHC 7.6.3"
    addons: {apt: {packages: [cabal-install-1.16,ghc-7.6.3,happy-1.19.5,alex-3.1.7], sources: [hvr-ghc]}}
  - env: BUILD=cabal GHCVER=7.8.4 CABALVER=1.18 HAPPYVER=1.19.5 ALEXVER=3.1.7
    compiler: ": #GHC 7.8.4"
    addons: {apt: {packages: [cabal-install-1.18,ghc-7.8.4,happy-1.19.5,alex-3.1.7], sources: [hvr-ghc]}}
  - env: BUILD=cabal GHCVER=7.10.3 CABALVER=1.22 HAPPYVER=1.19.5 ALEXVER=3.1.7
    compiler: ": #GHC 7.10.3"
    addons: {apt: {packages: [cabal-install-1.22,ghc-7.10.3,happy-1.19.5,alex-3.1.7], sources: [hvr-ghc]}}
  - env: BUILD=cabal GHCVER=8.0.1 CABALVER=1.22 HAPPYVER=1.19.5 ALEXVER=3.1.7
    compiler: ": #GHC 8.0.1"
    addons: {apt: {packages: [cabal-install-1.22,ghc-8.0.1,happy-1.19.5,alex-3.1.7], sources: [hvr-ghc]}}

  # Build with the newest GHC and cabal-install. This is an accepted failure,
  # see below.
  - env: BUILD=cabal GHCVER=head  CABALVER=head HAPPYVER=1.19.5 ALEXVER=3.1.7
    compiler: ": #GHC HEAD"
    addons: {apt: {packages: [cabal-install-head,ghc-head,happy-1.19.5,alex-3.1.7], sources: [hvr-ghc]}}

  # The Stack builds. We can pass in arbitrary Stack arguments via the ARGS
  # variable, such as using --stack-yaml to point to a different file.
  #- env: BUILD=stack ARGS=""
  #  compiler: ": #stack default"
  #  addons: {apt: {packages: [ghc-7.10.3], sources: [hvr-ghc]}}

  #- env: BUILD=stack ARGS="--resolver lts-2"
  #  compiler: ": #stack 7.8.4"
  #  addons: {apt: {packages: [ghc-7.8.4], sources: [hvr-ghc]}}

  #- env: BUILD=stack ARGS="--resolver lts-3"
  #  compiler: ": #stack 7.10.2"
  #  addons: {apt: {packages: [ghc-7.10.2], sources: [hvr-ghc]}}

  #- env: BUILD=stack ARGS="--resolver lts-5"