8
8
#
9
9
# For more information, see https://github.com/andreasabel/haskell-ci
10
10
#
11
- # version: 0.18.1.20240316
11
+ # version: 0.19.20240703
12
12
#
13
- # REGENDATA ("0.18.1.20240316 ",["github","async.cabal"])
13
+ # REGENDATA ("0.19.20240703 ",["github","async.cabal"])
14
14
#
15
15
name : Haskell-CI
16
16
on :
@@ -27,24 +27,24 @@ jobs:
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 :
34
34
include :
35
- - compiler : ghc-9.10.0.20240313
35
+ - compiler : ghc-9.10.1
36
36
compilerKind : ghc
37
- compilerVersion : 9.10.0.20240313
37
+ compilerVersion : 9.10.1
38
38
setup-method : ghcup
39
39
allow-failure : false
40
40
- compiler : ghc-9.8.2
41
41
compilerKind : ghc
42
42
compilerVersion : 9.8.2
43
43
setup-method : ghcup
44
44
allow-failure : false
45
- - compiler : ghc-9.6.4
45
+ - compiler : ghc-9.6.6
46
46
compilerKind : ghc
47
- compilerVersion : 9.6.4
47
+ compilerVersion : 9.6.6
48
48
setup-method : ghcup
49
49
allow-failure : false
50
50
- compiler : ghc-9.4.8
@@ -92,34 +92,17 @@ jobs:
92
92
compilerVersion : 8.0.2
93
93
setup-method : ghcup
94
94
allow-failure : false
95
- - compiler : ghc-7.10.3
96
- compilerKind : ghc
97
- compilerVersion : 7.10.3
98
- setup-method : hvr-ppa
99
- allow-failure : false
100
95
fail-fast : false
101
96
steps :
102
97
- name : apt
103
98
run : |
104
99
apt-get update
105
100
apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5 libnuma-dev
106
- if [ "${{ matrix.setup-method }}" = ghcup ]; then
107
- mkdir -p "$HOME/.ghcup/bin"
108
- curl -sL https://downloads.haskell.org/ghcup/0.1.20.0/x86_64-linux-ghcup-0.1.20.0 > "$HOME/.ghcup/bin/ghcup"
109
- chmod a+x "$HOME/.ghcup/bin/ghcup"
110
- "$HOME/.ghcup/bin/ghcup" config add-release-channel https://github.com/raw/haskell/ghcup-metadata/master/ghcup-prereleases-0.0.8.yaml;
111
- "$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
112
- "$HOME/.ghcup/bin/ghcup" install cabal 3.10.2.1 || (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.20.0/x86_64-linux-ghcup-0.1.20.0 > "$HOME/.ghcup/bin/ghcup"
119
- chmod a+x "$HOME/.ghcup/bin/ghcup"
120
- "$HOME/.ghcup/bin/ghcup" config add-release-channel https://github.com/raw/haskell/ghcup-metadata/master/ghcup-prereleases-0.0.8.yaml;
121
- "$HOME/.ghcup/bin/ghcup" install cabal 3.10.2.1 || (cat "$HOME"/.ghcup/logs/*.* && false)
122
- fi
101
+ mkdir -p "$HOME/.ghcup/bin"
102
+ curl -sL https://downloads.haskell.org/ghcup/0.1.20.0/x86_64-linux-ghcup-0.1.20.0 > "$HOME/.ghcup/bin/ghcup"
103
+ chmod a+x "$HOME/.ghcup/bin/ghcup"
104
+ "$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
105
+ "$HOME/.ghcup/bin/ghcup" install cabal 3.12.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
123
106
env :
124
107
HCKIND : ${{ matrix.compilerKind }}
125
108
HCNAME : ${{ matrix.compiler }}
@@ -131,27 +114,18 @@ jobs:
131
114
echo "CABAL_DIR=$HOME/.cabal" >> "$GITHUB_ENV"
132
115
echo "CABAL_CONFIG=$HOME/.cabal/config" >> "$GITHUB_ENV"
133
116
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.2.1 -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.2.1 -vnormal+nowrap" >> "$GITHUB_ENV"
148
- fi
149
-
117
+ HC=$("$HOME/.ghcup/bin/ghcup" whereis ghc "$HCVER")
118
+ HCPKG=$(echo "$HC" | sed 's#ghc$#ghc-pkg#')
119
+ HADDOCK=$(echo "$HC" | sed 's#ghc$#haddock#')
120
+ echo "HC=$HC" >> "$GITHUB_ENV"
121
+ echo "HCPKG=$HCPKG" >> "$GITHUB_ENV"
122
+ echo "HADDOCK=$HADDOCK" >> "$GITHUB_ENV"
123
+ echo "CABAL=$HOME/.ghcup/bin/cabal-3.12.1.0 -vnormal+nowrap" >> "$GITHUB_ENV"
150
124
HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')
151
125
echo "HCNUMVER=$HCNUMVER" >> "$GITHUB_ENV"
152
126
echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV"
153
127
echo "ARG_BENCH=--enable-benchmarks" >> "$GITHUB_ENV"
154
- if [ $((HCNUMVER >= 91000)) -ne 0 ] ; then echo "HEADHACKAGE=true" >> "$GITHUB_ENV" ; else echo "HEADHACKAGE= false" >> "$GITHUB_ENV" ; fi
128
+ echo "HEADHACKAGE=false" >> "$GITHUB_ENV"
155
129
echo "ARG_COMPILER=--$HCKIND --with-compiler=$HC" >> "$GITHUB_ENV"
156
130
echo "GHCJSARITH=0" >> "$GITHUB_ENV"
157
131
env :
@@ -180,18 +154,6 @@ jobs:
180
154
repository hackage.haskell.org
181
155
url: http://hackage.haskell.org/
182
156
EOF
183
- if $HEADHACKAGE; then
184
- cat >> $CABAL_CONFIG <<EOF
185
- repository head.hackage.ghc.haskell.org
186
- url: https://ghc.gitlab.haskell.org/head.hackage/
187
- secure: True
188
- root-keys: 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d
189
- 26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329
190
- f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89
191
- key-threshold: 3
192
- active-repositories: hackage.haskell.org, head.hackage.ghc.haskell.org:override
193
- EOF
194
- fi
195
157
cat >> $CABAL_CONFIG <<EOF
196
158
program-default-options
197
159
ghc-options: $GHCJOBS +RTS -M3G -RTS
@@ -243,10 +205,7 @@ jobs:
243
205
if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo " ghc-options: -Werror=missing-methods" >> cabal.project ; fi
244
206
cat >> cabal.project <<EOF
245
207
EOF
246
- if $HEADHACKAGE; then
247
- echo "allow-newer: $($HCPKG list --simple-output | sed -E 's/([a-zA-Z-]+)-[0-9.]+/*:\1,/g')" >> cabal.project
248
- fi
249
- $HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: $_ installed\n" unless /^(async)$/; }' >> cabal.project.local
208
+ $HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: any.$_ installed\n" unless /^(async)$/; }' >> cabal.project.local
250
209
cat cabal.project
251
210
cat cabal.project.local
252
211
- name : dump install plan
0 commit comments