Skip to content

Commit 3a1286b

Browse files
committed
Drop ghc-heap exception from CI config
1 parent db094c7 commit 3a1286b

File tree

2 files changed

+35
-18
lines changed

2 files changed

+35
-18
lines changed

.github/workflows/haskell-ci.yml

Lines changed: 34 additions & 15 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.19.20240708
11+
# version: 0.19.20241121
1212
#
13-
# REGENDATA ("0.19.20240708",["github","--config=cabal.haskell-ci","--ghc-head","cabal.project"])
13+
# REGENDATA ("0.19.20241121",["github","--config=cabal.haskell-ci","--ghc-head","cabal.project"])
1414
#
1515
name: Haskell-CI
1616
on:
@@ -89,41 +89,60 @@ jobs:
8989
allow-failure: false
9090
fail-fast: false
9191
steps:
92-
- name: apt
92+
- name: apt-get install
9393
run: |
9494
apt-get update
9595
apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5 libnuma-dev
96+
- name: Install GHCup
97+
run: |
9698
mkdir -p "$HOME/.ghcup/bin"
9799
curl -sL https://downloads.haskell.org/ghcup/0.1.30.0/x86_64-linux-ghcup-0.1.30.0 > "$HOME/.ghcup/bin/ghcup"
98100
chmod a+x "$HOME/.ghcup/bin/ghcup"
99-
"$HOME/.ghcup/bin/ghcup" config add-release-channel https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-prereleases-0.0.8.yaml;
100-
"$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
101+
- name: Install cabal-install
102+
run: |
101103
"$HOME/.ghcup/bin/ghcup" install cabal 3.12.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
104+
echo "CABAL=$HOME/.ghcup/bin/cabal-3.12.1.0 -vnormal+nowrap" >> "$GITHUB_ENV"
105+
- name: Install GHC (GHCup)
106+
if: matrix.setup-method == 'ghcup'
107+
run: |
108+
"$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
109+
HC=$("$HOME/.ghcup/bin/ghcup" whereis ghc "$HCVER")
110+
HCPKG=$(echo "$HC" | sed 's#ghc$#ghc-pkg#')
111+
HADDOCK=$(echo "$HC" | sed 's#ghc$#haddock#')
112+
echo "HC=$HC" >> "$GITHUB_ENV"
113+
echo "HCPKG=$HCPKG" >> "$GITHUB_ENV"
114+
echo "HADDOCK=$HADDOCK" >> "$GITHUB_ENV"
102115
env:
103116
HCKIND: ${{ matrix.compilerKind }}
104117
HCNAME: ${{ matrix.compiler }}
105118
HCVER: ${{ matrix.compilerVersion }}
106-
- name: Set PATH and environment variables
119+
- name: Install GHC (GHCup prerelease)
120+
if: matrix.setup-method == 'ghcup-prerelease'
107121
run: |
108-
echo "$HOME/.cabal/bin" >> $GITHUB_PATH
109-
echo "LANG=C.UTF-8" >> "$GITHUB_ENV"
110-
echo "CABAL_DIR=$HOME/.cabal" >> "$GITHUB_ENV"
111-
echo "CABAL_CONFIG=$HOME/.cabal/config" >> "$GITHUB_ENV"
112-
HCDIR=/opt/$HCKIND/$HCVER
122+
"$HOME/.ghcup/bin/ghcup" config add-release-channel https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-prereleases-0.0.8.yaml;
123+
"$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
113124
HC=$("$HOME/.ghcup/bin/ghcup" whereis ghc "$HCVER")
114125
HCPKG=$(echo "$HC" | sed 's#ghc$#ghc-pkg#')
115126
HADDOCK=$(echo "$HC" | sed 's#ghc$#haddock#')
116127
echo "HC=$HC" >> "$GITHUB_ENV"
117128
echo "HCPKG=$HCPKG" >> "$GITHUB_ENV"
118129
echo "HADDOCK=$HADDOCK" >> "$GITHUB_ENV"
119-
echo "CABAL=$HOME/.ghcup/bin/cabal-3.12.1.0 -vnormal+nowrap" >> "$GITHUB_ENV"
130+
env:
131+
HCKIND: ${{ matrix.compilerKind }}
132+
HCNAME: ${{ matrix.compiler }}
133+
HCVER: ${{ matrix.compilerVersion }}
134+
- name: Set PATH and environment variables
135+
run: |
136+
echo "$HOME/.cabal/bin" >> $GITHUB_PATH
137+
echo "LANG=C.UTF-8" >> "$GITHUB_ENV"
138+
echo "CABAL_DIR=$HOME/.cabal" >> "$GITHUB_ENV"
139+
echo "CABAL_CONFIG=$HOME/.cabal/config" >> "$GITHUB_ENV"
120140
HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')
121141
echo "HCNUMVER=$HCNUMVER" >> "$GITHUB_ENV"
122142
echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV"
123143
echo "ARG_BENCH=--enable-benchmarks" >> "$GITHUB_ENV"
124144
if [ $((HCNUMVER > 91001)) -ne 0 ] ; then echo "HEADHACKAGE=true" >> "$GITHUB_ENV" ; else echo "HEADHACKAGE=false" >> "$GITHUB_ENV" ; fi
125145
echo "ARG_COMPILER=--$HCKIND --with-compiler=$HC" >> "$GITHUB_ENV"
126-
echo "GHCJSARITH=0" >> "$GITHUB_ENV"
127146
env:
128147
HCKIND: ${{ matrix.compilerKind }}
129148
HCNAME: ${{ matrix.compiler }}
@@ -222,7 +241,7 @@ jobs:
222241
if $HEADHACKAGE; then
223242
echo "allow-newer: $($HCPKG list --simple-output | sed -E 's/([a-zA-Z-]+)-[0-9.]+/*:\1,/g')" >> cabal.project
224243
fi
225-
$HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: any.$_ installed\n" unless /^(binary|containers|containers-tests|ghc-heap|text)$/; }' >> cabal.project.local
244+
$HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: any.$_ installed\n" unless /^(binary|containers|containers-tests|text)$/; }' >> cabal.project.local
226245
cat cabal.project
227246
cat cabal.project.local
228247
- name: dump install plan
@@ -252,8 +271,8 @@ jobs:
252271
rm -f cabal.project.local
253272
$CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks all
254273
- name: save cache
255-
uses: actions/cache/save@v4
256274
if: always()
275+
uses: actions/cache/save@v4
257276
with:
258277
key: ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }}
259278
path: ~/.cabal/store

cabal.haskell-ci

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@ install-dependencies: False
99

1010
-- text depends on binary, and binary depends on containers, so we need to
1111
-- reinstall these boot libraries
12-
-- ghc-heap is depended on by nothunks which we use in the tests, and also
13-
-- depends on containers
14-
installed: +all -binary -text -ghc-heap
12+
installed: +all -binary -text
1513

1614
cabal-check: False

0 commit comments

Comments
 (0)