1
1
# This Travis job script has been generated by a script via
2
2
#
3
- # haskell-ci '--config=cabal.haskell-ci' 'servant-swagger. cabal'
3
+ # haskell-ci '--config=cabal.haskell-ci' 'cabal.project '
4
4
#
5
5
# For more information, see https://github.com/haskell-CI/haskell-ci
6
6
#
7
- # version: 0.3.20190521
7
+ # version: 0.5.20190908
8
8
#
9
9
language : c
10
10
dist : xenial
@@ -29,23 +29,27 @@ before_cache:
29
29
- rm -rfv $CABALHOME/packages/head.hackage
30
30
matrix :
31
31
include :
32
+ - compiler : ghc-8.8.1
33
+ addons : {"apt":{"sources":["hvr-ghc"],"packages":["ghc-8.8.1","cabal-install-3.0"]}}
32
34
- compiler : ghc-8.6.5
33
- addons : {"apt":{"sources":["hvr-ghc"],"packages":["ghc-8.6.5","cabal-install-2.4 "]}}
35
+ addons : {"apt":{"sources":["hvr-ghc"],"packages":["ghc-8.6.5","cabal-install-3.0 "]}}
34
36
- compiler : ghc-8.4.4
35
- addons : {"apt":{"sources":["hvr-ghc"],"packages":["ghc-8.4.4","cabal-install-2.4 "]}}
37
+ addons : {"apt":{"sources":["hvr-ghc"],"packages":["ghc-8.4.4","cabal-install-3.0 "]}}
36
38
- compiler : ghc-8.2.2
37
- addons : {"apt":{"sources":["hvr-ghc"],"packages":["ghc-8.2.2","cabal-install-2.4 "]}}
39
+ addons : {"apt":{"sources":["hvr-ghc"],"packages":["ghc-8.2.2","cabal-install-3.0 "]}}
38
40
- compiler : ghc-8.0.2
39
- addons : {"apt":{"sources":["hvr-ghc"],"packages":["ghc-8.0.2","cabal-install-2.4 "]}}
41
+ addons : {"apt":{"sources":["hvr-ghc"],"packages":["ghc-8.0.2","cabal-install-3.0 "]}}
40
42
before_install :
41
43
- HC=$(echo "/opt/$CC/bin/ghc" | sed 's/-/\//')
44
+ - WITHCOMPILER="-w $HC"
45
+ - HADDOCK=$(echo "/opt/$CC/bin/haddock" | sed 's/-/\//')
42
46
- HCPKG="$HC-pkg"
43
47
- unset CC
44
48
- CABAL=/opt/ghc/bin/cabal
45
49
- CABALHOME=$HOME/.cabal
46
50
- export PATH="$CABALHOME/bin:$PATH"
47
51
- TOP=$(pwd)
48
- - HCNUMVER=$(( $($ {HC} --numeric-version|sed -E 's/([0-9] +)\.([0-9] +)\.([0-9]+).*/\1 * 10000 + \2 * 100 + \3/') ))
52
+ - " HCNUMVER=$($ {HC} --numeric-version|perl -ne '/^( \\ d +)\\ .( \\ d +)\\ .( \\ d+)( \\ .( \\ d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))') "
49
53
- echo $HCNUMVER
50
54
- CABAL="$CABAL -vnormal+nowrap+markoutput"
51
55
- set -o pipefail
@@ -72,11 +76,12 @@ install:
72
76
- echo "$(${HC} --version) [$(${HC} --print-project-git-commit-id 2> /dev/null || echo '?')]"
73
77
- TEST=--enable-tests
74
78
- BENCH=--enable-benchmarks
75
- - GHCHEAD=${GHCHEAD- false}
79
+ - HEADHACKAGE= false
76
80
- rm -f $CABALHOME/config
77
81
- |
78
82
echo "verbose: normal +nowrap +markoutput" >> $CABALHOME/config
79
83
echo "remote-build-reporting: anonymous" >> $CABALHOME/config
84
+ echo "write-ghc-environment-files: always" >> $CABALHOME/config
80
85
echo "remote-repo-cache: $CABALHOME/packages" >> $CABALHOME/config
81
86
echo "logs-dir: $CABALHOME/logs" >> $CABALHOME/config
82
87
echo "world-file: $CABALHOME/world" >> $CABALHOME/config
@@ -89,68 +94,73 @@ install:
89
94
echo " prefix: $CABALHOME" >> $CABALHOME/config
90
95
echo "repository hackage.haskell.org" >> $CABALHOME/config
91
96
echo " url: http://hackage.haskell.org/" >> $CABALHOME/config
97
+ - |
98
+ echo "program-default-options" >> $CABALHOME/config
99
+ echo " ghc-options: $GHCJOBS +RTS -M6G -RTS" >> $CABALHOME/config
92
100
- cat $CABALHOME/config
93
101
- rm -fv cabal.project cabal.project.local cabal.project.freeze
94
102
- travis_retry ${CABAL} v2-update -v
95
103
# Generate cabal.project
96
104
- rm -rf cabal.project cabal.project.local cabal.project.freeze
97
105
- touch cabal.project
98
106
- |
99
- echo ' packages: "."' >> cabal.project
107
+ echo " packages: ." >> cabal.project
100
108
- |
101
- echo "write-ghc-environment-files: always " >> cabal.project
109
+ echo "allow-newer: aeson-pretty-0.8.7:base-compat " >> cabal.project
102
110
- " for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | (grep -vE -- '^(servant-swagger)$' || true) | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done"
103
111
- cat cabal.project || true
104
112
- cat cabal.project.local || true
105
113
- if [ -f "./configure.ac" ]; then (cd "." && autoreconf -i); fi
106
- - ${CABAL} v2-freeze -w ${HC} ${TEST} ${BENCH} | color_cabal_output
114
+ - ${CABAL} v2-freeze $WITHCOMPILER ${TEST} ${BENCH} | color_cabal_output
107
115
- " cat cabal.project.freeze | sed -E 's/^(constraints: *| *)//' | sed 's/any.//'"
108
116
- rm cabal.project.freeze
109
- - ${CABAL} v2-build -w ${HC} ${TEST} ${BENCH} --dep -j2 all | color_cabal_output
110
- - ${CABAL} v2-build -w ${HC} --disable-tests --disable-benchmarks --dep -j2 all | color_cabal_output
117
+ - ${CABAL} v2-build $WITHCOMPILER ${TEST} ${BENCH} --dep -j2 all | color_cabal_output
118
+ - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks --dep -j2 all | color_cabal_output
111
119
script :
112
120
- DISTDIR=$(mktemp -d /tmp/dist-test.XXXX)
113
121
# Packaging...
114
122
- ${CABAL} v2-sdist all | color_cabal_output
115
123
# Unpacking...
116
124
- mv dist-newstyle/sdist/*.tar.gz ${DISTDIR}/
117
125
- cd ${DISTDIR} || false
118
- - find . -maxdepth 1 -name '*.tar.gz' -exec tar -xvf '{}' \;
126
+ - find . -maxdepth 1 -type f -name '*.tar.gz' -exec tar -xvf '{}' \;
127
+ - find . -maxdepth 1 -type f -name '*.tar.gz' -exec rm '{}' \;
128
+ - PKGDIR_servant_swagger="$(find . -maxdepth 1 -type d -regex '.*/servant-swagger-[0-9.]*')"
119
129
# Generate cabal.project
120
130
- rm -rf cabal.project cabal.project.local cabal.project.freeze
121
131
- touch cabal.project
122
132
- |
123
- echo ' packages: "servant-swagger-*/*.cabal"' >> cabal.project
133
+ echo " packages: ${PKGDIR_servant_swagger}" >> cabal.project
124
134
- |
125
- echo "write-ghc-environment-files: always " >> cabal.project
135
+ echo "allow-newer: aeson-pretty-0.8.7:base-compat " >> cabal.project
126
136
- " for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | (grep -vE -- '^(servant-swagger)$' || true) | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done"
127
137
- cat cabal.project || true
128
138
- cat cabal.project.local || true
129
139
# Building...
130
140
# this builds all libraries and executables (without tests/benchmarks)
131
- - ${CABAL} v2-build -w ${HC} --disable-tests --disable-benchmarks all | color_cabal_output
141
+ - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all | color_cabal_output
132
142
# Building with tests and benchmarks...
133
143
# build & run tests, build benchmarks
134
- - ${CABAL} v2-build -w ${HC} ${TEST} ${BENCH} all | color_cabal_output
144
+ - ${CABAL} v2-build $WITHCOMPILER ${TEST} ${BENCH} all | color_cabal_output
135
145
# Testing...
136
- - ${CABAL} v2-test -w ${HC} ${TEST} ${BENCH} all | color_cabal_output
146
+ - ${CABAL} v2-test $WITHCOMPILER ${TEST} ${BENCH} all | color_cabal_output
137
147
# cabal check...
138
- - (cd servant-swagger-* && ${CABAL} -vnormal check)
148
+ - (cd ${PKGDIR_servant_swagger} && ${CABAL} -vnormal check)
139
149
# haddock...
140
- - ${CABAL} v2-haddock -w ${HC} ${TEST} ${BENCH} all | color_cabal_output
150
+ - ${CABAL} v2-haddock $WITHCOMPILER --with-haddock $HADDOCK ${TEST} ${BENCH} all | color_cabal_output
141
151
# Building without installed constraints for packages in global-db...
142
152
- rm -f cabal.project.local
143
- - ${CABAL} v2-build -w ${HC} --disable-tests --disable-benchmarks all | color_cabal_output
153
+ - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all | color_cabal_output
144
154
# Constraint sets
145
155
- rm -rf cabal.project.local
146
156
# Constraint set swagger2-2.3
147
- - $ {CABAL} v2-build -w ${HC} --disable-tests --disable-benchmarks --constraint='swagger2 ==2.3.*' all | color_cabal_output
157
+ - if [ $HCNUMVER -lt 80800 ] ; then $ {CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks --constraint='swagger2 ==2.3.*' all | color_cabal_output ; fi
148
158
# Constraint set swagger2-2.4
149
- - ${CABAL} v2-build -w ${HC} --disable-tests --disable-benchmarks --constraint='swagger2 ==2.4.*' all | color_cabal_output
159
+ - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks --constraint='swagger2 ==2.4.*' all | color_cabal_output
150
160
# Constraint set servant-0.15
151
- - $ {CABAL} v2-build -w ${HC} --disable-tests --disable-benchmarks --constraint='servant == 0.15.*' all | color_cabal_output
161
+ - if [ $HCNUMVER -lt 80800 ] ; then $ {CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks --constraint='servant == 0.15.*' all | color_cabal_output ; fi
152
162
# Constraint set servant-0.16
153
- - ${CABAL} v2-build -w ${HC} --disable-tests --disable-benchmarks --constraint='servant == 0.16.*' all | color_cabal_output
163
+ - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks --constraint='servant == 0.16.*' all | color_cabal_output
154
164
155
- # REGENDATA ["--config=cabal.haskell-ci","servant-swagger. cabal"]
165
+ # REGENDATA ["--config=cabal.haskell-ci","cabal.project "]
156
166
# EOF
0 commit comments