Skip to content

Commit 02e7384

Browse files
committed
fix: allow GHC 9.12 clased #152
1 parent f8693c3 commit 02e7384

File tree

3 files changed

+31
-21
lines changed

3 files changed

+31
-21
lines changed

.github/workflows/haskell-ci.yml

Lines changed: 26 additions & 16 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.20250330
1212
#
13-
# REGENDATA ("0.19.20240708",["github","cabal.project"])
13+
# REGENDATA ("0.19.20250330",["github","cabal.project"])
1414
#
1515
name: Haskell-CI
1616
on:
@@ -23,7 +23,7 @@ on:
2323
jobs:
2424
linux:
2525
name: Haskell-CI - Linux - ${{ matrix.compiler }}
26-
runs-on: ubuntu-20.04
26+
runs-on: ubuntu-24.04
2727
timeout-minutes:
2828
60
2929
container:
@@ -38,6 +38,11 @@ jobs:
3838
strategy:
3939
matrix:
4040
include:
41+
- compiler: ghc-9.12.2
42+
compilerKind: ghc
43+
compilerVersion: 9.12.2
44+
setup-method: ghcup
45+
allow-failure: false
4146
- compiler: ghc-9.10.1
4247
compilerKind: ghc
4348
compilerVersion: 9.10.1
@@ -85,15 +90,29 @@ jobs:
8590
allow-failure: false
8691
fail-fast: false
8792
steps:
88-
- name: apt
93+
- name: apt-get install
8994
run: |
9095
apt-get update
9196
apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5
97+
- name: Install GHCup
98+
run: |
9299
mkdir -p "$HOME/.ghcup/bin"
93-
curl -sL https://downloads.haskell.org/ghcup/0.1.30.0/x86_64-linux-ghcup-0.1.30.0 > "$HOME/.ghcup/bin/ghcup"
100+
curl -sL https://downloads.haskell.org/ghcup/0.1.50.1/x86_64-linux-ghcup-0.1.50.1 > "$HOME/.ghcup/bin/ghcup"
94101
chmod a+x "$HOME/.ghcup/bin/ghcup"
102+
- name: Install cabal-install
103+
run: |
104+
"$HOME/.ghcup/bin/ghcup" install cabal 3.14.1.1-p1 || (cat "$HOME"/.ghcup/logs/*.* && false)
105+
echo "CABAL=$HOME/.ghcup/bin/cabal-3.14.1.1-p1 -vnormal+nowrap" >> "$GITHUB_ENV"
106+
- name: Install GHC (GHCup)
107+
if: matrix.setup-method == 'ghcup'
108+
run: |
95109
"$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
96-
"$HOME/.ghcup/bin/ghcup" install cabal 3.12.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
110+
HC=$("$HOME/.ghcup/bin/ghcup" whereis ghc "$HCVER")
111+
HCPKG=$(echo "$HC" | sed 's#ghc$#ghc-pkg#')
112+
HADDOCK=$(echo "$HC" | sed 's#ghc$#haddock#')
113+
echo "HC=$HC" >> "$GITHUB_ENV"
114+
echo "HCPKG=$HCPKG" >> "$GITHUB_ENV"
115+
echo "HADDOCK=$HADDOCK" >> "$GITHUB_ENV"
97116
env:
98117
HCKIND: ${{ matrix.compilerKind }}
99118
HCNAME: ${{ matrix.compiler }}
@@ -104,21 +123,12 @@ jobs:
104123
echo "LANG=C.UTF-8" >> "$GITHUB_ENV"
105124
echo "CABAL_DIR=$HOME/.cabal" >> "$GITHUB_ENV"
106125
echo "CABAL_CONFIG=$HOME/.cabal/config" >> "$GITHUB_ENV"
107-
HCDIR=/opt/$HCKIND/$HCVER
108-
HC=$("$HOME/.ghcup/bin/ghcup" whereis ghc "$HCVER")
109-
HCPKG=$(echo "$HC" | sed 's#ghc$#ghc-pkg#')
110-
HADDOCK=$(echo "$HC" | sed 's#ghc$#haddock#')
111-
echo "HC=$HC" >> "$GITHUB_ENV"
112-
echo "HCPKG=$HCPKG" >> "$GITHUB_ENV"
113-
echo "HADDOCK=$HADDOCK" >> "$GITHUB_ENV"
114-
echo "CABAL=$HOME/.ghcup/bin/cabal-3.12.1.0 -vnormal+nowrap" >> "$GITHUB_ENV"
115126
HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')
116127
echo "HCNUMVER=$HCNUMVER" >> "$GITHUB_ENV"
117128
echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV"
118129
echo "ARG_BENCH=--enable-benchmarks" >> "$GITHUB_ENV"
119130
echo "HEADHACKAGE=false" >> "$GITHUB_ENV"
120131
echo "ARG_COMPILER=--$HCKIND --with-compiler=$HC" >> "$GITHUB_ENV"
121-
echo "GHCJSARITH=0" >> "$GITHUB_ENV"
122132
env:
123133
HCKIND: ${{ matrix.compilerKind }}
124134
HCNAME: ${{ matrix.compiler }}
@@ -234,8 +244,8 @@ jobs:
234244
rm -f cabal.project.local
235245
$CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks all
236246
- name: save cache
237-
uses: actions/cache/save@v4
238247
if: always()
248+
uses: actions/cache/save@v4
239249
with:
240250
key: ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }}
241251
path: ~/.cabal/store

.github/workflows/simple.yml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,9 @@ jobs:
1414
strategy:
1515
matrix:
1616
os: [macos-latest, windows-latest]
17-
ghc: ['9.4.8','9.6.6','9.8.2','9.10.1']
17+
ghc: ["9.4.8", "9.6.6", "9.8.2", "9.10.1", "9.12.2"]
1818
fail-fast: false
19-
timeout-minutes:
20-
60
19+
timeout-minutes: 60
2120
steps:
2221
- name: Set git to use LF
2322
run: |
@@ -29,7 +28,7 @@ jobs:
2928
uses: haskell-actions/setup@v2
3029
with:
3130
ghc-version: ${{ matrix.ghc }}
32-
cabal-version: '3.12.1.0'
31+
cabal-version: "3.12.1.0"
3332

3433
- name: Set up PostgreSQL
3534
uses: ikalnytskyi/action-setup-postgres@v6

postgresql-simple.cabal

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ tested-with:
3333
|| ==9.6.6
3434
|| ==9.8.2
3535
|| ==9.10.1
36+
|| ==9.12.2
3637

3738
library
3839
default-language: Haskell2010
@@ -78,7 +79,7 @@ library
7879

7980
-- GHC bundled libs
8081
build-depends:
81-
base >=4.12.0.0 && <4.21
82+
base >=4.12.0.0 && <4.22
8283
, bytestring >=0.10.8.2 && <0.13
8384
, containers >=0.6.0.1 && <0.8
8485
, template-haskell >=2.14.0.0 && <2.23

0 commit comments

Comments
 (0)