2016-05-03 21:17:06 +03:00
|
|
|
# Set-up
|
|
|
|
sudo: false
|
|
|
|
|
|
|
|
language: c
|
|
|
|
|
|
|
|
# Cache builds
|
|
|
|
cache:
|
|
|
|
directories:
|
|
|
|
- $HOME/.ghc
|
|
|
|
- $HOME/.cabal
|
|
|
|
- $HOME/.stack
|
|
|
|
|
2017-08-07 23:35:45 +03:00
|
|
|
# Goal: support latest 3 GHC major versions.
|
2016-05-03 21:17:06 +03:00
|
|
|
matrix:
|
2017-08-07 23:56:31 +03:00
|
|
|
fast_finish: true
|
2016-05-03 21:17:06 +03:00
|
|
|
include:
|
2017-09-16 22:10:55 +03:00
|
|
|
- env: RESOLVER=lts-6 # GHC 7.10
|
2016-10-22 18:02:31 +03:00
|
|
|
addons: {apt: {packages: [libgmp-dev]}}
|
2017-09-16 22:10:55 +03:00
|
|
|
- env: RESOLVER=lts-9 # GHC 8.0
|
2017-04-05 23:06:25 +03:00
|
|
|
addons: {apt: {packages: [libgmp-dev]}}
|
2017-09-16 22:10:55 +03:00
|
|
|
# - env: RESOLVER= # GHC 8.2
|
2017-08-07 23:35:45 +03:00
|
|
|
# addons: {apt: {packages: [libgmp-dev]}}
|
2017-09-16 22:10:55 +03:00
|
|
|
- env: RESOLVER=nightly
|
2016-05-03 21:17:06 +03:00
|
|
|
addons: {apt: {packages: [libgmp-dev]}}
|
2017-08-07 23:56:31 +03:00
|
|
|
allow_failures:
|
2017-09-16 22:10:55 +03:00
|
|
|
- env: RESOLVER=nightly
|
2016-05-03 21:17:06 +03:00
|
|
|
|
|
|
|
# Download and unpack the stack executable
|
|
|
|
before_install:
|
|
|
|
- export PATH=/opt/ghc/$GHCVER/bin:$HOME/.local/bin:$PATH
|
|
|
|
- mkdir -p ~/.local/bin
|
|
|
|
- curl -L https://www.stackage.org/stack/linux-x86_64 | tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack'
|
2017-10-20 16:29:53 +03:00
|
|
|
- rm stack.yaml
|
|
|
|
- if [[ -e .travis/$RESOLVER.yaml ]]; then mv .travis/$RESOLVER.yaml stack.yaml; else stack init --resolver=$RESOLVER; fi
|
|
|
|
- stack setup
|
2016-05-03 21:17:06 +03:00
|
|
|
|
|
|
|
# Run tests
|
|
|
|
script:
|
2017-10-20 16:29:53 +03:00
|
|
|
- echo '# build' && echo -en 'travis_fold:start:script.stack-build\\r'
|
|
|
|
- stack build concurrency
|
|
|
|
- stack build dejafu
|
|
|
|
- stack build hunit-dejafu
|
|
|
|
- stack build tasty-dejafu
|
|
|
|
- stack build dejafu-tests
|
|
|
|
- echo -en 'travis_fold:end:script.stack-build\\r'
|
|
|
|
|
|
|
|
- echo '# weeder' && echo -en 'travis_fold:start:script.weeder\\r'
|
|
|
|
- curl -sL https://raw.github.com/ndmitchell/weeder/master/misc/travis.sh | sh -s .
|
|
|
|
- echo -en 'travis_fold:end:script.weeder\\r'
|
|
|
|
|
|
|
|
- echo '# hlint' && echo -en 'travis_fold:start:script.hlint\\r'
|
|
|
|
- curl -sL https://raw.github.com/ndmitchell/hlint/master/misc/travis.sh | sh -s concurrency
|
|
|
|
- curl -sL https://raw.github.com/ndmitchell/hlint/master/misc/travis.sh | sh -s dejafu
|
|
|
|
- curl -sL https://raw.github.com/ndmitchell/hlint/master/misc/travis.sh | sh -s hunit-dejafu
|
|
|
|
- curl -sL https://raw.github.com/ndmitchell/hlint/master/misc/travis.sh | sh -s tasty-dejafu
|
|
|
|
- echo -en 'travis_fold:end:script.hlint\\r'
|
|
|
|
|
|
|
|
- echo '# test' && echo -en 'travis_fold:start:script.stack-exec\\r'
|
|
|
|
- stack exec dejafu-tests
|
|
|
|
- echo -en 'travis_fold:end:script.stack-exec\\r'
|