6
6
#
7
7
# haskell-ci regenerate
8
8
#
9
- # For more information, see https://github.com/haskell-CI /haskell-ci
9
+ # For more information, see https://github.com/andreasabel /haskell-ci
10
10
#
11
- # version: 0.17.20230826
11
+ # version: 0.18.1.20240316
12
12
#
13
- # REGENDATA ("0.17.20230826 ",["github","cabal.project"])
13
+ # REGENDATA ("0.18.1.20240316 ",["github","cabal.project"])
14
14
#
15
15
name : Haskell-CI
16
16
on :
@@ -28,14 +28,24 @@ jobs:
28
28
strategy :
29
29
matrix :
30
30
include :
31
- - compiler : ghc-9.6.2
31
+ - compiler : ghc-9.10.0.20240313
32
32
compilerKind : ghc
33
- compilerVersion : 9.6.2
33
+ compilerVersion : 9.10.0.20240313
34
34
setup-method : ghcup
35
35
allow-failure : false
36
- - compiler : ghc-9.4.7
36
+ - compiler : ghc-9.8.2
37
37
compilerKind : ghc
38
- compilerVersion : 9.4.7
38
+ compilerVersion : 9.8.2
39
+ setup-method : ghcup
40
+ allow-failure : false
41
+ - compiler : ghc-9.6.4
42
+ compilerKind : ghc
43
+ compilerVersion : 9.6.4
44
+ setup-method : ghcup
45
+ allow-failure : false
46
+ - compiler : ghc-9.4.8
47
+ compilerKind : ghc
48
+ compilerVersion : 9.4.8
39
49
setup-method : ghcup
40
50
allow-failure : false
41
51
- compiler : ghc-9.2.8
@@ -56,27 +66,27 @@ jobs:
56
66
- compiler : ghc-8.8.4
57
67
compilerKind : ghc
58
68
compilerVersion : 8.8.4
59
- setup-method : hvr-ppa
69
+ setup-method : ghcup
60
70
allow-failure : false
61
71
- compiler : ghc-8.6.5
62
72
compilerKind : ghc
63
73
compilerVersion : 8.6.5
64
- setup-method : hvr-ppa
74
+ setup-method : ghcup
65
75
allow-failure : false
66
76
- compiler : ghc-8.4.4
67
77
compilerKind : ghc
68
78
compilerVersion : 8.4.4
69
- setup-method : hvr-ppa
79
+ setup-method : ghcup
70
80
allow-failure : false
71
81
- compiler : ghc-8.2.2
72
82
compilerKind : ghc
73
83
compilerVersion : 8.2.2
74
- setup-method : hvr-ppa
84
+ setup-method : ghcup
75
85
allow-failure : false
76
86
- compiler : ghc-8.0.2
77
87
compilerKind : ghc
78
88
compilerVersion : 8.0.2
79
- setup-method : hvr-ppa
89
+ setup-method : ghcup
80
90
allow-failure : false
81
91
- compiler : ghc-7.10.3
82
92
compilerKind : ghc
@@ -108,21 +118,23 @@ jobs:
108
118
- name : apt
109
119
run : |
110
120
apt-get update
111
- apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5
121
+ apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5 libnuma-dev
112
122
if [ "${{ matrix.setup-method }}" = ghcup ]; then
113
123
mkdir -p "$HOME/.ghcup/bin"
114
- curl -sL https://downloads.haskell.org/ghcup/0.1.19.5 /x86_64-linux-ghcup-0.1.19.5 > "$HOME/.ghcup/bin/ghcup"
124
+ curl -sL https://downloads.haskell.org/ghcup/0.1.20.0 /x86_64-linux-ghcup-0.1.20.0 > "$HOME/.ghcup/bin/ghcup"
115
125
chmod a+x "$HOME/.ghcup/bin/ghcup"
126
+ "$HOME/.ghcup/bin/ghcup" config add-release-channel https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-prereleases-0.0.8.yaml;
116
127
"$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
117
- "$HOME/.ghcup/bin/ghcup" install cabal 3.10.1 .0 || (cat "$HOME"/.ghcup/logs/*.* && false)
128
+ "$HOME/.ghcup/bin/ghcup" install cabal 3.10.3 .0 || (cat "$HOME"/.ghcup/logs/*.* && false)
118
129
else
119
130
apt-add-repository -y 'ppa:hvr/ghc'
120
131
apt-get update
121
132
apt-get install -y "$HCNAME"
122
133
mkdir -p "$HOME/.ghcup/bin"
123
- curl -sL https://downloads.haskell.org/ghcup/0.1.19.5 /x86_64-linux-ghcup-0.1.19.5 > "$HOME/.ghcup/bin/ghcup"
134
+ curl -sL https://downloads.haskell.org/ghcup/0.1.20.0 /x86_64-linux-ghcup-0.1.20.0 > "$HOME/.ghcup/bin/ghcup"
124
135
chmod a+x "$HOME/.ghcup/bin/ghcup"
125
- "$HOME/.ghcup/bin/ghcup" install cabal 3.10.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
136
+ "$HOME/.ghcup/bin/ghcup" config add-release-channel https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-prereleases-0.0.8.yaml;
137
+ "$HOME/.ghcup/bin/ghcup" install cabal 3.10.3.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
126
138
fi
127
139
env :
128
140
HCKIND : ${{ matrix.compilerKind }}
@@ -142,20 +154,20 @@ jobs:
142
154
echo "HC=$HC" >> "$GITHUB_ENV"
143
155
echo "HCPKG=$HCPKG" >> "$GITHUB_ENV"
144
156
echo "HADDOCK=$HADDOCK" >> "$GITHUB_ENV"
145
- echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.1 .0 -vnormal+nowrap" >> "$GITHUB_ENV"
157
+ echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.3 .0 -vnormal+nowrap" >> "$GITHUB_ENV"
146
158
else
147
159
HC=$HCDIR/bin/$HCKIND
148
160
echo "HC=$HC" >> "$GITHUB_ENV"
149
161
echo "HCPKG=$HCDIR/bin/$HCKIND-pkg" >> "$GITHUB_ENV"
150
162
echo "HADDOCK=$HCDIR/bin/haddock" >> "$GITHUB_ENV"
151
- echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.1 .0 -vnormal+nowrap" >> "$GITHUB_ENV"
163
+ echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.3 .0 -vnormal+nowrap" >> "$GITHUB_ENV"
152
164
fi
153
165
154
166
HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')
155
167
echo "HCNUMVER=$HCNUMVER" >> "$GITHUB_ENV"
156
168
echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV"
157
169
echo "ARG_BENCH=--enable-benchmarks" >> "$GITHUB_ENV"
158
- echo "HEADHACKAGE=false" >> "$GITHUB_ENV"
170
+ if [ $((HCNUMVER >= 91000)) -ne 0 ] ; then echo "HEADHACKAGE=true" >> "$GITHUB_ENV" ; else echo "HEADHACKAGE= false" >> "$GITHUB_ENV" ; fi
159
171
echo "ARG_COMPILER=--$HCKIND --with-compiler=$HC" >> "$GITHUB_ENV"
160
172
echo "GHCJSARITH=0" >> "$GITHUB_ENV"
161
173
env :
@@ -184,6 +196,18 @@ jobs:
184
196
repository hackage.haskell.org
185
197
url: http://hackage.haskell.org/
186
198
EOF
199
+ if $HEADHACKAGE; then
200
+ cat >> $CABAL_CONFIG <<EOF
201
+ repository head.hackage.ghc.haskell.org
202
+ url: https://ghc.gitlab.haskell.org/head.hackage/
203
+ secure: True
204
+ root-keys: 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d
205
+ 26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329
206
+ f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89
207
+ key-threshold: 3
208
+ active-repositories: hackage.haskell.org, head.hackage.ghc.haskell.org:override
209
+ EOF
210
+ fi
187
211
cat >> $CABAL_CONFIG <<EOF
188
212
program-default-options
189
213
ghc-options: $GHCJOBS +RTS -M3G -RTS
@@ -215,7 +239,6 @@ jobs:
215
239
touch cabal.project
216
240
echo "packages: $GITHUB_WORKSPACE/source/." >> cabal.project
217
241
echo "packages: $GITHUB_WORKSPACE/source/testsuite" >> cabal.project
218
- if [ $((HCNUMVER >= 80000)) -ne 0 ] ; then echo "packages: $GITHUB_WORKSPACE/source/bench" >> cabal.project ; fi
219
242
cat cabal.project
220
243
- name : sdist
221
244
run : |
@@ -231,23 +254,21 @@ jobs:
231
254
echo "PKGDIR_stm=${PKGDIR_stm}" >> "$GITHUB_ENV"
232
255
PKGDIR_testsuite="$(find "$GITHUB_WORKSPACE/unpacked" -maxdepth 1 -type d -regex '.*/testsuite-[0-9.]*')"
233
256
echo "PKGDIR_testsuite=${PKGDIR_testsuite}" >> "$GITHUB_ENV"
234
- PKGDIR_stm_bench="$(find "$GITHUB_WORKSPACE/unpacked" -maxdepth 1 -type d -regex '.*/stm-bench-[0-9.]*')"
235
- echo "PKGDIR_stm_bench=${PKGDIR_stm_bench}" >> "$GITHUB_ENV"
236
257
rm -f cabal.project cabal.project.local
237
258
touch cabal.project
238
259
touch cabal.project.local
239
260
echo "packages: ${PKGDIR_stm}" >> cabal.project
240
261
echo "packages: ${PKGDIR_testsuite}" >> cabal.project
241
- if [ $((HCNUMVER >= 80000)) -ne 0 ] ; then echo "packages: ${PKGDIR_stm_bench}" >> cabal.project ; fi
242
262
if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo "package stm" >> cabal.project ; fi
243
263
if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo " ghc-options: -Werror=missing-methods" >> cabal.project ; fi
244
264
if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo "package testsuite" >> cabal.project ; fi
245
265
if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo " ghc-options: -Werror=missing-methods" >> cabal.project ; fi
246
- if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo "package stm-bench" >> cabal.project ; fi
247
- if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo " ghc-options: -Werror=missing-methods" >> cabal.project ; fi
248
266
cat >> cabal.project <<EOF
249
267
EOF
250
- $HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: $_ installed\n" unless /^(exceptions|filepath|stm|stm-bench|testsuite)$/; }' >> cabal.project.local
268
+ if $HEADHACKAGE; then
269
+ echo "allow-newer: $($HCPKG list --simple-output | sed -E 's/([a-zA-Z-]+)-[0-9.]+/*:\1,/g')" >> cabal.project
270
+ fi
271
+ $HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: $_ installed\n" unless /^(exceptions|filepath|stm|testsuite)$/; }' >> cabal.project.local
251
272
cat cabal.project
252
273
cat cabal.project.local
253
274
- name : dump install plan
@@ -275,8 +296,6 @@ jobs:
275
296
${CABAL} -vnormal check
276
297
cd ${PKGDIR_testsuite} || false
277
298
${CABAL} -vnormal check
278
- if [ $((HCNUMVER >= 80000)) -ne 0 ] ; then cd ${PKGDIR_stm_bench} || false ; fi
279
- if [ $((HCNUMVER >= 80000)) -ne 0 ] ; then ${CABAL} -vnormal check ; fi
280
299
- name : haddock
281
300
run : |
282
301
$CABAL v2-haddock --disable-documentation --haddock-all $ARG_COMPILER --with-haddock $HADDOCK $ARG_TESTS $ARG_BENCH all
0 commit comments