@@ -18,7 +18,6 @@ cache:
18 directories:
18 directories:
19 - $HOME/.cabal/packages
19 - $HOME/.cabal/packages
20 - $HOME/.cabal/store
20 - $HOME/.cabal/store
23before_cache:
22before_cache:
24 - rm -fv $HOME/.cabal/packages/hackage.haskell.org/build-reports.log
23 - rm -fv $HOME/.cabal/packages/hackage.haskell.org/build-reports.log
@@ -33,12 +32,15 @@ matrix:
34 - compiler: "ghc-7.8.4"
33 - compiler: "ghc-7.8.4"
35 # env: TEST=--disable-tests BENCH=--disable-benchmarks
34 # env: TEST=--disable-tests BENCH=--disable-benchmarks
36 addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-7.8.4], sources: [hvr-ghc]}}
36 addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-7.8.4], sources: [hvr-ghc]}}
37 - compiler: "ghc-7.10.3"
37 - compiler: "ghc-7.10.3"
38 # env: TEST=--disable-tests BENCH=--disable-benchmarks
38 # env: TEST=--disable-tests BENCH=--disable-benchmarks
39 addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-7.10.3], sources: [hvr-ghc]}}
40 addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-7.10.3], sources: [hvr-ghc]}}
40 - compiler: "ghc-8.0.2"
41 - compiler: "ghc-8.0.2"
41 # env: TEST=--disable-tests BENCH=--disable-benchmarks
42 # env: TEST=--disable-tests BENCH=--disable-benchmarks
42 addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-8.0.2], sources: [hvr-ghc]}}
44 addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-8.0.2], sources: [hvr-ghc]}}
43 - compiler: "ghc-8.2.1"
45 - compiler: "ghc-8.2.1"
44 # env: TEST=--disable-tests BENCH=--disable-benchmarks
46 # env: TEST=--disable-tests BENCH=--disable-benchmarks
@@ -55,9 +57,10 @@ install:
55 - echo "$(${HC} --version) [$(${HC} --print-project-git-commit-id 2> /dev/null || echo '?')]"
57 - echo "$(${HC} --version) [$(${HC} --print-project-git-commit-id 2> /dev/null || echo '?')]"
56 - BENCH=${BENCH---enable-benchmarks}
58 - BENCH=${BENCH---enable-benchmarks}
57 - TEST=${TEST---enable-tests}
59 - TEST=${TEST---enable-tests}
60+ - HADDOCK=${HADDOCK-true}
61+ - INSTALLED=${INSTALLED-true}
58 - travis_retry cabal update -v
62 - travis_retry cabal update -v
59 - sed -i 's/^jobs:/-- jobs:/' ${HOME}/.cabal/config
63 - sed -i 's/^jobs:/-- jobs:/' ${HOME}/.cabal/config
60− - sh install-hspec-discover.sh # TEMP: we should use build-tools-depends
61 - rm -fv cabal.project.local
64 - rm -fv cabal.project.local
62 - "echo 'packages: .' > cabal.project"
65 - "echo 'packages: .' > cabal.project"
63 - rm -f cabal.project.freeze
66 - rm -f cabal.project.freeze
@@ -84,8 +87,17 @@ script:
84 # this builds all libraries and executables (including tests/benchmarks)
87 # this builds all libraries and executables (including tests/benchmarks)
85 # - rm -rf ./dist-newstyle
88 # - rm -rf ./dist-newstyle
90+ # Build with installed constraints for packages in global-db
91+ - if $INSTALLED; then
92+ ghc-pkg list --simple-output --names-only | sed -r 's/([a-zA-Z0-9-]+*) */--constraint=\1 installed;/g' | sed 's/;$/;all/' | xargs -d ';' cabal new-build -w ${HC} --disable-tests --disable-benchmarks;
93+ else echo "Not building with installed constraints"; fi
87− # build & run tests
95+ # build & run tests, build benchmarks
88 - cabal new-build -w ${HC} ${TEST} ${BENCH} all
96 - cabal new-build -w ${HC} ${TEST} ${BENCH} all
89 - if [ "x$TEST" = "x--enable-tests" ]; then cabal new-test -w ${HC} ${TEST} all; fi
97 - if [ "x$TEST" = "x--enable-tests" ]; then cabal new-test -w ${HC} ${TEST} all; fi
100+ - rm -rf ./dist-newstyle
101+ - if $HADDOCK; then cabal new-haddock -w ${HC} --disable-tests --disable-benchmarks all; else echo "Skipping haddock generation";fi