Skip to content

Commit 14af262

Browse files
committed
haskell-ci: use the latest compiler versions for testing
1 parent 66c65b3 commit 14af262

File tree

2 files changed

+29
-24
lines changed

2 files changed

+29
-24
lines changed

.github/workflows/haskell-ci.yml

Lines changed: 28 additions & 23 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.20250604
1212
#
13-
# REGENDATA ("0.19.20240708",["--doctest","--doctest-version=^>= 0.22","--installed=+all -Cabal","github","cabal2spec.cabal"])
13+
# REGENDATA ("0.19.20250604",["--doctest","--doctest-version=^>= 0.22","--installed=+all -Cabal","github","cabal2spec.cabal"])
1414
#
1515
name: Haskell-CI
1616
on:
@@ -19,7 +19,7 @@ on:
1919
jobs:
2020
linux:
2121
name: Haskell-CI - Linux - ${{ matrix.compiler }}
22-
runs-on: ubuntu-20.04
22+
runs-on: ubuntu-24.04
2323
timeout-minutes:
2424
60
2525
container:
@@ -28,14 +28,14 @@ jobs:
2828
strategy:
2929
matrix:
3030
include:
31-
- compiler: ghc-9.8.2
31+
- compiler: ghc-9.8.4
3232
compilerKind: ghc
33-
compilerVersion: 9.8.2
33+
compilerVersion: 9.8.4
3434
setup-method: ghcup
3535
allow-failure: false
36-
- compiler: ghc-9.6.4
36+
- compiler: ghc-9.6.7
3737
compilerKind: ghc
38-
compilerVersion: 9.6.4
38+
compilerVersion: 9.6.7
3939
setup-method: ghcup
4040
allow-failure: false
4141
- compiler: ghc-9.4.8
@@ -50,15 +50,29 @@ jobs:
5050
allow-failure: false
5151
fail-fast: false
5252
steps:
53-
- name: apt
53+
- name: apt-get install
5454
run: |
5555
apt-get update
5656
apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5
57+
- name: Install GHCup
58+
run: |
5759
mkdir -p "$HOME/.ghcup/bin"
58-
curl -sL https://downloads.haskell.org/ghcup/0.1.30.0/x86_64-linux-ghcup-0.1.30.0 > "$HOME/.ghcup/bin/ghcup"
60+
curl -sL https://downloads.haskell.org/ghcup/0.1.50.1/x86_64-linux-ghcup-0.1.50.1 > "$HOME/.ghcup/bin/ghcup"
5961
chmod a+x "$HOME/.ghcup/bin/ghcup"
62+
- name: Install cabal-install
63+
run: |
64+
"$HOME/.ghcup/bin/ghcup" install cabal 3.14.2.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
65+
echo "CABAL=$HOME/.ghcup/bin/cabal-3.14.2.0 -vnormal+nowrap" >> "$GITHUB_ENV"
66+
- name: Install GHC (GHCup)
67+
if: matrix.setup-method == 'ghcup'
68+
run: |
6069
"$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)
70+
HC=$("$HOME/.ghcup/bin/ghcup" whereis ghc "$HCVER")
71+
HCPKG=$(echo "$HC" | sed 's#ghc$#ghc-pkg#')
72+
HADDOCK=$(echo "$HC" | sed 's#ghc$#haddock#')
73+
echo "HC=$HC" >> "$GITHUB_ENV"
74+
echo "HCPKG=$HCPKG" >> "$GITHUB_ENV"
75+
echo "HADDOCK=$HADDOCK" >> "$GITHUB_ENV"
6276
env:
6377
HCKIND: ${{ matrix.compilerKind }}
6478
HCNAME: ${{ matrix.compiler }}
@@ -69,21 +83,12 @@ jobs:
6983
echo "LANG=C.UTF-8" >> "$GITHUB_ENV"
7084
echo "CABAL_DIR=$HOME/.cabal" >> "$GITHUB_ENV"
7185
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"
8086
HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')
8187
echo "HCNUMVER=$HCNUMVER" >> "$GITHUB_ENV"
8288
echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV"
8389
echo "ARG_BENCH=--enable-benchmarks" >> "$GITHUB_ENV"
8490
echo "HEADHACKAGE=false" >> "$GITHUB_ENV"
8591
echo "ARG_COMPILER=--$HCKIND --with-compiler=$HC" >> "$GITHUB_ENV"
86-
echo "GHCJSARITH=0" >> "$GITHUB_ENV"
8792
env:
8893
HCKIND: ${{ matrix.compilerKind }}
8994
HCNAME: ${{ matrix.compiler }}
@@ -126,7 +131,7 @@ jobs:
126131
- name: cache (tools)
127132
uses: actions/cache/restore@v4
128133
with:
129-
key: ${{ runner.os }}-${{ matrix.compiler }}-tools-1cf0e533
134+
key: ${{ runner.os }}-${{ matrix.compiler }}-tools-2b1119ca
130135
path: ~/.haskell-ci-tools
131136
- name: install cabal-plan
132137
run: |
@@ -142,10 +147,10 @@ jobs:
142147
$CABAL --store-dir=$HOME/.haskell-ci-tools/store v2-install $ARG_COMPILER --ignore-project -j2 doctest --constraint='doctest ^>=0.22'
143148
doctest --version
144149
- name: save cache (tools)
145-
uses: actions/cache/save@v4
146150
if: always()
151+
uses: actions/cache/save@v4
147152
with:
148-
key: ${{ runner.os }}-${{ matrix.compiler }}-tools-1cf0e533
153+
key: ${{ runner.os }}-${{ matrix.compiler }}-tools-2b1119ca
149154
path: ~/.haskell-ci-tools
150155
- name: checkout
151156
uses: actions/checkout@v4
@@ -218,8 +223,8 @@ jobs:
218223
rm -f cabal.project.local
219224
$CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks all
220225
- name: save cache
221-
uses: actions/cache/save@v4
222226
if: always()
227+
uses: actions/cache/save@v4
223228
with:
224229
key: ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }}
225230
path: ~/.cabal/store

cabal2spec.cabal

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ license: GPL-3
1414
license-file: LICENSE
1515
author: Peter Simons, Bryan O'Sullivan, Jens Petersen
1616
maintainer: simons@cryp.to
17-
tested-with: GHC == 9.2.8 || == 9.4.8 || == 9.6.4 || == 9.8.2
17+
tested-with: GHC == 9.2.8 || == 9.4.8 || == 9.6.7 || == 9.8.4
1818
category: Distribution
1919
homepage: https://github.com/peti/cabal2spec
2020
build-type: Simple

0 commit comments

Comments
 (0)