Skip to content

Commit bc0fe7c

Browse files
ci: Regenerate haskell-ci
1 parent d402813 commit bc0fe7c

File tree

2 files changed

+45
-20
lines changed

2 files changed

+45
-20
lines changed

.github/workflows/haskell-ci-hackage.patch

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ set in GitHub repository secrets.
3838
linux:
3939
name: Haskell-CI - Linux - ${{ matrix.compiler }}
4040
@@ -33,6 +40,7 @@
41-
compilerVersion: 9.8.2
41+
compilerVersion: 9.8.4
4242
setup-method: ghcup
4343
allow-failure: false
4444
+ upload: true

.github/workflows/haskell-ci.yml

+44-19
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.20241219
1212
#
13-
# REGENDATA ("0.19.20240708",["github","cabal.project"])
13+
# REGENDATA ("0.19.20241219",["github","cabal.project"])
1414
#
1515
name: Haskell-CI
1616
on:
@@ -35,14 +35,19 @@ jobs:
3535
strategy:
3636
matrix:
3737
include:
38+
- compiler: ghc-9.12.1
39+
compilerKind: ghc
40+
compilerVersion: 9.12.1
41+
setup-method: ghcup
42+
allow-failure: false
3843
- compiler: ghc-9.10.1
3944
compilerKind: ghc
4045
compilerVersion: 9.10.1
4146
setup-method: ghcup
4247
allow-failure: false
43-
- compiler: ghc-9.8.2
48+
- compiler: ghc-9.8.4
4449
compilerKind: ghc
45-
compilerVersion: 9.8.2
50+
compilerVersion: 9.8.4
4651
setup-method: ghcup
4752
allow-failure: false
4853
upload: true
@@ -98,17 +103,31 @@ jobs:
98103
allow-failure: false
99104
fail-fast: false
100105
steps:
101-
- name: apt
106+
- name: apt-get install
102107
run: |
103108
apt-get update
104109
apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5 libnuma-dev
110+
apt-get install -y libx11-dev libxext-dev libxinerama-dev libxrandr-dev libxss-dev
111+
- name: Install GHCup
112+
run: |
105113
mkdir -p "$HOME/.ghcup/bin"
106114
curl -sL https://downloads.haskell.org/ghcup/0.1.30.0/x86_64-linux-ghcup-0.1.30.0 > "$HOME/.ghcup/bin/ghcup"
107115
chmod a+x "$HOME/.ghcup/bin/ghcup"
116+
- name: Install cabal-install (prerelease)
117+
run: |
118+
"$HOME/.ghcup/bin/ghcup" config add-release-channel https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-prereleases-0.0.8.yaml;
119+
"$HOME/.ghcup/bin/ghcup" install cabal 3.15.0.0.2024.10.3 || (cat "$HOME"/.ghcup/logs/*.* && false)
120+
echo "CABAL=$HOME/.ghcup/bin/cabal-3.15.0.0.2024.10.3 -vnormal+nowrap" >> "$GITHUB_ENV"
121+
- name: Install GHC (GHCup)
122+
if: matrix.setup-method == 'ghcup'
123+
run: |
108124
"$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
109-
"$HOME/.ghcup/bin/ghcup" install cabal 3.12.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
110-
apt-get update
111-
apt-get install -y libx11-dev libxext-dev libxinerama-dev libxrandr-dev libxss-dev
125+
HC=$("$HOME/.ghcup/bin/ghcup" whereis ghc "$HCVER")
126+
HCPKG=$(echo "$HC" | sed 's#ghc$#ghc-pkg#')
127+
HADDOCK=$(echo "$HC" | sed 's#ghc$#haddock#')
128+
echo "HC=$HC" >> "$GITHUB_ENV"
129+
echo "HCPKG=$HCPKG" >> "$GITHUB_ENV"
130+
echo "HADDOCK=$HADDOCK" >> "$GITHUB_ENV"
112131
env:
113132
HCKIND: ${{ matrix.compilerKind }}
114133
HCNAME: ${{ matrix.compiler }}
@@ -119,21 +138,12 @@ jobs:
119138
echo "LANG=C.UTF-8" >> "$GITHUB_ENV"
120139
echo "CABAL_DIR=$HOME/.cabal" >> "$GITHUB_ENV"
121140
echo "CABAL_CONFIG=$HOME/.cabal/config" >> "$GITHUB_ENV"
122-
HCDIR=/opt/$HCKIND/$HCVER
123-
HC=$("$HOME/.ghcup/bin/ghcup" whereis ghc "$HCVER")
124-
HCPKG=$(echo "$HC" | sed 's#ghc$#ghc-pkg#')
125-
HADDOCK=$(echo "$HC" | sed 's#ghc$#haddock#')
126-
echo "HC=$HC" >> "$GITHUB_ENV"
127-
echo "HCPKG=$HCPKG" >> "$GITHUB_ENV"
128-
echo "HADDOCK=$HADDOCK" >> "$GITHUB_ENV"
129-
echo "CABAL=$HOME/.ghcup/bin/cabal-3.12.1.0 -vnormal+nowrap" >> "$GITHUB_ENV"
130141
HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')
131142
echo "HCNUMVER=$HCNUMVER" >> "$GITHUB_ENV"
132143
echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV"
133144
echo "ARG_BENCH=--enable-benchmarks" >> "$GITHUB_ENV"
134-
echo "HEADHACKAGE=false" >> "$GITHUB_ENV"
145+
if [ $((HCNUMVER >= 91200)) -ne 0 ] ; then echo "HEADHACKAGE=true" >> "$GITHUB_ENV" ; else echo "HEADHACKAGE=false" >> "$GITHUB_ENV" ; fi
135146
echo "ARG_COMPILER=--$HCKIND --with-compiler=$HC" >> "$GITHUB_ENV"
136-
echo "GHCJSARITH=0" >> "$GITHUB_ENV"
137147
env:
138148
HCKIND: ${{ matrix.compilerKind }}
139149
HCNAME: ${{ matrix.compiler }}
@@ -160,6 +170,18 @@ jobs:
160170
repository hackage.haskell.org
161171
url: http://hackage.haskell.org/
162172
EOF
173+
if $HEADHACKAGE; then
174+
cat >> $CABAL_CONFIG <<EOF
175+
repository head.hackage.ghc.haskell.org
176+
url: https://ghc.gitlab.haskell.org/head.hackage/
177+
secure: True
178+
root-keys: 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d
179+
26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329
180+
f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89
181+
key-threshold: 3
182+
active-repositories: hackage.haskell.org, head.hackage.ghc.haskell.org:override
183+
EOF
184+
fi
163185
cat >> $CABAL_CONFIG <<EOF
164186
program-default-options
165187
ghc-options: $GHCJOBS +RTS -M3G -RTS
@@ -216,6 +238,9 @@ jobs:
216238
package X11
217239
flags: +pedantic
218240
EOF
241+
if $HEADHACKAGE; then
242+
echo "allow-newer: $($HCPKG list --simple-output | sed -E 's/([a-zA-Z-]+)-[0-9.]+/*:\1,/g')" >> cabal.project
243+
fi
219244
$HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: any.$_ installed\n" unless /^(X11)$/; }' >> cabal.project.local
220245
cat cabal.project
221246
cat cabal.project.local
@@ -255,8 +280,8 @@ jobs:
255280
rm -f cabal.project.local
256281
$CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks all
257282
- name: save cache
258-
uses: actions/cache/save@v4
259283
if: always()
284+
uses: actions/cache/save@v4
260285
with:
261286
key: ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }}
262287
path: ~/.cabal/store

0 commit comments

Comments
 (0)