8
8
#
9
9
# For more information, see https://github.com/haskell-CI/haskell-ci
10
10
#
11
- # version: 0.15.20220920
11
+ # version: 0.16
12
12
#
13
- # REGENDATA ("0.15.20220920 ",["github","cabal.project"])
13
+ # REGENDATA ("0.16 ",["github","cabal.project"])
14
14
#
15
15
name : Haskell-CI
16
16
on :
28
28
strategy :
29
29
matrix :
30
30
include :
31
+ - compiler : ghc-9.6.1
32
+ compilerKind : ghc
33
+ compilerVersion : 9.6.1
34
+ setup-method : ghcup
35
+ allow-failure : false
31
36
- compiler : ghc-9.4.2
32
37
compilerKind : ghc
33
38
compilerVersion : 9.4.2
@@ -71,18 +76,18 @@ jobs:
71
76
apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5
72
77
if [ "${{ matrix.setup-method }}" = ghcup ]; then
73
78
mkdir -p "$HOME/.ghcup/bin"
74
- curl -sL https://downloads.haskell.org/ghcup/0.1.18.0 /x86_64-linux-ghcup-0.1.18.0 > "$HOME/.ghcup/bin/ghcup"
79
+ curl -sL https://downloads.haskell.org/ghcup/0.1.19.2 /x86_64-linux-ghcup-0.1.19.2 > "$HOME/.ghcup/bin/ghcup"
75
80
chmod a+x "$HOME/.ghcup/bin/ghcup"
76
81
"$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
77
- "$HOME/.ghcup/bin/ghcup" install cabal 3.6.2 .0 || (cat "$HOME"/.ghcup/logs/*.* && false)
82
+ "$HOME/.ghcup/bin/ghcup" install cabal 3.10.1 .0 || (cat "$HOME"/.ghcup/logs/*.* && false)
78
83
else
79
84
apt-add-repository -y 'ppa:hvr/ghc'
80
85
apt-get update
81
86
apt-get install -y "$HCNAME"
82
87
mkdir -p "$HOME/.ghcup/bin"
83
- curl -sL https://downloads.haskell.org/ghcup/0.1.18.0 /x86_64-linux-ghcup-0.1.18.0 > "$HOME/.ghcup/bin/ghcup"
88
+ curl -sL https://downloads.haskell.org/ghcup/0.1.19.2 /x86_64-linux-ghcup-0.1.19.2 > "$HOME/.ghcup/bin/ghcup"
84
89
chmod a+x "$HOME/.ghcup/bin/ghcup"
85
- "$HOME/.ghcup/bin/ghcup" install cabal 3.6.2 .0 || (cat "$HOME"/.ghcup/logs/*.* && false)
90
+ "$HOME/.ghcup/bin/ghcup" install cabal 3.10.1 .0 || (cat "$HOME"/.ghcup/logs/*.* && false)
86
91
fi
87
92
env :
88
93
HCKIND : ${{ matrix.compilerKind }}
@@ -100,13 +105,13 @@ jobs:
100
105
echo "HC=$HC" >> "$GITHUB_ENV"
101
106
echo "HCPKG=$HOME/.ghcup/bin/$HCKIND-pkg-$HCVER" >> "$GITHUB_ENV"
102
107
echo "HADDOCK=$HOME/.ghcup/bin/haddock-$HCVER" >> "$GITHUB_ENV"
103
- echo "CABAL=$HOME/.ghcup/bin/cabal-3.6.2 .0 -vnormal+nowrap" >> "$GITHUB_ENV"
108
+ echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.1 .0 -vnormal+nowrap" >> "$GITHUB_ENV"
104
109
else
105
110
HC=$HCDIR/bin/$HCKIND
106
111
echo "HC=$HC" >> "$GITHUB_ENV"
107
112
echo "HCPKG=$HCDIR/bin/$HCKIND-pkg" >> "$GITHUB_ENV"
108
113
echo "HADDOCK=$HCDIR/bin/haddock" >> "$GITHUB_ENV"
109
- echo "CABAL=$HOME/.ghcup/bin/cabal-3.6.2 .0 -vnormal+nowrap" >> "$GITHUB_ENV"
114
+ echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.1 .0 -vnormal+nowrap" >> "$GITHUB_ENV"
110
115
fi
111
116
112
117
HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')
@@ -158,23 +163,23 @@ jobs:
158
163
- name : install cabal-plan
159
164
run : |
160
165
mkdir -p $HOME/.cabal/bin
161
- curl -sL https://github.com/haskell-hvr/cabal-plan/releases/download/v0.6.2 .0/cabal-plan-0.6.2 .0-x86_64-linux.xz > cabal-plan.xz
162
- echo 'de73600b1836d3f55e32d80385acc055fd97f60eaa0ab68a755302685f5d81bc cabal-plan.xz' | sha256sum -c -
166
+ curl -sL https://github.com/haskell-hvr/cabal-plan/releases/download/v0.7.3 .0/cabal-plan-0.7.3 .0-x86_64-linux.xz > cabal-plan.xz
167
+ echo 'f62ccb2971567a5f638f2005ad3173dba14693a45154c1508645c52289714cb2 cabal-plan.xz' | sha256sum -c -
163
168
xz -d < cabal-plan.xz > $HOME/.cabal/bin/cabal-plan
164
169
rm -f cabal-plan.xz
165
170
chmod a+x $HOME/.cabal/bin/cabal-plan
166
171
cabal-plan --version
167
172
- name : checkout
168
- uses : actions/checkout@v2
173
+ uses : actions/checkout@v3
169
174
with :
170
175
path : source
171
176
- name : initial cabal.project for sdist
172
177
run : |
173
178
touch cabal.project
174
179
echo "packages: $GITHUB_WORKSPACE/source/cborg" >> cabal.project
175
180
echo "packages: $GITHUB_WORKSPACE/source/cbor-tool" >> cabal.project
176
- echo "packages: $GITHUB_WORKSPACE/source/serialise" >> cabal.project
177
- echo "packages: $GITHUB_WORKSPACE/source/binary-serialise-cbor" >> cabal.project
181
+ if [ $((HCNUMVER < 90600)) -ne 0 ] ; then echo "packages: $GITHUB_WORKSPACE/source/serialise" >> cabal.project ; fi
182
+ if [ $((HCNUMVER < 90600)) -ne 0 ] ; then echo "packages: $GITHUB_WORKSPACE/source/binary-serialise-cbor" >> cabal.project ; fi
178
183
echo "packages: $GITHUB_WORKSPACE/source/cborg-json" >> cabal.project
179
184
cat cabal.project
180
185
- name : sdist
@@ -202,17 +207,17 @@ jobs:
202
207
touch cabal.project.local
203
208
echo "packages: ${PKGDIR_cborg}" >> cabal.project
204
209
echo "packages: ${PKGDIR_cbor_tool}" >> cabal.project
205
- echo "packages: ${PKGDIR_serialise}" >> cabal.project
206
- echo "packages: ${PKGDIR_binary_serialise_cbor}" >> cabal.project
210
+ if [ $((HCNUMVER < 90600)) -ne 0 ] ; then echo "packages: ${PKGDIR_serialise}" >> cabal.project ; fi
211
+ if [ $((HCNUMVER < 90600)) -ne 0 ] ; then echo "packages: ${PKGDIR_binary_serialise_cbor}" >> cabal.project ; fi
207
212
echo "packages: ${PKGDIR_cborg_json}" >> cabal.project
208
213
echo "package cborg" >> cabal.project
209
214
echo " ghc-options: -Werror=missing-methods" >> cabal.project
210
215
echo "package cbor-tool" >> cabal.project
211
216
echo " ghc-options: -Werror=missing-methods" >> cabal.project
212
- echo "package serialise" >> cabal.project
213
- echo " ghc-options: -Werror=missing-methods" >> cabal.project
214
- echo "package binary-serialise-cbor" >> cabal.project
215
- echo " ghc-options: -Werror=missing-methods" >> cabal.project
217
+ if [ $((HCNUMVER < 90600)) -ne 0 ] ; then echo "package serialise" >> cabal.project ; fi
218
+ if [ $((HCNUMVER < 90600)) -ne 0 ] ; then echo " ghc-options: -Werror=missing-methods" >> cabal.project ; fi
219
+ if [ $((HCNUMVER < 90600)) -ne 0 ] ; then echo "package binary-serialise-cbor" >> cabal.project ; fi
220
+ if [ $((HCNUMVER < 90600)) -ne 0 ] ; then echo " ghc-options: -Werror=missing-methods" >> cabal.project ; fi
216
221
echo "package cborg-json" >> cabal.project
217
222
echo " ghc-options: -Werror=missing-methods" >> cabal.project
218
223
cat >> cabal.project <<EOF
@@ -225,8 +230,8 @@ jobs:
225
230
run : |
226
231
$CABAL v2-build $ARG_COMPILER $ARG_TESTS $ARG_BENCH --dry-run all
227
232
cabal-plan
228
- - name : cache
229
- uses : actions/cache@v2
233
+ - name : restore cache
234
+ uses : actions/cache/restore@v3
230
235
with :
231
236
key : ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }}
232
237
path : ~/.cabal/store
@@ -250,16 +255,22 @@ jobs:
250
255
${CABAL} -vnormal check
251
256
cd ${PKGDIR_cbor_tool} || false
252
257
${CABAL} -vnormal check
253
- cd ${PKGDIR_serialise} || false
254
- $ {CABAL} -vnormal check
255
- cd ${PKGDIR_binary_serialise_cbor} || false
256
- $ {CABAL} -vnormal check
258
+ if [ $((HCNUMVER < 90600)) -ne 0 ] ; then cd ${PKGDIR_serialise} || false ; fi
259
+ if [ $((HCNUMVER < 90600)) -ne 0 ] ; then $ {CABAL} -vnormal check ; fi
260
+ if [ $((HCNUMVER < 90600)) -ne 0 ] ; then cd ${PKGDIR_binary_serialise_cbor} || false ; fi
261
+ if [ $((HCNUMVER < 90600)) -ne 0 ] ; then $ {CABAL} -vnormal check ; fi
257
262
cd ${PKGDIR_cborg_json} || false
258
263
${CABAL} -vnormal check
259
264
- name : haddock
260
265
run : |
261
- $CABAL v2-haddock --haddock-all $ARG_COMPILER --with-haddock $HADDOCK $ARG_TESTS $ARG_BENCH all
266
+ $CABAL v2-haddock --disable-documentation -- haddock-all $ARG_COMPILER --with-haddock $HADDOCK $ARG_TESTS $ARG_BENCH all
262
267
- name : unconstrained build
263
268
run : |
264
269
rm -f cabal.project.local
265
270
$CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks all
271
+ - name : save cache
272
+ uses : actions/cache/save@v3
273
+ if : always()
274
+ with :
275
+ key : ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }}
276
+ path : ~/.cabal/store
0 commit comments