From b5f33fdc77c7d344d09a10f27825d4a938f6986d Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 20 Oct 2015 06:23:20 +0000 Subject: [PATCH] Switch Travis to Stack --- .travis.yml | 40 +++++++++++++++++++++++----------------- src/soh-upload/upload.sh | 2 +- 2 files changed, 24 insertions(+), 18 deletions(-) diff --git a/.travis.yml b/.travis.yml index 1ef40cf..61b6a0b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,28 +1,34 @@ +# Use new container infrastructure to enable caching +sudo: false + +# Choose a lightweight base image; we provide our own build tools. +language: c + +# GHC depends on GMP. You can add other dependencies here as well. +addons: + apt: + packages: + - libgmp-dev + env: global: - - CABALVER=1.20 - - GHCVER=7.8.4 - SIG_USER=commercial - secure: "HGTGThYIkhnrXPPAkPLsYQjSC1z3Z3vp71n1U04yBPHlzfn3Tp/xv0wPAayy4EPj6XrjQuEGjYRKoKHflOVNWWbv+CrAEWL2pghssiBoDgox13Pwg+L4C59/B3cz+eLAyQ0Zu0IOub7lOGhZ7esTVwEPpPFCzlUWATuPn+kzn5A=" - - PATH=/opt/ghc/$GHCVER/bin:/opt/cabal/$CABALVER/bin:$HOME/.cabal/bin:$PATH -# Note: the distinction between `before_install` and `install` is not important. before_install: - - travis_retry sudo add-apt-repository -y ppa:hvr/ghc - - travis_retry sudo apt-get update - - travis_retry sudo apt-get install cabal-install-$CABALVER ghc-$GHCVER # see note about happy/alex +# Download and unpack the stack executable +- mkdir -p ~/.local/bin +- export PATH=$HOME/.local/bin:$PATH +- travis_retry curl -L https://www.stackage.org/stack/linux-x86_64 | tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack' install: - - cabal --version - - echo "$(ghc --version) [$(ghc --print-project-git-commit-id 2> /dev/null || echo '?')]" - - travis_retry cabal update - - (cd src/soh-upload && cabal install) + - (cd src/soh-upload && stack $ARGS --no-terminal --install-ghc test --pedantic --haddock) # Here starts the actual work to be performed for the package under test; any command which exits with a non-zero exit code causes the build to fail. script: - - if [ $TRAVIS_BRANCH = 'master' ] - then - ./src/soh-upload/upload.sh - else - echo Skipping upload on non-master branch - fi + - if [ $TRAVIS_BRANCH = 'master' ]; then ./src/soh-upload/upload.sh; fi + +# Caching so the next build will be fast too. +cache: + directories: + - $HOME/.stack diff --git a/src/soh-upload/upload.sh b/src/soh-upload/upload.sh index fadfd17..0b2c867 100755 --- a/src/soh-upload/upload.sh +++ b/src/soh-upload/upload.sh @@ -20,7 +20,7 @@ security-token: $SIG_TOKEN folder: $SIG_FOLDER$FOLDER/ EOF -soh-upload $FOLDER +stack exec soh-upload $FOLDER rm $FOLDER/soh-upload.yaml