Skip to content

Commit e1a9dd1

Browse files
committed
wip
1 parent 3664c04 commit e1a9dd1

File tree

1 file changed

+24
-18
lines changed

1 file changed

+24
-18
lines changed

.github/workflows/haskell-ci-bench.yml

Lines changed: 24 additions & 18 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.20241109
11+
# version: 0.19.20250821
1212
#
13-
# REGENDATA ("0.19.20241109",["github","--project","cabal.bench.project","-o",".github/workflows/haskell-ci-bench.yml","--github-action-name","Benchmarks"])
13+
# REGENDATA ("0.19.20250821",["github","--project","cabal.bench.project","-o",".github/workflows/haskell-ci-bench.yml","--github-action-name","Benchmarks"])
1414
#
1515
name: Benchmarks
1616
on:
@@ -23,7 +23,7 @@ on:
2323
jobs:
2424
linux:
2525
name: Benchmarks - Linux - ${{ matrix.compiler }}
26-
runs-on: ubuntu-20.04
26+
runs-on: ubuntu-24.04
2727
timeout-minutes:
2828
60
2929
container:
@@ -49,16 +49,29 @@ jobs:
4949
allow-failure: false
5050
fail-fast: false
5151
steps:
52-
- name: apt
52+
- name: apt-get install
5353
run: |
5454
apt-get update
5555
apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5
56+
- name: Install GHCup
57+
run: |
5658
mkdir -p "$HOME/.ghcup/bin"
57-
curl -sL https://downloads.haskell.org/ghcup/0.1.30.0/x86_64-linux-ghcup-0.1.30.0 > "$HOME/.ghcup/bin/ghcup"
59+
curl -sL https://downloads.haskell.org/ghcup/0.1.50.1/x86_64-linux-ghcup-0.1.50.1 > "$HOME/.ghcup/bin/ghcup"
5860
chmod a+x "$HOME/.ghcup/bin/ghcup"
59-
"$HOME/.ghcup/bin/ghcup" config add-release-channel https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-prereleases-0.0.8.yaml;
61+
- name: Install cabal-install
62+
run: |
63+
"$HOME/.ghcup/bin/ghcup" install cabal 3.16.0.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
64+
echo "CABAL=$HOME/.ghcup/bin/cabal-3.16.0.0 -vnormal+nowrap" >> "$GITHUB_ENV"
65+
- name: Install GHC (GHCup)
66+
if: matrix.setup-method == 'ghcup'
67+
run: |
6068
"$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
61-
"$HOME/.ghcup/bin/ghcup" install cabal 3.12.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
69+
HC=$("$HOME/.ghcup/bin/ghcup" whereis ghc "$HCVER")
70+
HCPKG=$(echo "$HC" | sed 's#ghc$#ghc-pkg#')
71+
HADDOCK=$(echo "$HC" | sed 's#ghc$#haddock#')
72+
echo "HC=$HC" >> "$GITHUB_ENV"
73+
echo "HCPKG=$HCPKG" >> "$GITHUB_ENV"
74+
echo "HADDOCK=$HADDOCK" >> "$GITHUB_ENV"
6275
env:
6376
HCKIND: ${{ matrix.compilerKind }}
6477
HCNAME: ${{ matrix.compiler }}
@@ -69,21 +82,12 @@ jobs:
6982
echo "LANG=C.UTF-8" >> "$GITHUB_ENV"
7083
echo "CABAL_DIR=$HOME/.cabal" >> "$GITHUB_ENV"
7184
echo "CABAL_CONFIG=$HOME/.cabal/config" >> "$GITHUB_ENV"
72-
HCDIR=/opt/$HCKIND/$HCVER
73-
HC=$("$HOME/.ghcup/bin/ghcup" whereis ghc "$HCVER")
74-
HCPKG=$(echo "$HC" | sed 's#ghc$#ghc-pkg#')
75-
HADDOCK=$(echo "$HC" | sed 's#ghc$#haddock#')
76-
echo "HC=$HC" >> "$GITHUB_ENV"
77-
echo "HCPKG=$HCPKG" >> "$GITHUB_ENV"
78-
echo "HADDOCK=$HADDOCK" >> "$GITHUB_ENV"
79-
echo "CABAL=$HOME/.ghcup/bin/cabal-3.12.1.0 -vnormal+nowrap" >> "$GITHUB_ENV"
8085
HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')
8186
echo "HCNUMVER=$HCNUMVER" >> "$GITHUB_ENV"
8287
echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV"
8388
echo "ARG_BENCH=--disable-benchmarks" >> "$GITHUB_ENV"
8489
echo "HEADHACKAGE=false" >> "$GITHUB_ENV"
8590
echo "ARG_COMPILER=--$HCKIND --with-compiler=$HC" >> "$GITHUB_ENV"
86-
echo "GHCJSARITH=0" >> "$GITHUB_ENV"
8791
env:
8892
HCKIND: ${{ matrix.compilerKind }}
8993
HCNAME: ${{ matrix.compiler }}
@@ -158,7 +162,9 @@ jobs:
158162
touch cabal.project.local
159163
echo "packages: ${PKGDIR_hashable_bench}" >> cabal.project
160164
echo "package hashable-bench" >> cabal.project
161-
echo " ghc-options: -Werror=missing-methods" >> cabal.project
165+
echo " ghc-options: -Werror=missing-methods -Werror=missing-fields" >> cabal.project
166+
echo "package hashable-bench" >> cabal.project
167+
echo " ghc-options: -Werror=incomplete-patterns -Werror=incomplete-uni-patterns" >> cabal.project
162168
cat >> cabal.project <<EOF
163169
EOF
164170
$HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: any.$_ installed\n" unless /^(hashable-bench)$/; }' >> cabal.project.local
@@ -217,8 +223,8 @@ jobs:
217223
$CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks --constraint='hashable +random-initial-seed' --dependencies-only -j2 all
218224
$CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks --constraint='hashable +random-initial-seed' all
219225
- name: save cache
220-
uses: actions/cache/save@v4
221226
if: always()
227+
uses: actions/cache/save@v4
222228
with:
223229
key: ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }}
224230
path: ~/.cabal/store

0 commit comments

Comments
 (0)