git.iko.soy/typeable/swagger2
on master help sign in
Try new .travis.yml
5297441Oleg Grenrus
.travis.yml+15−3
@@ -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
21− - $HOME/.local/bin
22
21
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:
33 include:
32 include:
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
35+ env: HADDOCK=false
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+ env: HADDOCK=false
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
43+ env: HADDOCK=false
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
86
89
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
94+
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
90
98
99+ # haddock
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
102+
91# EOF
103# EOF
install-hspec-discover.shdeleted−18
@@ -1,18 +0,0 @@
1−#!/bin/sh
2−
3−set -ex
4−
5−if [ ! -e $HOME/.local/bin/hspec-discover ]; then
6− # Fetch the source
7− cabal get hspec-discover-2.4.4
8− cd hspec-discover-2.4.4
9−
10− # Set-up project
11− echo 'packages: .' > cabal.project
12−
13− # build exe
14− cabal new-build hspec-discover:exe:hspec-discover
15−
16− # copy executable to $HOME/.local/bin
17− cp $(find dist-newstyle -name hspec-discover -type f) $HOME/.local/bin
18−fi
swagger2.cabal+3
@@ -100,6 +100,9 @@ test-suite spec
100 Data.Swagger.SchemaSpec
100 Data.Swagger.SchemaSpec
101 Data.Swagger.Schema.ValidationSpec
101 Data.Swagger.Schema.ValidationSpec
102 default-language: Haskell2010
102 default-language: Haskell2010
103+ -- https://github.com/haskell/cabal/issues/3708
104+ build-tool-depends:
105+ hspec-discover:hspec-discover
103
106
104test-suite doctests
107test-suite doctests
105 -- See QuickCheck note in https://github.com/phadej/cabal-doctest#notes
108 -- See QuickCheck note in https://github.com/phadej/cabal-doctest#notes