From 790780c9235e27f9f56f361aa6e511715c5c5284 Mon Sep 17 00:00:00 2001 From: Falko Peters Date: Sun, 8 Apr 2018 19:53:26 +0200 Subject: [PATCH] Update .travis.yml --- .travis.yml | 180 +++++------------------------------------------- stack-7.10.yaml | 8 +++ stack-8.0.yaml | 8 +++ stack-8.2.yaml | 8 +++ stack-8.4.yaml | 8 +++ 5 files changed, 48 insertions(+), 164 deletions(-) create mode 100644 stack-7.10.yaml create mode 100644 stack-8.0.yaml create mode 100644 stack-8.2.yaml create mode 100644 stack-8.4.yaml diff --git a/.travis.yml b/.travis.yml index 5c9b2d8..4bd9d19 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,178 +1,30 @@ -# This is the complex Travis configuration, which is intended for use -# on open source libraries which need compatibility across multiple GHC -# versions, must work with cabal-install, and should be -# cross-platform. For more information and other options, see: -# -# https://docs.haskellstack.org/en/stable/travis_ci/ -# -# Copy these contents into the root directory of your Github project in a file -# named .travis.yml - -# Use new container infrastructure to enable caching +language: c sudo: false -# Do not choose a language; we provide our own build tools. -language: generic - -# 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.2 CABALVER=1.24 HAPPYVER=1.19.5 ALEXVER=3.1.7 - compiler: ": #GHC 8.0.2" - addons: {apt: {packages: [cabal-install-1.24,ghc-8.0.2,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: [libgmp-dev]}} - # - # - env: BUILD=stack ARGS="--resolver lts-2" - # compiler: ": #stack 7.8.4" - # addons: {apt: {packages: [libgmp-dev]}} - # - # - env: BUILD=stack ARGS="--resolver lts-3" - # compiler: ": #stack 7.10.2" - # addons: {apt: {packages: [libgmp-dev]}} - # - # - env: BUILD=stack ARGS="--resolver lts-6" - # compiler: ": #stack 7.10.3" - # addons: {apt: {packages: [libgmp-dev]}} - # - # - env: BUILD=stack ARGS="--resolver lts-7" - # compiler: ": #stack 8.0.1" - # addons: {apt: {packages: [libgmp-dev]}} - # - # - env: BUILD=stack ARGS="--resolver lts-8" - # compiler: ": #stack 8.0.2" - # addons: {apt: {packages: [libgmp-dev]}} - - # Nightly builds are allowed to fail - # - env: BUILD=stack ARGS="--resolver nightly" - # compiler: ": #stack nightly" - # addons: {apt: {packages: [libgmp-dev]}} - - allow_failures: - - env: BUILD=cabal GHCVER=head CABALVER=head HAPPYVER=1.19.5 ALEXVER=3.1.7 - - env: BUILD=stack ARGS="--resolver nightly" - before_install: -# Using compiler above sets CC to an invalid value, so unset it -- unset CC + - mkdir -p ~/.local/bin + - mkdir -p ~/tmp + - export PATH=~/.local/bin:$PATH + - curl -L https://github.com/commercialhaskell/stack/releases/download/v1.6.5/stack-1.6.5-linux-x86_64.tar.gz | tar xz -C ~/tmp + - mv ~/tmp/stack-1.6.5-linux-x86_64/stack ~/.local/bin/ + - cd ${TRAVIS_BUILD_DIR} -# We want to always allow newer versions of packages when building on GHC HEAD -- CABALARGS="" -- if [ "x$GHCVER" = "xhead" ]; then CABALARGS=--allow-newer; fi - -# Download and unpack the stack executable -- export PATH=/opt/ghc/$GHCVER/bin:/opt/cabal/$CABALVER/bin:$HOME/.local/bin:/opt/alex/$ALEXVER/bin:/opt/happy/$HAPPYVER/bin:$HOME/.cabal/bin:$PATH -- mkdir -p ~/.local/bin -- | - if [ `uname` = "Darwin" ] - then - travis_retry curl --insecure -L https://www.stackage.org/stack/osx-x86_64 | tar xz --strip-components=1 --include '*/stack' -C ~/.local/bin - else - travis_retry curl -L https://www.stackage.org/stack/linux-x86_64 | tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack' - fi - - # Use the more reliable S3 mirror of Hackage - mkdir -p $HOME/.cabal - echo 'remote-repo: hackage.haskell.org:http://hackage.fpcomplete.com/' > $HOME/.cabal/config - echo 'remote-repo-cache: $HOME/.cabal/packages' >> $HOME/.cabal/config - - if [ "$CABALVER" != "1.16" ] - then - echo 'jobs: $ncpus' >> $HOME/.cabal/config - fi +matrix: + include: + - env: GHCVER=7.10.3 STACK_YAML=stack-7.10.yaml + - env: GHCVER=8.0.2 STACK_YAML=stack-8.0.yaml + - env: GHCVER=8.2.2 STACK_YAML=stack-8.2.yaml + - env: GHCVER=8.4.1 STACK_YAML=stack-8.4.yaml install: -- echo "$(ghc --version) [$(ghc --print-project-git-commit-id 2> /dev/null || echo '?')]" -- if [ -f configure.ac ]; then autoreconf -i; fi -- | - set -ex - case "$BUILD" in - stack) - stack --no-terminal --install-ghc $ARGS test --bench --only-dependencies - ;; - cabal) - cabal --version - travis_retry cabal update - - # Get the list of packages from the stack.yaml file - PACKAGES=$(stack --install-ghc query locals | grep '^ *path' | sed 's@^ *path:@@') - - cabal install --only-dependencies --enable-tests --enable-benchmarks --force-reinstalls --ghc-options=-O0 --reorder-goals --max-backjumps=-1 $CABALARGS $PACKAGES - ;; - esac - set +ex + - stack --no-terminal --skip-ghc-check setup + - stack --no-terminal --skip-ghc-check test --only-snapshot script: -- | - set -ex - case "$BUILD" in - stack) - stack --no-terminal $ARGS test --bench --no-run-benchmarks --haddock --no-haddock-deps - ;; - cabal) - cabal install --enable-tests --enable-benchmarks --force-reinstalls --ghc-options=-O0 --reorder-goals --max-backjumps=-1 $CABALARGS $PACKAGES - - ORIGDIR=$(pwd) - for dir in $PACKAGES - do - cd $dir - cabal check || [ "$CABALVER" == "1.16" ] - cabal sdist - PKGVER=$(cabal info . | awk '{print $2;exit}') - SRC_TGZ=$PKGVER.tar.gz - cd dist - tar zxfv "$SRC_TGZ" - cd "$PKGVER" - cabal configure --enable-tests - cabal build - cd $ORIGDIR - done - ;; - esac - set +ex + - stack --no-terminal --skip-ghc-check test diff --git a/stack-7.10.yaml b/stack-7.10.yaml new file mode 100644 index 0000000..8048df4 --- /dev/null +++ b/stack-7.10.yaml @@ -0,0 +1,8 @@ +resolver: lts-5.1 +packages: +- '.' +extra-deps: +flags: + aeson-pretty: + lib-only: false +extra-package-dbs: [] diff --git a/stack-8.0.yaml b/stack-8.0.yaml new file mode 100644 index 0000000..79373de --- /dev/null +++ b/stack-8.0.yaml @@ -0,0 +1,8 @@ +resolver: lts-9.20 +packages: +- '.' +extra-deps: +flags: + aeson-pretty: + lib-only: false +extra-package-dbs: [] diff --git a/stack-8.2.yaml b/stack-8.2.yaml new file mode 100644 index 0000000..3844be5 --- /dev/null +++ b/stack-8.2.yaml @@ -0,0 +1,8 @@ +resolver: lts-11.4 +packages: +- '.' +extra-deps: +flags: + aeson-pretty: + lib-only: false +extra-package-dbs: [] diff --git a/stack-8.4.yaml b/stack-8.4.yaml new file mode 100644 index 0000000..4c2aed5 --- /dev/null +++ b/stack-8.4.yaml @@ -0,0 +1,8 @@ +resolver: nightly-2018-04-08 +packages: +- '.' +extra-deps: +flags: + aeson-pretty: + lib-only: false +extra-package-dbs: []