# .travis.yml file for Conjure
#
# Copyright: (c) 2017-2021 Rudy Matela
# License: 3-Clause BSD (see the file LICENSE)
# Maintainer: Rudy Matela <rudy@matela.com.br>
language: c # not really
notifications:
email:
on_failure: change
sudo: false
cache:
directories:
- $HOME/.ghc
- $HOME/.cabal
- $HOME/.stack
before_install:
- export PATH=/opt/ghc/$GHCVER/bin:/opt/cabal/$CABALVER/bin:$PATH
- ghc --version
- cabal --version
- haddock --version
- du -hd3 ~/.cabal ~/.ghc || true
- du -hd4 ~/.stack || true
- rm -f ~/.cabal/config && cabal update
# Download and unpack the stack executable
# "Once Travis whitelists the stack.dev files," simply include stack in the
# addons section. -- https://docs.haskellstack.org/en/stable/travis_ci/
- 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'
- stack config set system-ghc --global true
- stack --version
- cabal install leancheck express speculate || cabal install leancheck express speculate --lib
script:
- make && make test
- make haddock
- make test-sdist
- cabal test --ghc-option=-O0
- stack --resolver $STACKVER --no-terminal --skip-ghc-check test --ghc-options=-O0
matrix:
allow_failures:
- ghc: 'head'
include:
- ghc: 'head'
env: GHCVER=head CABALVER=head STACKVER=nightly-2020-03-28
addons: {apt: {packages: [ghc-head, cabal-install-head], sources: hvr-ghc}}
- ghc: '8.10'
env: GHCVER=8.10.1 CABALVER=3.2 STACKVER=nightly-2020-03-28
addons: {apt: {packages: [ghc-8.10.1, cabal-install-3.2], sources: hvr-ghc}}
- ghc: '8.8'
env: GHCVER=8.8.3 CABALVER=3.0 STACKVER=lts-15.6
addons: {apt: {packages: [ghc-8.8.3, cabal-install-3.0], sources: hvr-ghc}}
- ghc: '8.6'
env: GHCVER=8.6.5 CABALVER=2.4 STACKVER=lts-14.27
addons: {apt: {packages: [ghc-8.6.5, cabal-install-2.4], sources: hvr-ghc}}
- ghc: '8.4'
env: GHCVER=8.4.4 CABALVER=2.2 STACKVER=lts-12.26
addons: {apt: {packages: [ghc-8.4.4, cabal-install-2.2], sources: hvr-ghc}}
- ghc: '8.2'
env: GHCVER=8.2.2 CABALVER=2.0 STACKVER=lts-11.22
addons: {apt: {packages: [ghc-8.2.2, cabal-install-2.0], sources: hvr-ghc}}
- ghc: '8.0'
env: GHCVER=8.0.2 CABALVER=1.24 STACKVER=lts-9.21
addons: {apt: {packages: [ghc-8.0.2, cabal-install-1.24], sources: hvr-ghc}}
- ghc: '7.10'
env: GHCVER=7.10.3 CABALVER=1.22 STACKVER=lts-6.35
addons: {apt: {packages: [ghc-7.10.3, cabal-install-1.22], sources: hvr-ghc}}
# we only support stack with GHC >= 7.10
- ghc: '7.8'
env: GHCVER=7.8.4 CABALVER=1.18
addons: {apt: {packages: [ghc-7.8.4, cabal-install-1.18], sources: hvr-ghc}}
before_install:
- export PATH=/opt/ghc/$GHCVER/bin:/opt/cabal/$CABALVER/bin:$PATH
- ghc --version
- cabal --version
- haddock --version
- rm -f ~/.cabal/config && cabal update
- cabal install Cabal==1.18.*
- cabal install leancheck express speculate
script:
- make && make test
- make haddock HADDOCKFLAGS=
- make test-sdist
- cabal test