Skip to content

Commit 993624e

Browse files
committed
Resolve #665: ghc-head works with GHA
1 parent fcf086c commit 993624e

16 files changed

+127
-68
lines changed

.github/workflows/haskell-ci.yml

+29-5
Original file line numberDiff line numberDiff line change
@@ -70,15 +70,22 @@ jobs:
7070
compilerVersion: 8.2.2
7171
setup-method: ghcup
7272
allow-failure: false
73+
- compiler: ghc-head
74+
compilerKind: ghc
75+
compilerVersion: latest-nightly
76+
setup-method: ghcup
77+
allow-failure: true
7378
fail-fast: false
7479
steps:
7580
- name: apt
7681
run: |
7782
apt-get update
7883
apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5 libnuma-dev
7984
mkdir -p "$HOME/.ghcup/bin"
80-
curl -sL https://downloads.haskell.org/ghcup/0.1.19.2/x86_64-linux-ghcup-0.1.19.2 > "$HOME/.ghcup/bin/ghcup"
85+
curl -sL https://downloads.haskell.org/ghcup/0.1.19.5/x86_64-linux-ghcup-0.1.19.5 > "$HOME/.ghcup/bin/ghcup"
8186
chmod a+x "$HOME/.ghcup/bin/ghcup"
87+
"$HOME/.ghcup/bin/ghcup" config add-release-channel https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-prereleases-0.0.7.yaml;
88+
"$HOME/.ghcup/bin/ghcup" config add-release-channel https://ghc.gitlab.haskell.org/ghcup-metadata/ghcup-nightlies-0.0.7.yaml;
8289
"$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
8390
"$HOME/.ghcup/bin/ghcup" install cabal 3.10.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
8491
env:
@@ -92,16 +99,18 @@ jobs:
9299
echo "CABAL_DIR=$HOME/.cabal" >> "$GITHUB_ENV"
93100
echo "CABAL_CONFIG=$HOME/.cabal/config" >> "$GITHUB_ENV"
94101
HCDIR=/opt/$HCKIND/$HCVER
95-
HC=$HOME/.ghcup/bin/$HCKIND-$HCVER
102+
HC=$("$HOME/.ghcup/bin/ghcup" whereis ghc "$HCVER")
103+
HCPKG=$(echo "$HC" | sed 's#ghc$#ghc-pkg#')
104+
HADDOCK=$(echo "$HC" | sed 's#ghc$#haddock#')
96105
echo "HC=$HC" >> "$GITHUB_ENV"
97-
echo "HCPKG=$HOME/.ghcup/bin/$HCKIND-pkg-$HCVER" >> "$GITHUB_ENV"
98-
echo "HADDOCK=$HOME/.ghcup/bin/haddock-$HCVER" >> "$GITHUB_ENV"
106+
echo "HCPKG=$HCPKG" >> "$GITHUB_ENV"
107+
echo "HADDOCK=$HADDOCK" >> "$GITHUB_ENV"
99108
echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.1.0 -vnormal+nowrap" >> "$GITHUB_ENV"
100109
HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')
101110
echo "HCNUMVER=$HCNUMVER" >> "$GITHUB_ENV"
102111
echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV"
103112
echo "ARG_BENCH=--enable-benchmarks" >> "$GITHUB_ENV"
104-
echo "HEADHACKAGE=false" >> "$GITHUB_ENV"
113+
if [ $((HCNUMVER > 90405)) -ne 0 ] ; then echo "HEADHACKAGE=true" >> "$GITHUB_ENV" ; else echo "HEADHACKAGE=false" >> "$GITHUB_ENV" ; fi
105114
echo "ARG_COMPILER=--$HCKIND --with-compiler=$HC" >> "$GITHUB_ENV"
106115
echo "GHCJSARITH=0" >> "$GITHUB_ENV"
107116
env:
@@ -130,6 +139,18 @@ jobs:
130139
repository hackage.haskell.org
131140
url: http://hackage.haskell.org/
132141
EOF
142+
if $HEADHACKAGE; then
143+
cat >> $CABAL_CONFIG <<EOF
144+
repository head.hackage.ghc.haskell.org
145+
url: https://ghc.gitlab.haskell.org/head.hackage/
146+
secure: True
147+
root-keys: 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d
148+
26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329
149+
f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89
150+
key-threshold: 3
151+
active-repositories: hackage.haskell.org, head.hackage.ghc.haskell.org:override
152+
EOF
153+
fi
133154
cat >> $CABAL_CONFIG <<EOF
134155
jobs: 2
135156
EOF
@@ -225,6 +246,9 @@ jobs:
225246
package bytestring
226247
tests: False
227248
EOF
249+
if $HEADHACKAGE; then
250+
echo "allow-newer: $($HCPKG list --simple-output | sed -E 's/([a-zA-Z-]+)-[0-9.]+/*:\1,/g')" >> cabal.project
251+
fi
228252
$HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: $_ installed\n" unless /^(Cabal|Cabal-syntax|cabal-install-parsers|haskell-ci|parsec)$/; }' >> cabal.project.local
229253
cat cabal.project
230254
cat cabal.project.local

cabal.haskell-ci

+2-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ jobs: 2:2
1515
-- linux-jobs: >=8.10
1616

1717
-- Add GHC head job
18-
ghc-head: False
18+
-- https://www.haskell.org/ghcup/guide/#nightlies
19+
ghc-head: True
1920

2021
-- travis Caching
2122
-- cache: True

fixtures/all-versions.github

+7-5
Original file line numberDiff line numberDiff line change
@@ -349,7 +349,7 @@ jobs:
349349
apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5
350350
if [ "${{ matrix.setup-method }}" = ghcup ]; then
351351
mkdir -p "$HOME/.ghcup/bin"
352-
curl -sL https://downloads.haskell.org/ghcup/0.1.19.2/x86_64-linux-ghcup-0.1.19.2 > "$HOME/.ghcup/bin/ghcup"
352+
curl -sL https://downloads.haskell.org/ghcup/0.1.19.5/x86_64-linux-ghcup-0.1.19.5 > "$HOME/.ghcup/bin/ghcup"
353353
chmod a+x "$HOME/.ghcup/bin/ghcup"
354354
"$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
355355
"$HOME/.ghcup/bin/ghcup" install cabal 3.10.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
@@ -361,7 +361,7 @@ jobs:
361361
apt-get update
362362
if [ $((GHCJSARITH)) -ne 0 ] ; then apt-get install -y "$HCNAME" ghc-8.4.4 nodejs ; else apt-get install -y "$HCNAME" ; fi
363363
mkdir -p "$HOME/.ghcup/bin"
364-
curl -sL https://downloads.haskell.org/ghcup/0.1.19.2/x86_64-linux-ghcup-0.1.19.2 > "$HOME/.ghcup/bin/ghcup"
364+
curl -sL https://downloads.haskell.org/ghcup/0.1.19.5/x86_64-linux-ghcup-0.1.19.5 > "$HOME/.ghcup/bin/ghcup"
365365
chmod a+x "$HOME/.ghcup/bin/ghcup"
366366
"$HOME/.ghcup/bin/ghcup" install cabal 3.10.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
367367
fi
@@ -378,10 +378,12 @@ jobs:
378378
echo "CABAL_CONFIG=$HOME/.cabal/config" >> "$GITHUB_ENV"
379379
HCDIR=/opt/$HCKIND/$HCVER
380380
if [ "${{ matrix.setup-method }}" = ghcup ]; then
381-
HC=$HOME/.ghcup/bin/$HCKIND-$HCVER
381+
HC=$("$HOME/.ghcup/bin/ghcup" whereis ghc "$HCVER")
382+
HCPKG=$(echo "$HC" | sed 's#ghc$#ghc-pkg#')
383+
HADDOCK=$(echo "$HC" | sed 's#ghc$#haddock#')
382384
echo "HC=$HC" >> "$GITHUB_ENV"
383-
echo "HCPKG=$HOME/.ghcup/bin/$HCKIND-pkg-$HCVER" >> "$GITHUB_ENV"
384-
echo "HADDOCK=$HOME/.ghcup/bin/haddock-$HCVER" >> "$GITHUB_ENV"
385+
echo "HCPKG=$HCPKG" >> "$GITHUB_ENV"
386+
echo "HADDOCK=$HADDOCK" >> "$GITHUB_ENV"
385387
echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.1.0 -vnormal+nowrap" >> "$GITHUB_ENV"
386388
else
387389
HC=$HCDIR/bin/$HCKIND

fixtures/copy-fields-all.github

+7-5
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ jobs:
191191
apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5
192192
if [ "${{ matrix.setup-method }}" = ghcup ]; then
193193
mkdir -p "$HOME/.ghcup/bin"
194-
curl -sL https://downloads.haskell.org/ghcup/0.1.19.2/x86_64-linux-ghcup-0.1.19.2 > "$HOME/.ghcup/bin/ghcup"
194+
curl -sL https://downloads.haskell.org/ghcup/0.1.19.5/x86_64-linux-ghcup-0.1.19.5 > "$HOME/.ghcup/bin/ghcup"
195195
chmod a+x "$HOME/.ghcup/bin/ghcup"
196196
"$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
197197
"$HOME/.ghcup/bin/ghcup" install cabal 3.10.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
@@ -200,7 +200,7 @@ jobs:
200200
apt-get update
201201
apt-get install -y "$HCNAME"
202202
mkdir -p "$HOME/.ghcup/bin"
203-
curl -sL https://downloads.haskell.org/ghcup/0.1.19.2/x86_64-linux-ghcup-0.1.19.2 > "$HOME/.ghcup/bin/ghcup"
203+
curl -sL https://downloads.haskell.org/ghcup/0.1.19.5/x86_64-linux-ghcup-0.1.19.5 > "$HOME/.ghcup/bin/ghcup"
204204
chmod a+x "$HOME/.ghcup/bin/ghcup"
205205
"$HOME/.ghcup/bin/ghcup" install cabal 3.10.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
206206
fi
@@ -216,10 +216,12 @@ jobs:
216216
echo "CABAL_CONFIG=$HOME/.cabal/config" >> "$GITHUB_ENV"
217217
HCDIR=/opt/$HCKIND/$HCVER
218218
if [ "${{ matrix.setup-method }}" = ghcup ]; then
219-
HC=$HOME/.ghcup/bin/$HCKIND-$HCVER
219+
HC=$("$HOME/.ghcup/bin/ghcup" whereis ghc "$HCVER")
220+
HCPKG=$(echo "$HC" | sed 's#ghc$#ghc-pkg#')
221+
HADDOCK=$(echo "$HC" | sed 's#ghc$#haddock#')
220222
echo "HC=$HC" >> "$GITHUB_ENV"
221-
echo "HCPKG=$HOME/.ghcup/bin/$HCKIND-pkg-$HCVER" >> "$GITHUB_ENV"
222-
echo "HADDOCK=$HOME/.ghcup/bin/haddock-$HCVER" >> "$GITHUB_ENV"
223+
echo "HCPKG=$HCPKG" >> "$GITHUB_ENV"
224+
echo "HADDOCK=$HADDOCK" >> "$GITHUB_ENV"
223225
echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.1.0 -vnormal+nowrap" >> "$GITHUB_ENV"
224226
else
225227
HC=$HCDIR/bin/$HCKIND

fixtures/copy-fields-none.github

+7-5
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ jobs:
191191
apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5
192192
if [ "${{ matrix.setup-method }}" = ghcup ]; then
193193
mkdir -p "$HOME/.ghcup/bin"
194-
curl -sL https://downloads.haskell.org/ghcup/0.1.19.2/x86_64-linux-ghcup-0.1.19.2 > "$HOME/.ghcup/bin/ghcup"
194+
curl -sL https://downloads.haskell.org/ghcup/0.1.19.5/x86_64-linux-ghcup-0.1.19.5 > "$HOME/.ghcup/bin/ghcup"
195195
chmod a+x "$HOME/.ghcup/bin/ghcup"
196196
"$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
197197
"$HOME/.ghcup/bin/ghcup" install cabal 3.10.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
@@ -200,7 +200,7 @@ jobs:
200200
apt-get update
201201
apt-get install -y "$HCNAME"
202202
mkdir -p "$HOME/.ghcup/bin"
203-
curl -sL https://downloads.haskell.org/ghcup/0.1.19.2/x86_64-linux-ghcup-0.1.19.2 > "$HOME/.ghcup/bin/ghcup"
203+
curl -sL https://downloads.haskell.org/ghcup/0.1.19.5/x86_64-linux-ghcup-0.1.19.5 > "$HOME/.ghcup/bin/ghcup"
204204
chmod a+x "$HOME/.ghcup/bin/ghcup"
205205
"$HOME/.ghcup/bin/ghcup" install cabal 3.10.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
206206
fi
@@ -216,10 +216,12 @@ jobs:
216216
echo "CABAL_CONFIG=$HOME/.cabal/config" >> "$GITHUB_ENV"
217217
HCDIR=/opt/$HCKIND/$HCVER
218218
if [ "${{ matrix.setup-method }}" = ghcup ]; then
219-
HC=$HOME/.ghcup/bin/$HCKIND-$HCVER
219+
HC=$("$HOME/.ghcup/bin/ghcup" whereis ghc "$HCVER")
220+
HCPKG=$(echo "$HC" | sed 's#ghc$#ghc-pkg#')
221+
HADDOCK=$(echo "$HC" | sed 's#ghc$#haddock#')
220222
echo "HC=$HC" >> "$GITHUB_ENV"
221-
echo "HCPKG=$HOME/.ghcup/bin/$HCKIND-pkg-$HCVER" >> "$GITHUB_ENV"
222-
echo "HADDOCK=$HOME/.ghcup/bin/haddock-$HCVER" >> "$GITHUB_ENV"
223+
echo "HCPKG=$HCPKG" >> "$GITHUB_ENV"
224+
echo "HADDOCK=$HADDOCK" >> "$GITHUB_ENV"
223225
echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.1.0 -vnormal+nowrap" >> "$GITHUB_ENV"
224226
else
225227
HC=$HCDIR/bin/$HCKIND

fixtures/copy-fields-some.github

+7-5
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ jobs:
191191
apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5
192192
if [ "${{ matrix.setup-method }}" = ghcup ]; then
193193
mkdir -p "$HOME/.ghcup/bin"
194-
curl -sL https://downloads.haskell.org/ghcup/0.1.19.2/x86_64-linux-ghcup-0.1.19.2 > "$HOME/.ghcup/bin/ghcup"
194+
curl -sL https://downloads.haskell.org/ghcup/0.1.19.5/x86_64-linux-ghcup-0.1.19.5 > "$HOME/.ghcup/bin/ghcup"
195195
chmod a+x "$HOME/.ghcup/bin/ghcup"
196196
"$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
197197
"$HOME/.ghcup/bin/ghcup" install cabal 3.10.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
@@ -200,7 +200,7 @@ jobs:
200200
apt-get update
201201
apt-get install -y "$HCNAME"
202202
mkdir -p "$HOME/.ghcup/bin"
203-
curl -sL https://downloads.haskell.org/ghcup/0.1.19.2/x86_64-linux-ghcup-0.1.19.2 > "$HOME/.ghcup/bin/ghcup"
203+
curl -sL https://downloads.haskell.org/ghcup/0.1.19.5/x86_64-linux-ghcup-0.1.19.5 > "$HOME/.ghcup/bin/ghcup"
204204
chmod a+x "$HOME/.ghcup/bin/ghcup"
205205
"$HOME/.ghcup/bin/ghcup" install cabal 3.10.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
206206
fi
@@ -216,10 +216,12 @@ jobs:
216216
echo "CABAL_CONFIG=$HOME/.cabal/config" >> "$GITHUB_ENV"
217217
HCDIR=/opt/$HCKIND/$HCVER
218218
if [ "${{ matrix.setup-method }}" = ghcup ]; then
219-
HC=$HOME/.ghcup/bin/$HCKIND-$HCVER
219+
HC=$("$HOME/.ghcup/bin/ghcup" whereis ghc "$HCVER")
220+
HCPKG=$(echo "$HC" | sed 's#ghc$#ghc-pkg#')
221+
HADDOCK=$(echo "$HC" | sed 's#ghc$#haddock#')
220222
echo "HC=$HC" >> "$GITHUB_ENV"
221-
echo "HCPKG=$HOME/.ghcup/bin/$HCKIND-pkg-$HCVER" >> "$GITHUB_ENV"
222-
echo "HADDOCK=$HOME/.ghcup/bin/haddock-$HCVER" >> "$GITHUB_ENV"
223+
echo "HCPKG=$HCPKG" >> "$GITHUB_ENV"
224+
echo "HADDOCK=$HADDOCK" >> "$GITHUB_ENV"
223225
echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.1.0 -vnormal+nowrap" >> "$GITHUB_ENV"
224226
else
225227
HC=$HCDIR/bin/$HCKIND

fixtures/empty-line.github

+14-5
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,11 @@ jobs:
183183
compilerVersion: 7.8.1
184184
setup-method: hvr-ppa
185185
allow-failure: false
186+
- compiler: ghc-head
187+
compilerKind: ghc
188+
compilerVersion: latest-nightly
189+
setup-method: ghcup
190+
allow-failure: true
186191
fail-fast: false
187192
steps:
188193
- name: apt
@@ -191,19 +196,21 @@ jobs:
191196
apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5
192197
if [ "${{ matrix.setup-method }}" = ghcup ]; then
193198
mkdir -p "$HOME/.ghcup/bin"
194-
curl -sL https://downloads.haskell.org/ghcup/0.1.19.2/x86_64-linux-ghcup-0.1.19.2 > "$HOME/.ghcup/bin/ghcup"
199+
curl -sL https://downloads.haskell.org/ghcup/0.1.19.5/x86_64-linux-ghcup-0.1.19.5 > "$HOME/.ghcup/bin/ghcup"
195200
chmod a+x "$HOME/.ghcup/bin/ghcup"
196201
"$HOME/.ghcup/bin/ghcup" config add-release-channel https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-prereleases-0.0.7.yaml;
202+
"$HOME/.ghcup/bin/ghcup" config add-release-channel https://ghc.gitlab.haskell.org/ghcup-metadata/ghcup-nightlies-0.0.7.yaml;
197203
"$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
198204
"$HOME/.ghcup/bin/ghcup" install cabal 3.10.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
199205
else
200206
apt-add-repository -y 'ppa:hvr/ghc'
201207
apt-get update
202208
apt-get install -y "$HCNAME"
203209
mkdir -p "$HOME/.ghcup/bin"
204-
curl -sL https://downloads.haskell.org/ghcup/0.1.19.2/x86_64-linux-ghcup-0.1.19.2 > "$HOME/.ghcup/bin/ghcup"
210+
curl -sL https://downloads.haskell.org/ghcup/0.1.19.5/x86_64-linux-ghcup-0.1.19.5 > "$HOME/.ghcup/bin/ghcup"
205211
chmod a+x "$HOME/.ghcup/bin/ghcup"
206212
"$HOME/.ghcup/bin/ghcup" config add-release-channel https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-prereleases-0.0.7.yaml;
213+
"$HOME/.ghcup/bin/ghcup" config add-release-channel https://ghc.gitlab.haskell.org/ghcup-metadata/ghcup-nightlies-0.0.7.yaml;
207214
"$HOME/.ghcup/bin/ghcup" install cabal 3.10.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
208215
fi
209216
env:
@@ -218,10 +225,12 @@ jobs:
218225
echo "CABAL_CONFIG=$HOME/.cabal/config" >> "$GITHUB_ENV"
219226
HCDIR=/opt/$HCKIND/$HCVER
220227
if [ "${{ matrix.setup-method }}" = ghcup ]; then
221-
HC=$HOME/.ghcup/bin/$HCKIND-$HCVER
228+
HC=$("$HOME/.ghcup/bin/ghcup" whereis ghc "$HCVER")
229+
HCPKG=$(echo "$HC" | sed 's#ghc$#ghc-pkg#')
230+
HADDOCK=$(echo "$HC" | sed 's#ghc$#haddock#')
222231
echo "HC=$HC" >> "$GITHUB_ENV"
223-
echo "HCPKG=$HOME/.ghcup/bin/$HCKIND-pkg-$HCVER" >> "$GITHUB_ENV"
224-
echo "HADDOCK=$HOME/.ghcup/bin/haddock-$HCVER" >> "$GITHUB_ENV"
232+
echo "HCPKG=$HCPKG" >> "$GITHUB_ENV"
233+
echo "HADDOCK=$HADDOCK" >> "$GITHUB_ENV"
225234
echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.1.0 -vnormal+nowrap" >> "$GITHUB_ENV"
226235
else
227236
HC=$HCDIR/bin/$HCKIND

fixtures/enabled-jobs.github

+7-5
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,7 @@ jobs:
259259
apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5
260260
if [ "${{ matrix.setup-method }}" = ghcup ]; then
261261
mkdir -p "$HOME/.ghcup/bin"
262-
curl -sL https://downloads.haskell.org/ghcup/0.1.19.2/x86_64-linux-ghcup-0.1.19.2 > "$HOME/.ghcup/bin/ghcup"
262+
curl -sL https://downloads.haskell.org/ghcup/0.1.19.5/x86_64-linux-ghcup-0.1.19.5 > "$HOME/.ghcup/bin/ghcup"
263263
chmod a+x "$HOME/.ghcup/bin/ghcup"
264264
"$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
265265
"$HOME/.ghcup/bin/ghcup" install cabal 3.10.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
@@ -271,7 +271,7 @@ jobs:
271271
apt-get update
272272
if [ $((GHCJSARITH)) -ne 0 ] ; then apt-get install -y "$HCNAME" ghc-8.4.4 nodejs ; else apt-get install -y "$HCNAME" ; fi
273273
mkdir -p "$HOME/.ghcup/bin"
274-
curl -sL https://downloads.haskell.org/ghcup/0.1.19.2/x86_64-linux-ghcup-0.1.19.2 > "$HOME/.ghcup/bin/ghcup"
274+
curl -sL https://downloads.haskell.org/ghcup/0.1.19.5/x86_64-linux-ghcup-0.1.19.5 > "$HOME/.ghcup/bin/ghcup"
275275
chmod a+x "$HOME/.ghcup/bin/ghcup"
276276
"$HOME/.ghcup/bin/ghcup" install cabal 3.10.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
277277
fi
@@ -288,10 +288,12 @@ jobs:
288288
echo "CABAL_CONFIG=$HOME/.cabal/config" >> "$GITHUB_ENV"
289289
HCDIR=/opt/$HCKIND/$HCVER
290290
if [ "${{ matrix.setup-method }}" = ghcup ]; then
291-
HC=$HOME/.ghcup/bin/$HCKIND-$HCVER
291+
HC=$("$HOME/.ghcup/bin/ghcup" whereis ghc "$HCVER")
292+
HCPKG=$(echo "$HC" | sed 's#ghc$#ghc-pkg#')
293+
HADDOCK=$(echo "$HC" | sed 's#ghc$#haddock#')
292294
echo "HC=$HC" >> "$GITHUB_ENV"
293-
echo "HCPKG=$HOME/.ghcup/bin/$HCKIND-pkg-$HCVER" >> "$GITHUB_ENV"
294-
echo "HADDOCK=$HOME/.ghcup/bin/haddock-$HCVER" >> "$GITHUB_ENV"
295+
echo "HCPKG=$HCPKG" >> "$GITHUB_ENV"
296+
echo "HADDOCK=$HADDOCK" >> "$GITHUB_ENV"
295297
echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.1.0 -vnormal+nowrap" >> "$GITHUB_ENV"
296298
else
297299
HC=$HCDIR/bin/$HCKIND

0 commit comments

Comments
 (0)