Skip to content

Commit 3d801a0

Browse files
tbidneandreasabel
authored andcommitted
Fix CI
Github builds started failing due to haskell-CI/haskell-ci #738. The fix is to switch the distribution to 'jammy', then run: 'haskell-ci regenerate'. This PR implements this change with haskell-ci built on the fork andreasabel/haskell-ci 176e484, tag v0.19.20240703. Unfortunately, haskell-ci no longer recognizes GHCs below 8, so these have been removed.
1 parent 8de008f commit 3d801a0

File tree

4 files changed

+29
-100
lines changed

4 files changed

+29
-100
lines changed

.github/workflows/haskell-ci.yml

Lines changed: 26 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88
#
99
# For more information, see https://github.com/andreasabel/haskell-ci
1010
#
11-
# version: 0.18.1.20240316
11+
# version: 0.19.20240703
1212
#
13-
# REGENDATA ("0.18.1.20240316",["github","cabal.project"])
13+
# REGENDATA ("0.19.20240703",["github","cabal.project"])
1414
#
1515
name: Haskell-CI
1616
on:
@@ -23,14 +23,14 @@ jobs:
2323
timeout-minutes:
2424
60
2525
container:
26-
image: buildpack-deps:bionic
26+
image: buildpack-deps:jammy
2727
continue-on-error: ${{ matrix.allow-failure }}
2828
strategy:
2929
matrix:
3030
include:
31-
- compiler: ghc-9.10.0.20240313
31+
- compiler: ghc-9.10.1
3232
compilerKind: ghc
33-
compilerVersion: 9.10.0.20240313
33+
compilerVersion: 9.10.1
3434
setup-method: ghcup
3535
allow-failure: false
3636
- compiler: ghc-9.8.2
@@ -88,54 +88,17 @@ jobs:
8888
compilerVersion: 8.0.2
8989
setup-method: ghcup
9090
allow-failure: false
91-
- compiler: ghc-7.10.3
92-
compilerKind: ghc
93-
compilerVersion: 7.10.3
94-
setup-method: hvr-ppa
95-
allow-failure: false
96-
- compiler: ghc-7.8.4
97-
compilerKind: ghc
98-
compilerVersion: 7.8.4
99-
setup-method: hvr-ppa
100-
allow-failure: false
101-
- compiler: ghc-7.6.3
102-
compilerKind: ghc
103-
compilerVersion: 7.6.3
104-
setup-method: hvr-ppa
105-
allow-failure: false
106-
- compiler: ghc-7.4.2
107-
compilerKind: ghc
108-
compilerVersion: 7.4.2
109-
setup-method: hvr-ppa
110-
allow-failure: false
111-
- compiler: ghc-7.2.2
112-
compilerKind: ghc
113-
compilerVersion: 7.2.2
114-
setup-method: hvr-ppa
115-
allow-failure: false
11691
fail-fast: false
11792
steps:
11893
- name: apt
11994
run: |
12095
apt-get update
12196
apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5 libnuma-dev
122-
if [ "${{ matrix.setup-method }}" = ghcup ]; then
123-
mkdir -p "$HOME/.ghcup/bin"
124-
curl -sL https://downloads.haskell.org/ghcup/0.1.20.0/x86_64-linux-ghcup-0.1.20.0 > "$HOME/.ghcup/bin/ghcup"
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;
127-
"$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
128-
"$HOME/.ghcup/bin/ghcup" install cabal 3.10.3.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
129-
else
130-
apt-add-repository -y 'ppa:hvr/ghc'
131-
apt-get update
132-
apt-get install -y "$HCNAME"
133-
mkdir -p "$HOME/.ghcup/bin"
134-
curl -sL https://downloads.haskell.org/ghcup/0.1.20.0/x86_64-linux-ghcup-0.1.20.0 > "$HOME/.ghcup/bin/ghcup"
135-
chmod a+x "$HOME/.ghcup/bin/ghcup"
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)
138-
fi
97+
mkdir -p "$HOME/.ghcup/bin"
98+
curl -sL https://downloads.haskell.org/ghcup/0.1.20.0/x86_64-linux-ghcup-0.1.20.0 > "$HOME/.ghcup/bin/ghcup"
99+
chmod a+x "$HOME/.ghcup/bin/ghcup"
100+
"$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
101+
"$HOME/.ghcup/bin/ghcup" install cabal 3.12.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
139102
env:
140103
HCKIND: ${{ matrix.compilerKind }}
141104
HCNAME: ${{ matrix.compiler }}
@@ -147,27 +110,18 @@ jobs:
147110
echo "CABAL_DIR=$HOME/.cabal" >> "$GITHUB_ENV"
148111
echo "CABAL_CONFIG=$HOME/.cabal/config" >> "$GITHUB_ENV"
149112
HCDIR=/opt/$HCKIND/$HCVER
150-
if [ "${{ matrix.setup-method }}" = ghcup ]; then
151-
HC=$("$HOME/.ghcup/bin/ghcup" whereis ghc "$HCVER")
152-
HCPKG=$(echo "$HC" | sed 's#ghc$#ghc-pkg#')
153-
HADDOCK=$(echo "$HC" | sed 's#ghc$#haddock#')
154-
echo "HC=$HC" >> "$GITHUB_ENV"
155-
echo "HCPKG=$HCPKG" >> "$GITHUB_ENV"
156-
echo "HADDOCK=$HADDOCK" >> "$GITHUB_ENV"
157-
echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.3.0 -vnormal+nowrap" >> "$GITHUB_ENV"
158-
else
159-
HC=$HCDIR/bin/$HCKIND
160-
echo "HC=$HC" >> "$GITHUB_ENV"
161-
echo "HCPKG=$HCDIR/bin/$HCKIND-pkg" >> "$GITHUB_ENV"
162-
echo "HADDOCK=$HCDIR/bin/haddock" >> "$GITHUB_ENV"
163-
echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.3.0 -vnormal+nowrap" >> "$GITHUB_ENV"
164-
fi
165-
113+
HC=$("$HOME/.ghcup/bin/ghcup" whereis ghc "$HCVER")
114+
HCPKG=$(echo "$HC" | sed 's#ghc$#ghc-pkg#')
115+
HADDOCK=$(echo "$HC" | sed 's#ghc$#haddock#')
116+
echo "HC=$HC" >> "$GITHUB_ENV"
117+
echo "HCPKG=$HCPKG" >> "$GITHUB_ENV"
118+
echo "HADDOCK=$HADDOCK" >> "$GITHUB_ENV"
119+
echo "CABAL=$HOME/.ghcup/bin/cabal-3.12.1.0 -vnormal+nowrap" >> "$GITHUB_ENV"
166120
HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')
167121
echo "HCNUMVER=$HCNUMVER" >> "$GITHUB_ENV"
168122
echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV"
169123
echo "ARG_BENCH=--enable-benchmarks" >> "$GITHUB_ENV"
170-
if [ $((HCNUMVER >= 91000)) -ne 0 ] ; then echo "HEADHACKAGE=true" >> "$GITHUB_ENV" ; else echo "HEADHACKAGE=false" >> "$GITHUB_ENV" ; fi
124+
echo "HEADHACKAGE=false" >> "$GITHUB_ENV"
171125
echo "ARG_COMPILER=--$HCKIND --with-compiler=$HC" >> "$GITHUB_ENV"
172126
echo "GHCJSARITH=0" >> "$GITHUB_ENV"
173127
env:
@@ -196,18 +150,6 @@ jobs:
196150
repository hackage.haskell.org
197151
url: http://hackage.haskell.org/
198152
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
211153
cat >> $CABAL_CONFIG <<EOF
212154
program-default-options
213155
ghc-options: $GHCJOBS +RTS -M3G -RTS
@@ -231,15 +173,15 @@ jobs:
231173
chmod a+x $HOME/.cabal/bin/cabal-plan
232174
cabal-plan --version
233175
- name: checkout
234-
uses: actions/checkout@v3
176+
uses: actions/checkout@v4
235177
with:
236178
path: source
237179
- name: initial cabal.project for sdist
238180
run: |
239181
touch cabal.project
240182
echo "packages: $GITHUB_WORKSPACE/source/." >> cabal.project
241183
echo "packages: $GITHUB_WORKSPACE/source/testsuite" >> cabal.project
242-
if [ $((HCNUMVER >= 80000 && HCNUMVER < 91000)) -ne 0 ] ; then echo "packages: $GITHUB_WORKSPACE/source/bench" >> cabal.project ; fi
184+
if [ $((HCNUMVER < 91000)) -ne 0 ] ; then echo "packages: $GITHUB_WORKSPACE/source/bench" >> cabal.project ; fi
243185
cat cabal.project
244186
- name: sdist
245187
run: |
@@ -262,7 +204,7 @@ jobs:
262204
touch cabal.project.local
263205
echo "packages: ${PKGDIR_stm}" >> cabal.project
264206
echo "packages: ${PKGDIR_testsuite}" >> cabal.project
265-
if [ $((HCNUMVER >= 80000 && HCNUMVER < 91000)) -ne 0 ] ; then echo "packages: ${PKGDIR_stm_bench}" >> cabal.project ; fi
207+
if [ $((HCNUMVER < 91000)) -ne 0 ] ; then echo "packages: ${PKGDIR_stm_bench}" >> cabal.project ; fi
266208
if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo "package stm" >> cabal.project ; fi
267209
if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo " ghc-options: -Werror=missing-methods" >> cabal.project ; fi
268210
if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo "package testsuite" >> cabal.project ; fi
@@ -271,18 +213,15 @@ jobs:
271213
if [ $((HCNUMVER >= 80200 && HCNUMVER < 91000)) -ne 0 ] ; then echo " ghc-options: -Werror=missing-methods" >> cabal.project ; fi
272214
cat >> cabal.project <<EOF
273215
EOF
274-
if $HEADHACKAGE; then
275-
echo "allow-newer: $($HCPKG list --simple-output | sed -E 's/([a-zA-Z-]+)-[0-9.]+/*:\1,/g')" >> cabal.project
276-
fi
277-
$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
216+
$HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: any.$_ installed\n" unless /^(exceptions|filepath|stm|stm-bench|testsuite)$/; }' >> cabal.project.local
278217
cat cabal.project
279218
cat cabal.project.local
280219
- name: dump install plan
281220
run: |
282221
$CABAL v2-build $ARG_COMPILER $ARG_TESTS $ARG_BENCH --dry-run all
283222
cabal-plan
284223
- name: restore cache
285-
uses: actions/cache/restore@v3
224+
uses: actions/cache/restore@v4
286225
with:
287226
key: ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }}
288227
path: ~/.cabal/store
@@ -302,8 +241,8 @@ jobs:
302241
${CABAL} -vnormal check
303242
cd ${PKGDIR_testsuite} || false
304243
${CABAL} -vnormal check
305-
if [ $((HCNUMVER >= 80000 && HCNUMVER < 91000)) -ne 0 ] ; then cd ${PKGDIR_stm_bench} || false ; fi
306-
if [ $((HCNUMVER >= 80000 && HCNUMVER < 91000)) -ne 0 ] ; then ${CABAL} -vnormal check ; fi
244+
if [ $((HCNUMVER < 91000)) -ne 0 ] ; then cd ${PKGDIR_stm_bench} || false ; fi
245+
if [ $((HCNUMVER < 91000)) -ne 0 ] ; then ${CABAL} -vnormal check ; fi
307246
- name: haddock
308247
run: |
309248
$CABAL v2-haddock --disable-documentation --haddock-all $ARG_COMPILER --with-haddock $HADDOCK $ARG_TESTS $ARG_BENCH all
@@ -312,7 +251,7 @@ jobs:
312251
rm -f cabal.project.local
313252
$CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks all
314253
- name: save cache
315-
uses: actions/cache/save@v3
254+
uses: actions/cache/save@v4
316255
if: always()
317256
with:
318257
key: ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }}

cabal.haskell-ci

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

stm.cabal

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ description:
2222
'MVar's.
2323

2424
tested-with:
25-
GHC == 9.10.0
25+
GHC == 9.10.1
2626
GHC == 9.8.2
2727
GHC == 9.6.4
2828
GHC == 9.4.8
@@ -34,11 +34,6 @@ tested-with:
3434
GHC == 8.4.4
3535
GHC == 8.2.2
3636
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
4237

4338
extra-source-files:
4439
changelog.md

testsuite/testsuite.cabal

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ description:
1414
See also @README.md@ for more information.
1515

1616
tested-with:
17-
GHC == 9.10.0
17+
GHC == 9.10.1
1818
GHC == 9.8.2
1919
GHC == 9.6.4
2020
GHC == 9.4.8
@@ -26,11 +26,6 @@ tested-with:
2626
GHC == 8.4.4
2727
GHC == 8.2.2
2828
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
3429

3530
test-suite stm
3631
hs-source-dirs: src

0 commit comments

Comments
 (0)