8
8
#
9
9
# For more information, see https://github.com/andreasabel/haskell-ci
10
10
#
11
- # version: 0.17.20231010
11
+ # version: 0.19.20241021
12
12
#
13
- # REGENDATA ("0.17.20231010 ",["github","vector-algorithms.cabal"])
13
+ # REGENDATA ("0.19.20241021 ",["github","vector-algorithms.cabal"])
14
14
#
15
15
name : Haskell-CI
16
16
on :
27
27
timeout-minutes :
28
28
60
29
29
container :
30
- image : buildpack-deps:focal
30
+ image : buildpack-deps:jammy
31
31
continue-on-error : ${{ matrix.allow-failure }}
32
32
strategy :
33
33
matrix :
42
42
compilerVersion : 9.8.2
43
43
setup-method : ghcup
44
44
allow-failure : false
45
- - compiler : ghc-9.6.5
45
+ - compiler : ghc-9.6.3
46
46
compilerKind : ghc
47
- compilerVersion : 9.6.5
47
+ compilerVersion : 9.6.3
48
48
setup-method : ghcup
49
49
allow-failure : false
50
50
- compiler : ghc-9.4.7
@@ -70,56 +70,40 @@ jobs:
70
70
- compiler : ghc-8.8.4
71
71
compilerKind : ghc
72
72
compilerVersion : 8.8.4
73
- setup-method : hvr-ppa
73
+ setup-method : ghcup
74
74
allow-failure : false
75
75
- compiler : ghc-8.6.5
76
76
compilerKind : ghc
77
77
compilerVersion : 8.6.5
78
- setup-method : hvr-ppa
78
+ setup-method : ghcup
79
79
allow-failure : false
80
80
- compiler : ghc-8.4.4
81
81
compilerKind : ghc
82
82
compilerVersion : 8.4.4
83
- setup-method : hvr-ppa
83
+ setup-method : ghcup
84
84
allow-failure : false
85
85
- compiler : ghc-8.2.2
86
86
compilerKind : ghc
87
87
compilerVersion : 8.2.2
88
- setup-method : hvr-ppa
88
+ setup-method : ghcup
89
89
allow-failure : false
90
90
- compiler : ghc-8.0.2
91
91
compilerKind : ghc
92
92
compilerVersion : 8.0.2
93
- setup-method : hvr-ppa
94
- allow-failure : false
95
- - compiler : ghc-7.10.3
96
- compilerKind : ghc
97
- compilerVersion : 7.10.3
98
- setup-method : hvr-ppa
93
+ setup-method : ghcup
99
94
allow-failure : false
100
95
fail-fast : false
101
96
steps :
102
97
- name : apt
103
98
run : |
104
99
apt-get update
105
- apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5
106
- if [ "${{ matrix.setup-method }}" = ghcup ]; then
107
- mkdir -p "$HOME/.ghcup/bin"
108
- curl -sL https://downloads.haskell.org/ghcup/0.1.19.5/x86_64-linux-ghcup-0.1.19.5 > "$HOME/.ghcup/bin/ghcup"
109
- chmod a+x "$HOME/.ghcup/bin/ghcup"
110
- "$HOME/.ghcup/bin/ghcup" config add-release-channel https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-prereleases-0.0.7.yaml;
111
- "$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
112
- "$HOME/.ghcup/bin/ghcup" install cabal 3.10.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
113
- else
114
- apt-add-repository -y 'ppa:hvr/ghc'
115
- apt-get update
116
- apt-get install -y "$HCNAME"
117
- mkdir -p "$HOME/.ghcup/bin"
118
- curl -sL https://downloads.haskell.org/ghcup/0.1.19.5/x86_64-linux-ghcup-0.1.19.5 > "$HOME/.ghcup/bin/ghcup"
119
- chmod a+x "$HOME/.ghcup/bin/ghcup"
120
- "$HOME/.ghcup/bin/ghcup" config add-release-channel https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-prereleases-0.0.7.yaml;
121
- "$HOME/.ghcup/bin/ghcup" install cabal 3.10.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
122
- fi
100
+ apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5 libnuma-dev
101
+ mkdir -p "$HOME/.ghcup/bin"
102
+ curl -sL https://downloads.haskell.org/ghcup/0.1.30.0/x86_64-linux-ghcup-0.1.30.0 > "$HOME/.ghcup/bin/ghcup"
103
+ chmod a+x "$HOME/.ghcup/bin/ghcup"
104
+ "$HOME/.ghcup/bin/ghcup" config add-release-channel https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-prereleases-0.0.8.yaml;
105
+ "$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
106
+ "$HOME/.ghcup/bin/ghcup" install cabal 3.12.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
123
107
env :
124
108
HCKIND : ${{ matrix.compilerKind }}
125
109
HCNAME : ${{ matrix.compiler }}
@@ -131,25 +115,16 @@ jobs:
131
115
echo "CABAL_DIR=$HOME/.cabal" >> "$GITHUB_ENV"
132
116
echo "CABAL_CONFIG=$HOME/.cabal/config" >> "$GITHUB_ENV"
133
117
HCDIR=/opt/$HCKIND/$HCVER
134
- if [ "${{ matrix.setup-method }}" = ghcup ]; then
135
- HC=$("$HOME/.ghcup/bin/ghcup" whereis ghc "$HCVER")
136
- HCPKG=$(echo "$HC" | sed 's#ghc$#ghc-pkg#')
137
- HADDOCK=$(echo "$HC" | sed 's#ghc$#haddock#')
138
- echo "HC=$HC" >> "$GITHUB_ENV"
139
- echo "HCPKG=$HCPKG" >> "$GITHUB_ENV"
140
- echo "HADDOCK=$HADDOCK" >> "$GITHUB_ENV"
141
- echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.1.0 -vnormal+nowrap" >> "$GITHUB_ENV"
142
- else
143
- HC=$HCDIR/bin/$HCKIND
144
- echo "HC=$HC" >> "$GITHUB_ENV"
145
- echo "HCPKG=$HCDIR/bin/$HCKIND-pkg" >> "$GITHUB_ENV"
146
- echo "HADDOCK=$HCDIR/bin/haddock" >> "$GITHUB_ENV"
147
- echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.1.0 -vnormal+nowrap" >> "$GITHUB_ENV"
148
- fi
149
-
118
+ HC=$("$HOME/.ghcup/bin/ghcup" whereis ghc "$HCVER")
119
+ HCPKG=$(echo "$HC" | sed 's#ghc$#ghc-pkg#')
120
+ HADDOCK=$(echo "$HC" | sed 's#ghc$#haddock#')
121
+ echo "HC=$HC" >> "$GITHUB_ENV"
122
+ echo "HCPKG=$HCPKG" >> "$GITHUB_ENV"
123
+ echo "HADDOCK=$HADDOCK" >> "$GITHUB_ENV"
124
+ echo "CABAL=$HOME/.ghcup/bin/cabal-3.12.1.0 -vnormal+nowrap" >> "$GITHUB_ENV"
150
125
HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')
151
126
echo "HCNUMVER=$HCNUMVER" >> "$GITHUB_ENV"
152
- if [ $((HCNUMVER >= 80000)) -ne 0 ] ; then echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV" ; else echo "ARG_TESTS=--disable-tests" >> "$GITHUB_ENV" ; fi
127
+ echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV"
153
128
echo "ARG_BENCH=--enable-benchmarks" >> "$GITHUB_ENV"
154
129
echo "HEADHACKAGE=false" >> "$GITHUB_ENV"
155
130
echo "ARG_COMPILER=--$HCKIND --with-compiler=$HC" >> "$GITHUB_ENV"
@@ -231,15 +206,15 @@ jobs:
231
206
if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo " ghc-options: -Werror=missing-methods" >> cabal.project ; fi
232
207
cat >> cabal.project <<EOF
233
208
EOF
234
- $HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: $_ installed\n" unless /^(vector-algorithms)$/; }' >> cabal.project.local
209
+ $HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: any. $_ installed\n" unless /^(vector-algorithms)$/; }' >> cabal.project.local
235
210
cat cabal.project
236
211
cat cabal.project.local
237
212
- name : dump install plan
238
213
run : |
239
214
$CABAL v2-build $ARG_COMPILER $ARG_TESTS $ARG_BENCH --dry-run all
240
215
cabal-plan
241
216
- name : restore cache
242
- uses : actions/cache/restore@v3
217
+ uses : actions/cache/restore@v4
243
218
with :
244
219
key : ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }}
245
220
path : ~/.cabal/store
@@ -256,7 +231,7 @@ jobs:
256
231
$CABAL v2-build $ARG_COMPILER $ARG_TESTS $ARG_BENCH all --write-ghc-environment-files=always
257
232
- name : tests
258
233
run : |
259
- if [ $((HCNUMVER >= 80000)) -ne 0 ] ; then $ CABAL v2-test $ARG_COMPILER $ARG_TESTS $ARG_BENCH all --test-show-details=direct ; fi
234
+ $ CABAL v2-test $ARG_COMPILER $ARG_TESTS $ARG_BENCH all --test-show-details=direct
260
235
- name : cabal check
261
236
run : |
262
237
cd ${PKGDIR_vector_algorithms} || false
@@ -269,7 +244,7 @@ jobs:
269
244
rm -f cabal.project.local
270
245
$CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks all
271
246
- name : save cache
272
- uses : actions/cache/save@v3
247
+ uses : actions/cache/save@v4
273
248
if : always()
274
249
with :
275
250
key : ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }}
0 commit comments