Skip to content

Commit 123623c

Browse files
committed
Support GHC-9.12
1 parent c194ce0 commit 123623c

File tree

2 files changed

+40
-28
lines changed

2 files changed

+40
-28
lines changed

.github/workflows/haskell-ci.yml

Lines changed: 33 additions & 22 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.20240513
11+
# version: 0.19.20241220
1212
#
13-
# REGENDATA ("0.19.20240513",["github","cabal.project"])
13+
# REGENDATA ("0.19.20241220",["github","cabal.project"])
1414
#
1515
name: Haskell-CI
1616
on:
@@ -34,19 +34,24 @@ jobs:
3434
strategy:
3535
matrix:
3636
include:
37+
- compiler: ghc-9.12.1
38+
compilerKind: ghc
39+
compilerVersion: 9.12.1
40+
setup-method: ghcup
41+
allow-failure: false
3742
- compiler: ghc-9.10.1
3843
compilerKind: ghc
3944
compilerVersion: 9.10.1
4045
setup-method: ghcup
4146
allow-failure: false
42-
- compiler: ghc-9.8.2
47+
- compiler: ghc-9.8.4
4348
compilerKind: ghc
44-
compilerVersion: 9.8.2
49+
compilerVersion: 9.8.4
4550
setup-method: ghcup
4651
allow-failure: false
47-
- compiler: ghc-9.6.5
52+
- compiler: ghc-9.6.6
4853
compilerKind: ghc
49-
compilerVersion: 9.6.5
54+
compilerVersion: 9.6.6
5055
setup-method: ghcup
5156
allow-failure: false
5257
- compiler: ghc-9.4.8
@@ -81,15 +86,30 @@ jobs:
8186
allow-failure: false
8287
fail-fast: false
8388
steps:
84-
- name: apt
89+
- name: apt-get install
8590
run: |
8691
apt-get update
8792
apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5
93+
- name: Install GHCup
94+
run: |
8895
mkdir -p "$HOME/.ghcup/bin"
89-
curl -sL https://downloads.haskell.org/ghcup/0.1.20.0/x86_64-linux-ghcup-0.1.20.0 > "$HOME/.ghcup/bin/ghcup"
96+
curl -sL https://downloads.haskell.org/ghcup/0.1.30.0/x86_64-linux-ghcup-0.1.30.0 > "$HOME/.ghcup/bin/ghcup"
9097
chmod a+x "$HOME/.ghcup/bin/ghcup"
98+
- name: Install cabal-install (prerelease)
99+
run: |
100+
"$HOME/.ghcup/bin/ghcup" config add-release-channel https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-prereleases-0.0.8.yaml;
101+
"$HOME/.ghcup/bin/ghcup" install cabal 3.15.0.0.2024.10.3 || (cat "$HOME"/.ghcup/logs/*.* && false)
102+
echo "CABAL=$HOME/.ghcup/bin/cabal-3.15.0.0.2024.10.3 -vnormal+nowrap" >> "$GITHUB_ENV"
103+
- name: Install GHC (GHCup)
104+
if: matrix.setup-method == 'ghcup'
105+
run: |
91106
"$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
92-
"$HOME/.ghcup/bin/ghcup" install cabal 3.10.2.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
107+
HC=$("$HOME/.ghcup/bin/ghcup" whereis ghc "$HCVER")
108+
HCPKG=$(echo "$HC" | sed 's#ghc$#ghc-pkg#')
109+
HADDOCK=$(echo "$HC" | sed 's#ghc$#haddock#')
110+
echo "HC=$HC" >> "$GITHUB_ENV"
111+
echo "HCPKG=$HCPKG" >> "$GITHUB_ENV"
112+
echo "HADDOCK=$HADDOCK" >> "$GITHUB_ENV"
93113
env:
94114
HCKIND: ${{ matrix.compilerKind }}
95115
HCNAME: ${{ matrix.compiler }}
@@ -100,21 +120,12 @@ jobs:
100120
echo "LANG=C.UTF-8" >> "$GITHUB_ENV"
101121
echo "CABAL_DIR=$HOME/.cabal" >> "$GITHUB_ENV"
102122
echo "CABAL_CONFIG=$HOME/.cabal/config" >> "$GITHUB_ENV"
103-
HCDIR=/opt/$HCKIND/$HCVER
104-
HC=$("$HOME/.ghcup/bin/ghcup" whereis ghc "$HCVER")
105-
HCPKG=$(echo "$HC" | sed 's#ghc$#ghc-pkg#')
106-
HADDOCK=$(echo "$HC" | sed 's#ghc$#haddock#')
107-
echo "HC=$HC" >> "$GITHUB_ENV"
108-
echo "HCPKG=$HCPKG" >> "$GITHUB_ENV"
109-
echo "HADDOCK=$HADDOCK" >> "$GITHUB_ENV"
110-
echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.2.0 -vnormal+nowrap" >> "$GITHUB_ENV"
111123
HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')
112124
echo "HCNUMVER=$HCNUMVER" >> "$GITHUB_ENV"
113125
echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV"
114126
echo "ARG_BENCH=--disable-benchmarks" >> "$GITHUB_ENV"
115127
echo "HEADHACKAGE=false" >> "$GITHUB_ENV"
116128
echo "ARG_COMPILER=--$HCKIND --with-compiler=$HC" >> "$GITHUB_ENV"
117-
echo "GHCJSARITH=0" >> "$GITHUB_ENV"
118129
env:
119130
HCKIND: ${{ matrix.compilerKind }}
120131
HCNAME: ${{ matrix.compiler }}
@@ -166,8 +177,8 @@ jobs:
166177
- name: install cabal-docspec
167178
run: |
168179
mkdir -p $HOME/.cabal/bin
169-
curl -sL https://github.com/phadej/cabal-extras/releases/download/cabal-docspec-0.0.0.20240414/cabal-docspec-0.0.0.20240414-x86_64-linux.xz > cabal-docspec.xz
170-
echo '2d18a3f79619e8ec5f11870f926f6dc2616e02a6c889315b7f82044b95a1adb9 cabal-docspec.xz' | sha256sum -c -
180+
curl -sL https://github.com/phadej/cabal-extras/releases/download/cabal-docspec-0.0.0.20240703/cabal-docspec-0.0.0.20240703-x86_64-linux.xz > cabal-docspec.xz
181+
echo '48bf3b7fd2f7f0caa6162afee57a755be8523e7f467b694900eb420f5f9a7b76 cabal-docspec.xz' | sha256sum -c -
171182
xz -d < cabal-docspec.xz > $HOME/.cabal/bin/cabal-docspec
172183
rm -f cabal-docspec.xz
173184
chmod a+x $HOME/.cabal/bin/cabal-docspec
@@ -201,7 +212,7 @@ jobs:
201212
echo " ghc-options: -Werror=missing-methods" >> cabal.project
202213
cat >> cabal.project <<EOF
203214
EOF
204-
$HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: $_ installed\n" unless /^(scientific)$/; }' >> cabal.project.local
215+
$HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: any.$_ installed\n" unless /^(scientific)$/; }' >> cabal.project.local
205216
cat cabal.project
206217
cat cabal.project.local
207218
- name: dump install plan
@@ -243,8 +254,8 @@ jobs:
243254
rm -f cabal.project.local
244255
$CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks all
245256
- name: save cache
246-
uses: actions/cache/save@v4
247257
if: always()
258+
uses: actions/cache/save@v4
248259
with:
249260
key: ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }}
250261
path: ~/.cabal/store

scientific.cabal

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: scientific
22
version: 0.3.8.0
3-
x-revision: 1
3+
x-revision: 2
44
synopsis: Numbers represented using scientific notation
55
description:
66
"Data.Scientific" provides the number type 'Scientific'. Scientific numbers are
@@ -50,13 +50,14 @@ tested-with:
5050
|| ==9.0.2
5151
|| ==9.2.8
5252
|| ==9.4.8
53-
|| ==9.6.5
54-
|| ==9.8.2
53+
|| ==9.6.6
54+
|| ==9.8.4
5555
|| ==9.10.1
56+
|| ==9.12.1
5657

5758
source-repository head
5859
type: git
59-
location: git://github.com/basvandijk/scientific.git
60+
location: https://github.com/basvandijk/scientific.git
6061

6162
flag integer-simple
6263
description: Use the integer-simple package instead of integer-gmp
@@ -79,15 +80,15 @@ library
7980

8081
ghc-options: -Wall
8182
build-depends:
82-
base >=4.5 && <4.21
83+
base >=4.5 && <4.22
8384
, binary >=0.8.6.0 && <0.9
8485
, bytestring >=0.10.8.2 && <0.13
8586
, containers >=0.6.0.1 && <0.8
8687
, deepseq >=1.4.4.0 && <1.6
8788
, hashable >=1.4.4.0 && <1.6
8889
, integer-logarithms >=1.0.3.1 && <1.1
8990
, primitive >=0.9.0.0 && <0.10
90-
, template-haskell >=2.14.0.0 && <2.23
91+
, template-haskell >=2.14.0.0 && <2.24
9192
, text >=1.2.3.0 && <1.3 || >=2.0 && <2.2
9293

9394
if impl(ghc >=9.0)

0 commit comments

Comments
 (0)