Skip to content

Commit ce3f555

Browse files
committed
update haskell-CI
1 parent 79e6d06 commit ce3f555

File tree

2 files changed

+40
-89
lines changed

2 files changed

+40
-89
lines changed

.github/workflows/haskell-ci.yml

Lines changed: 38 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88
#
99
# For more information, see https://github.com/haskell-CI/haskell-ci
1010
#
11-
# version: 0.17.20231010
11+
# version: 0.19.20240608
1212
#
13-
# REGENDATA ("0.17.20231010",["github","cabal.project"])
13+
# REGENDATA ("0.19.20240608",["github","cabal.project"])
1414
#
1515
name: Haskell-CI
1616
on:
@@ -27,19 +27,19 @@ jobs:
2727
timeout-minutes:
2828
60
2929
container:
30-
image: buildpack-deps:bionic
30+
image: buildpack-deps:jammy
3131
continue-on-error: ${{ matrix.allow-failure }}
3232
strategy:
3333
matrix:
3434
include:
35-
- compiler: ghc-9.8.1
35+
- compiler: ghc-9.10.1
3636
compilerKind: ghc
37-
compilerVersion: 9.8.1
37+
compilerVersion: 9.10.1
3838
setup-method: ghcup
3939
allow-failure: false
40-
- compiler: ghc-9.6.3
40+
- compiler: ghc-9.8.2
4141
compilerKind: ghc
42-
compilerVersion: 9.6.3
42+
compilerVersion: 9.8.2
4343
setup-method: ghcup
4444
allow-failure: false
4545
- compiler: ghc-9.4.7
@@ -65,79 +65,39 @@ jobs:
6565
- compiler: ghc-8.8.4
6666
compilerKind: ghc
6767
compilerVersion: 8.8.4
68-
setup-method: hvr-ppa
68+
setup-method: ghcup
6969
allow-failure: false
7070
- compiler: ghc-8.6.5
7171
compilerKind: ghc
7272
compilerVersion: 8.6.5
73-
setup-method: hvr-ppa
73+
setup-method: ghcup
7474
allow-failure: false
7575
- compiler: ghc-8.4.4
7676
compilerKind: ghc
7777
compilerVersion: 8.4.4
78-
setup-method: hvr-ppa
78+
setup-method: ghcup
7979
allow-failure: false
8080
- compiler: ghc-8.2.2
8181
compilerKind: ghc
8282
compilerVersion: 8.2.2
83-
setup-method: hvr-ppa
83+
setup-method: ghcup
8484
allow-failure: false
8585
- compiler: ghc-8.0.2
8686
compilerKind: ghc
8787
compilerVersion: 8.0.2
88-
setup-method: hvr-ppa
89-
allow-failure: false
90-
- compiler: ghc-7.10.3
91-
compilerKind: ghc
92-
compilerVersion: 7.10.3
93-
setup-method: hvr-ppa
94-
allow-failure: false
95-
- compiler: ghc-7.8.4
96-
compilerKind: ghc
97-
compilerVersion: 7.8.4
98-
setup-method: hvr-ppa
99-
allow-failure: false
100-
- compiler: ghc-7.6.3
101-
compilerKind: ghc
102-
compilerVersion: 7.6.3
103-
setup-method: hvr-ppa
104-
allow-failure: false
105-
- compiler: ghc-7.4.2
106-
compilerKind: ghc
107-
compilerVersion: 7.4.2
108-
setup-method: hvr-ppa
109-
allow-failure: false
110-
- compiler: ghc-7.2.2
111-
compilerKind: ghc
112-
compilerVersion: 7.2.2
113-
setup-method: hvr-ppa
114-
allow-failure: false
115-
- compiler: ghc-7.0.4
116-
compilerKind: ghc
117-
compilerVersion: 7.0.4
118-
setup-method: hvr-ppa
88+
setup-method: ghcup
11989
allow-failure: false
12090
fail-fast: false
12191
steps:
12292
- name: apt
12393
run: |
12494
apt-get update
125-
apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5
126-
if [ "${{ matrix.setup-method }}" = ghcup ]; then
127-
mkdir -p "$HOME/.ghcup/bin"
128-
curl -sL https://downloads.haskell.org/ghcup/0.1.19.5/x86_64-linux-ghcup-0.1.19.5 > "$HOME/.ghcup/bin/ghcup"
129-
chmod a+x "$HOME/.ghcup/bin/ghcup"
130-
"$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
131-
"$HOME/.ghcup/bin/ghcup" install cabal 3.10.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
132-
else
133-
apt-add-repository -y 'ppa:hvr/ghc'
134-
apt-get update
135-
apt-get install -y "$HCNAME"
136-
mkdir -p "$HOME/.ghcup/bin"
137-
curl -sL https://downloads.haskell.org/ghcup/0.1.19.5/x86_64-linux-ghcup-0.1.19.5 > "$HOME/.ghcup/bin/ghcup"
138-
chmod a+x "$HOME/.ghcup/bin/ghcup"
139-
"$HOME/.ghcup/bin/ghcup" install cabal 3.10.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
140-
fi
95+
apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5 libnuma-dev
96+
mkdir -p "$HOME/.ghcup/bin"
97+
curl -sL https://downloads.haskell.org/ghcup/0.1.20.0/x86_64-linux-ghcup-0.1.20.0 > "$HOME/.ghcup/bin/ghcup"
98+
chmod a+x "$HOME/.ghcup/bin/ghcup"
99+
"$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
100+
"$HOME/.ghcup/bin/ghcup" install cabal 3.10.2.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
141101
env:
142102
HCKIND: ${{ matrix.compilerKind }}
143103
HCNAME: ${{ matrix.compiler }}
@@ -149,26 +109,17 @@ jobs:
149109
echo "CABAL_DIR=$HOME/.cabal" >> "$GITHUB_ENV"
150110
echo "CABAL_CONFIG=$HOME/.cabal/config" >> "$GITHUB_ENV"
151111
HCDIR=/opt/$HCKIND/$HCVER
152-
if [ "${{ matrix.setup-method }}" = ghcup ]; then
153-
HC=$("$HOME/.ghcup/bin/ghcup" whereis ghc "$HCVER")
154-
HCPKG=$(echo "$HC" | sed 's#ghc$#ghc-pkg#')
155-
HADDOCK=$(echo "$HC" | sed 's#ghc$#haddock#')
156-
echo "HC=$HC" >> "$GITHUB_ENV"
157-
echo "HCPKG=$HCPKG" >> "$GITHUB_ENV"
158-
echo "HADDOCK=$HADDOCK" >> "$GITHUB_ENV"
159-
echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.1.0 -vnormal+nowrap" >> "$GITHUB_ENV"
160-
else
161-
HC=$HCDIR/bin/$HCKIND
162-
echo "HC=$HC" >> "$GITHUB_ENV"
163-
echo "HCPKG=$HCDIR/bin/$HCKIND-pkg" >> "$GITHUB_ENV"
164-
echo "HADDOCK=$HCDIR/bin/haddock" >> "$GITHUB_ENV"
165-
echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.1.0 -vnormal+nowrap" >> "$GITHUB_ENV"
166-
fi
167-
112+
HC=$("$HOME/.ghcup/bin/ghcup" whereis ghc "$HCVER")
113+
HCPKG=$(echo "$HC" | sed 's#ghc$#ghc-pkg#')
114+
HADDOCK=$(echo "$HC" | sed 's#ghc$#haddock#')
115+
echo "HC=$HC" >> "$GITHUB_ENV"
116+
echo "HCPKG=$HCPKG" >> "$GITHUB_ENV"
117+
echo "HADDOCK=$HADDOCK" >> "$GITHUB_ENV"
118+
echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.2.0 -vnormal+nowrap" >> "$GITHUB_ENV"
168119
HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')
169120
echo "HCNUMVER=$HCNUMVER" >> "$GITHUB_ENV"
170-
if [ $((HCNUMVER >= 70400)) -ne 0 ] ; then echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV" ; else echo "ARG_TESTS=--disable-tests" >> "$GITHUB_ENV" ; fi
171-
if [ $((HCNUMVER >= 70400)) -ne 0 ] ; then echo "ARG_BENCH=--enable-benchmarks" >> "$GITHUB_ENV" ; else echo "ARG_BENCH=--disable-benchmarks" >> "$GITHUB_ENV" ; fi
121+
echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV"
122+
echo "ARG_BENCH=--enable-benchmarks" >> "$GITHUB_ENV"
172123
echo "HEADHACKAGE=false" >> "$GITHUB_ENV"
173124
echo "ARG_COMPILER=--$HCKIND --with-compiler=$HC" >> "$GITHUB_ENV"
174125
echo "GHCJSARITH=0" >> "$GITHUB_ENV"
@@ -223,14 +174,14 @@ jobs:
223174
- name: install cabal-docspec
224175
run: |
225176
mkdir -p $HOME/.cabal/bin
226-
curl -sL https://github.com/phadej/cabal-extras/releases/download/cabal-docspec-0.0.0.20230517/cabal-docspec-0.0.0.20230517-x86_64-linux.xz > cabal-docspec.xz
227-
echo '3b31bbe463ad4d671abbc103db49628562ec48a6604cab278207b5b6acd21ed7 cabal-docspec.xz' | sha256sum -c -
177+
curl -sL https://github.com/phadej/cabal-extras/releases/download/cabal-docspec-0.0.0.20240414/cabal-docspec-0.0.0.20240414-x86_64-linux.xz > cabal-docspec.xz
178+
echo '2d18a3f79619e8ec5f11870f926f6dc2616e02a6c889315b7f82044b95a1adb9 cabal-docspec.xz' | sha256sum -c -
228179
xz -d < cabal-docspec.xz > $HOME/.cabal/bin/cabal-docspec
229180
rm -f cabal-docspec.xz
230181
chmod a+x $HOME/.cabal/bin/cabal-docspec
231182
cabal-docspec --version
232183
- name: checkout
233-
uses: actions/checkout@v3
184+
uses: actions/checkout@v4
234185
with:
235186
path: source
236187
- name: initial cabal.project for sdist
@@ -259,15 +210,15 @@ jobs:
259210
cat >> cabal.project <<EOF
260211
constraints: rere +rere-intersection
261212
EOF
262-
$HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: $_ installed\n" unless /^(rere)$/; }' >> cabal.project.local
213+
$HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: any.$_ installed\n" unless /^(rere)$/; }' >> cabal.project.local
263214
cat cabal.project
264215
cat cabal.project.local
265216
- name: dump install plan
266217
run: |
267218
$CABAL v2-build $ARG_COMPILER $ARG_TESTS $ARG_BENCH --dry-run all
268219
cabal-plan
269220
- name: restore cache
270-
uses: actions/cache/restore@v3
221+
uses: actions/cache/restore@v4
271222
with:
272223
key: ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }}
273224
path: ~/.cabal/store
@@ -284,7 +235,7 @@ jobs:
284235
$CABAL v2-build $ARG_COMPILER $ARG_TESTS $ARG_BENCH all --write-ghc-environment-files=always
285236
- name: tests
286237
run: |
287-
if [ $((HCNUMVER >= 70400)) -ne 0 ] ; then $CABAL v2-test $ARG_COMPILER $ARG_TESTS $ARG_BENCH all --test-show-details=direct ; fi
238+
$CABAL v2-test $ARG_COMPILER $ARG_TESTS $ARG_BENCH all --test-show-details=direct
288239
- name: docspec
289240
run: |
290241
if [ $((HCNUMVER >= 80400)) -ne 0 ] ; then $CABAL v2-build $ARG_COMPILER $ARG_TESTS $ARG_BENCH all ; fi
@@ -311,12 +262,12 @@ jobs:
311262
$CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks --constraint='rere +rere-intersection' all
312263
- name: constraint set no-cfg
313264
run: |
314-
if [ $((HCNUMVER >= 70800)) -ne 0 ] ; then $CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks --constraint='rere -rere-cfg' all --dry-run ; fi
315-
if [ $((HCNUMVER >= 70800)) -ne 0 ] ; then cabal-plan topo | sort ; fi
316-
if [ $((HCNUMVER >= 70800)) -ne 0 ] ; then $CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks --constraint='rere -rere-cfg' --dependencies-only -j2 all ; fi
317-
if [ $((HCNUMVER >= 70800)) -ne 0 ] ; then $CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks --constraint='rere -rere-cfg' all ; fi
265+
$CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks --constraint='rere -rere-cfg' all --dry-run
266+
cabal-plan topo | sort
267+
$CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks --constraint='rere -rere-cfg' --dependencies-only -j2 all
268+
$CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks --constraint='rere -rere-cfg' all
318269
- name: save cache
319-
uses: actions/cache/save@v3
270+
uses: actions/cache/save@v4
320271
if: always()
321272
with:
322273
key: ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }}

rere.cabal

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ tested-with:
3434
|| ==9.0.2
3535
|| ==9.2.8
3636
|| ==9.4.7
37-
|| ==9.6.3
38-
|| ==9.8.1
37+
|| ==9.6.6
38+
|| ==9.8.2
3939
|| ==9.10.1
4040

4141
source-repository head

0 commit comments

Comments
 (0)