# This file has been generated by `make_travis_yml_2.hs` # see https://github.com/hvr/multi-ghc-travis for more information language: c sudo: false cache: directories: - $HOME/.cabal/packages - $HOME/.cabal/store before_cache: - rm -fv $HOME/.cabal/packages/hackage.haskell.org/build-reports.log - rm -fv $HOME/.cabal/packages/hackage.haskell.org/00-index.tar matrix: include: - env: CABALVER=1.24 GHCVER=7.4.2 compiler: ": #GHC 7.4.2" addons: {apt: {packages: [cabal-install-1.24,ghc-7.4.2], sources: [hvr-ghc]}} - env: CABALVER=1.24 GHCVER=7.6.3 compiler: ": #GHC 7.6.3" addons: {apt: {packages: [cabal-install-1.24,ghc-7.6.3], sources: [hvr-ghc]}} - env: CABALVER=1.24 GHCVER=7.8.4 compiler: ": #GHC 7.8.4" addons: {apt: {packages: [cabal-install-1.24,ghc-7.8.4], sources: [hvr-ghc]}} - env: CABALVER=1.24 GHCVER=7.10.3 compiler: ": #GHC 7.10.3" addons: {apt: {packages: [cabal-install-1.24,ghc-7.10.3], sources: [hvr-ghc]}} - env: CABALVER=1.24 GHCVER=8.0.1 compiler: ": #GHC 8.0.1" addons: {apt: {packages: [cabal-install-1.24,ghc-8.0.1], sources: [hvr-ghc]}} - env: CABALVER=head GHCVER=head compiler: ": #GHC head" addons: {apt: {packages: [cabal-install-head,ghc-head], sources: [hvr-ghc]}} allow_failures: - env: CABALVER=head GHCVER=head before_install: - unset CC - export PATH=/opt/ghc/$GHCVER/bin:/opt/cabal/$CABALVER/bin:$PATH install: - cabal --version - BENCH=${BENCH---enable-benchmarks} - TEST=${TEST---enable-tests} - echo "$(ghc --version) [$(ghc --print-project-git-commit-id 2> /dev/null || echo '?')]" - if [ -f $HOME/.cabal/packages/hackage.haskell.org/00-index.tar.gz ]; then zcat $HOME/.cabal/packages/hackage.haskell.org/00-index.tar.gz > $HOME/.cabal/packages/hackage.haskell.org/00-index.tar; fi - travis_retry cabal update -v - sed -i 's/^jobs:/-- jobs:/' ${HOME}/.cabal/config - cabal new-build ${TEST} ${BENCH} --dep # 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 [ -f configure.ac ]; then autoreconf -i; fi # this builds all libraries and executables (including tests/benchmarks) - cabal new-build ${TEST} ${BENCH} -v2 # -v2 provides useful information for debugging # there's no 'cabal new-test' yet, so let's emulate for now - TESTS=( $(awk 'tolower($0) ~ /^test-suite / { print $2 }' *.cabal) ); RC=true; for T in ${TESTS[@]}; do echo "== $T =="; if dist-newstyle/build/*/build/$T/$T; then echo "= $T OK ="; else echo "= $T FAILED ="; RC=false; fi; done; $RC - cabal sdist # test that a source-distribution can be generated # Check that the resulting source distribution can be built w/o and w tests - SRC_BASENAME=$(cabal info . | awk '{print $2;exit}') - tar -C dist/ -xf dist/$SRC_BASENAME.tar.gz - "echo 'packages: *.cabal' > dist/$SRC_BASENAME/cabal.project" - cd dist/$SRC_BASENAME/ - cabal new-build --disable-tests --disable-benchmarks - rm -rf ./dist-newstyle - cabal new-build ${TEST} ${BENCH} # EOF