Skip to content

Commit 1a12878

Browse files
committed
Bump CI to GHC 9.10.0
1 parent 5a162fa commit 1a12878

File tree

4 files changed

+89
-33
lines changed

4 files changed

+89
-33
lines changed

.github/workflows/haskell-ci.yml

Lines changed: 48 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@
66
#
77
# haskell-ci regenerate
88
#
9-
# For more information, see https://github.com/haskell-CI/haskell-ci
9+
# For more information, see https://github.com/andreasabel/haskell-ci
1010
#
11-
# version: 0.17.20230826
11+
# version: 0.18.1.20240316
1212
#
13-
# REGENDATA ("0.17.20230826",["github","cabal.project"])
13+
# REGENDATA ("0.18.1.20240316",["github","cabal.project"])
1414
#
1515
name: Haskell-CI
1616
on:
@@ -28,14 +28,24 @@ jobs:
2828
strategy:
2929
matrix:
3030
include:
31-
- compiler: ghc-9.6.2
31+
- compiler: ghc-9.10.0.20240313
3232
compilerKind: ghc
33-
compilerVersion: 9.6.2
33+
compilerVersion: 9.10.0.20240313
3434
setup-method: ghcup
3535
allow-failure: false
36-
- compiler: ghc-9.4.7
36+
- compiler: ghc-9.8.2
3737
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
3949
setup-method: ghcup
4050
allow-failure: false
4151
- compiler: ghc-9.2.8
@@ -56,27 +66,27 @@ jobs:
5666
- compiler: ghc-8.8.4
5767
compilerKind: ghc
5868
compilerVersion: 8.8.4
59-
setup-method: hvr-ppa
69+
setup-method: ghcup
6070
allow-failure: false
6171
- compiler: ghc-8.6.5
6272
compilerKind: ghc
6373
compilerVersion: 8.6.5
64-
setup-method: hvr-ppa
74+
setup-method: ghcup
6575
allow-failure: false
6676
- compiler: ghc-8.4.4
6777
compilerKind: ghc
6878
compilerVersion: 8.4.4
69-
setup-method: hvr-ppa
79+
setup-method: ghcup
7080
allow-failure: false
7181
- compiler: ghc-8.2.2
7282
compilerKind: ghc
7383
compilerVersion: 8.2.2
74-
setup-method: hvr-ppa
84+
setup-method: ghcup
7585
allow-failure: false
7686
- compiler: ghc-8.0.2
7787
compilerKind: ghc
7888
compilerVersion: 8.0.2
79-
setup-method: hvr-ppa
89+
setup-method: ghcup
8090
allow-failure: false
8191
- compiler: ghc-7.10.3
8292
compilerKind: ghc
@@ -108,21 +118,23 @@ jobs:
108118
- name: apt
109119
run: |
110120
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
112122
if [ "${{ matrix.setup-method }}" = ghcup ]; then
113123
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"
115125
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;
116127
"$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)
118129
else
119130
apt-add-repository -y 'ppa:hvr/ghc'
120131
apt-get update
121132
apt-get install -y "$HCNAME"
122133
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"
124135
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)
126138
fi
127139
env:
128140
HCKIND: ${{ matrix.compilerKind }}
@@ -142,20 +154,20 @@ jobs:
142154
echo "HC=$HC" >> "$GITHUB_ENV"
143155
echo "HCPKG=$HCPKG" >> "$GITHUB_ENV"
144156
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"
146158
else
147159
HC=$HCDIR/bin/$HCKIND
148160
echo "HC=$HC" >> "$GITHUB_ENV"
149161
echo "HCPKG=$HCDIR/bin/$HCKIND-pkg" >> "$GITHUB_ENV"
150162
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"
152164
fi
153165
154166
HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')
155167
echo "HCNUMVER=$HCNUMVER" >> "$GITHUB_ENV"
156168
echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV"
157169
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
159171
echo "ARG_COMPILER=--$HCKIND --with-compiler=$HC" >> "$GITHUB_ENV"
160172
echo "GHCJSARITH=0" >> "$GITHUB_ENV"
161173
env:
@@ -184,6 +196,18 @@ jobs:
184196
repository hackage.haskell.org
185197
url: http://hackage.haskell.org/
186198
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
187211
cat >> $CABAL_CONFIG <<EOF
188212
program-default-options
189213
ghc-options: $GHCJOBS +RTS -M3G -RTS
@@ -215,7 +239,6 @@ jobs:
215239
touch cabal.project
216240
echo "packages: $GITHUB_WORKSPACE/source/." >> cabal.project
217241
echo "packages: $GITHUB_WORKSPACE/source/testsuite" >> cabal.project
218-
if [ $((HCNUMVER >= 80000)) -ne 0 ] ; then echo "packages: $GITHUB_WORKSPACE/source/bench" >> cabal.project ; fi
219242
cat cabal.project
220243
- name: sdist
221244
run: |
@@ -231,23 +254,21 @@ jobs:
231254
echo "PKGDIR_stm=${PKGDIR_stm}" >> "$GITHUB_ENV"
232255
PKGDIR_testsuite="$(find "$GITHUB_WORKSPACE/unpacked" -maxdepth 1 -type d -regex '.*/testsuite-[0-9.]*')"
233256
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"
236257
rm -f cabal.project cabal.project.local
237258
touch cabal.project
238259
touch cabal.project.local
239260
echo "packages: ${PKGDIR_stm}" >> cabal.project
240261
echo "packages: ${PKGDIR_testsuite}" >> cabal.project
241-
if [ $((HCNUMVER >= 80000)) -ne 0 ] ; then echo "packages: ${PKGDIR_stm_bench}" >> cabal.project ; fi
242262
if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo "package stm" >> cabal.project ; fi
243263
if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo " ghc-options: -Werror=missing-methods" >> cabal.project ; fi
244264
if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo "package testsuite" >> cabal.project ; fi
245265
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
248266
cat >> cabal.project <<EOF
249267
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
251272
cat cabal.project
252273
cat cabal.project.local
253274
- name: dump install plan
@@ -275,8 +296,6 @@ jobs:
275296
${CABAL} -vnormal check
276297
cd ${PKGDIR_testsuite} || false
277298
${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
280299
- name: haddock
281300
run: |
282301
$CABAL v2-haddock --disable-documentation --haddock-all $ARG_COMPILER --with-haddock $HADDOCK $ARG_TESTS $ARG_BENCH all

cabal.haskell-ci

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
jobs-selection: any
22
install-dependencies: False
33
installed: +all -exceptions -filepath
4+
distribution: bionic

stm.cabal

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ bug-reports: https://github.com/haskell/stm/issues
1111
synopsis: Software Transactional Memory
1212
category: Concurrency
1313
build-type: Simple
14-
tested-with: GHC==9.6.2, GHC==9.4.7, GHC==9.2.8, GHC==9.0.2, GHC==8.10.7, GHC==8.8.4, GHC==8.6.5, GHC==8.4.4, GHC==8.2.2, GHC==8.0.2, GHC==7.10.3, GHC==7.8.4, GHC==7.6.3, GHC==7.4.2, GHC==7.2.2
1514
description:
1615
Software Transactional Memory, or STM, is an abstraction for
1716
concurrent communication. The main benefits of STM are
@@ -22,6 +21,25 @@ description:
2221
with other forms of concurrent communication, such as locks or
2322
'MVar's.
2423

24+
tested-with:
25+
GHC == 9.10.0
26+
GHC == 9.8.2
27+
GHC == 9.6.4
28+
GHC == 9.4.8
29+
GHC == 9.2.8
30+
GHC == 9.0.2
31+
GHC == 8.10.7
32+
GHC == 8.8.4
33+
GHC == 8.6.5
34+
GHC == 8.4.4
35+
GHC == 8.2.2
36+
GHC == 8.0.2
37+
GHC == 7.10.3
38+
GHC == 7.8.4
39+
GHC == 7.6.3
40+
GHC == 7.4.2
41+
GHC == 7.2.2
42+
2543
extra-source-files:
2644
changelog.md
2745
README.md
@@ -53,7 +71,7 @@ library
5371
build-depends: semigroups >=0.18.6 && <0.21
5472

5573
build-depends:
56-
base >= 4.4 && < 4.20,
74+
base >= 4.4 && < 4.21,
5775
array >= 0.3 && < 0.6
5876

5977
exposed-modules:

testsuite/testsuite.cabal

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,32 @@ synopsis: External testsuite for stm package
66
category: Testing
77
license: BSD-3-Clause
88
maintainer: hvr@gnu.org
9-
tested-with: GHC==9.6.2, GHC==9.4.7, GHC==9.2.8, GHC==9.0.2, GHC==8.10.7, GHC==8.8.4, GHC==8.6.5, GHC==8.4.4, GHC==8.2.2, GHC==8.0.2, GHC==7.10.3, GHC==7.8.4, GHC==7.6.3, GHC==7.4.2, GHC==7.2.2
109
description:
1110
This testsuite is intended to be compatible with different versions
1211
of `stm` (via use of @CPP@ if needed) in order to more easily
1312
verify regression tests.
1413
.
1514
See also @README.md@ for more information.
1615

16+
tested-with:
17+
GHC == 9.10.0
18+
GHC == 9.8.2
19+
GHC == 9.6.4
20+
GHC == 9.4.8
21+
GHC == 9.2.8
22+
GHC == 9.0.2
23+
GHC == 8.10.7
24+
GHC == 8.8.4
25+
GHC == 8.6.5
26+
GHC == 8.4.4
27+
GHC == 8.2.2
28+
GHC == 8.0.2
29+
GHC == 7.10.3
30+
GHC == 7.8.4
31+
GHC == 7.6.3
32+
GHC == 7.4.2
33+
GHC == 7.2.2
34+
1735
test-suite stm
1836
hs-source-dirs: src
1937

@@ -36,7 +54,7 @@ test-suite stm
3654

3755
--
3856
build-depends:
39-
, base >= 4.4 && < 4.20
57+
, base >= 4.4 && < 4.21
4058
, test-framework ^>= 0.8.2.0
4159
, test-framework-hunit ^>= 0.3.0.2
4260
, HUnit ^>= 1.6.0.0

0 commit comments

Comments
 (0)