Skip to content

Commit a3d7572

Browse files
authored
Merge pull request #88 from andreasabel/ghc-9.8
Bump deepseq, primitive, text, and CI for GHC 9.8
2 parents 4a3db53 + c1bb620 commit a3d7572

3 files changed

Lines changed: 55 additions & 71 deletions

File tree

.github/workflows/haskell-ci.yml

Lines changed: 23 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -6,42 +6,45 @@
66
#
77
# haskell-ci regenerate
88
#
9-
# For more information, see https://github.com/haskell-CI/haskell-ci
9+
# For more information, see https://github.com/andreasabel/haskell-ci
1010
#
11-
# version: 0.16.4
11+
# version: 0.17.20231010
1212
#
13-
# REGENDATA ("0.16.4",["github","io-streams.cabal"])
13+
# REGENDATA ("0.17.20231010",["github","io-streams.cabal"])
1414
#
1515
name: Haskell-CI
1616
on:
1717
push:
1818
branches:
1919
- master
20-
- ci*
2120
pull_request:
2221
branches:
2322
- master
24-
- ci*
2523
jobs:
2624
linux:
2725
name: Haskell-CI - Linux - ${{ matrix.compiler }}
2826
runs-on: ubuntu-20.04
2927
timeout-minutes:
3028
60
3129
container:
32-
image: buildpack-deps:bionic
30+
image: buildpack-deps:focal
3331
continue-on-error: ${{ matrix.allow-failure }}
3432
strategy:
3533
matrix:
3634
include:
37-
- compiler: ghc-9.6.2
35+
- compiler: ghc-9.8.1
3836
compilerKind: ghc
39-
compilerVersion: 9.6.2
37+
compilerVersion: 9.8.1
4038
setup-method: ghcup
4139
allow-failure: false
42-
- compiler: ghc-9.4.5
40+
- compiler: ghc-9.6.3
4341
compilerKind: ghc
44-
compilerVersion: 9.4.5
42+
compilerVersion: 9.6.3
43+
setup-method: ghcup
44+
allow-failure: false
45+
- compiler: ghc-9.4.7
46+
compilerKind: ghc
47+
compilerVersion: 9.4.7
4548
setup-method: ghcup
4649
allow-failure: false
4750
- compiler: ghc-9.2.8
@@ -89,21 +92,6 @@ jobs:
8992
compilerVersion: 7.10.3
9093
setup-method: hvr-ppa
9194
allow-failure: false
92-
- compiler: ghc-7.8.4
93-
compilerKind: ghc
94-
compilerVersion: 7.8.4
95-
setup-method: hvr-ppa
96-
allow-failure: false
97-
- compiler: ghc-7.6.3
98-
compilerKind: ghc
99-
compilerVersion: 7.6.3
100-
setup-method: hvr-ppa
101-
allow-failure: false
102-
- compiler: ghc-7.4.2
103-
compilerKind: ghc
104-
compilerVersion: 7.4.2
105-
setup-method: hvr-ppa
106-
allow-failure: false
10795
fail-fast: false
10896
steps:
10997
- name: apt
@@ -112,17 +100,19 @@ jobs:
112100
apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5
113101
if [ "${{ matrix.setup-method }}" = ghcup ]; then
114102
mkdir -p "$HOME/.ghcup/bin"
115-
curl -sL https://downloads.haskell.org/ghcup/0.1.19.2/x86_64-linux-ghcup-0.1.19.2 > "$HOME/.ghcup/bin/ghcup"
103+
curl -sL https://downloads.haskell.org/ghcup/0.1.19.5/x86_64-linux-ghcup-0.1.19.5 > "$HOME/.ghcup/bin/ghcup"
116104
chmod a+x "$HOME/.ghcup/bin/ghcup"
105+
"$HOME/.ghcup/bin/ghcup" config add-release-channel https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-prereleases-0.0.7.yaml;
117106
"$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
118107
"$HOME/.ghcup/bin/ghcup" install cabal 3.10.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
119108
else
120109
apt-add-repository -y 'ppa:hvr/ghc'
121110
apt-get update
122111
apt-get install -y "$HCNAME"
123112
mkdir -p "$HOME/.ghcup/bin"
124-
curl -sL https://downloads.haskell.org/ghcup/0.1.19.2/x86_64-linux-ghcup-0.1.19.2 > "$HOME/.ghcup/bin/ghcup"
113+
curl -sL https://downloads.haskell.org/ghcup/0.1.19.5/x86_64-linux-ghcup-0.1.19.5 > "$HOME/.ghcup/bin/ghcup"
125114
chmod a+x "$HOME/.ghcup/bin/ghcup"
115+
"$HOME/.ghcup/bin/ghcup" config add-release-channel https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-prereleases-0.0.7.yaml;
126116
"$HOME/.ghcup/bin/ghcup" install cabal 3.10.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
127117
fi
128118
env:
@@ -137,10 +127,12 @@ jobs:
137127
echo "CABAL_CONFIG=$HOME/.cabal/config" >> "$GITHUB_ENV"
138128
HCDIR=/opt/$HCKIND/$HCVER
139129
if [ "${{ matrix.setup-method }}" = ghcup ]; then
140-
HC=$HOME/.ghcup/bin/$HCKIND-$HCVER
130+
HC=$("$HOME/.ghcup/bin/ghcup" whereis ghc "$HCVER")
131+
HCPKG=$(echo "$HC" | sed 's#ghc$#ghc-pkg#')
132+
HADDOCK=$(echo "$HC" | sed 's#ghc$#haddock#')
141133
echo "HC=$HC" >> "$GITHUB_ENV"
142-
echo "HCPKG=$HOME/.ghcup/bin/$HCKIND-pkg-$HCVER" >> "$GITHUB_ENV"
143-
echo "HADDOCK=$HOME/.ghcup/bin/haddock-$HCVER" >> "$GITHUB_ENV"
134+
echo "HCPKG=$HCPKG" >> "$GITHUB_ENV"
135+
echo "HADDOCK=$HADDOCK" >> "$GITHUB_ENV"
144136
echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.1.0 -vnormal+nowrap" >> "$GITHUB_ENV"
145137
else
146138
HC=$HCDIR/bin/$HCKIND
@@ -206,7 +198,7 @@ jobs:
206198
chmod a+x $HOME/.cabal/bin/cabal-plan
207199
cabal-plan --version
208200
- name: checkout
209-
uses: actions/checkout@v3
201+
uses: actions/checkout@v4
210202
with:
211203
path: source
212204
- name: initial cabal.project for sdist
@@ -233,7 +225,6 @@ jobs:
233225
if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo "package io-streams" >> cabal.project ; fi
234226
if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo " ghc-options: -Werror=missing-methods" >> cabal.project ; fi
235227
cat >> cabal.project <<EOF
236-
allow-newer: bytestring
237228
EOF
238229
$HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: $_ installed\n" unless /^(io-streams)$/; }' >> cabal.project.local
239230
cat cabal.project
@@ -272,14 +263,6 @@ jobs:
272263
run: |
273264
rm -f cabal.project.local
274265
$CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks all
275-
- name: prepare for constraint sets
276-
run: |
277-
rm -f cabal.project.local
278-
- name: constraint set bytestring-0.12
279-
run: |
280-
if [ $((HCNUMVER >= 80000)) -ne 0 ] ; then $CABAL v2-build $ARG_COMPILER --enable-tests --disable-benchmarks --constraint='bytestring >= 0.12' --dependencies-only -j2 all ; fi
281-
if [ $((HCNUMVER >= 80000)) -ne 0 ] ; then $CABAL v2-build $ARG_COMPILER --enable-tests --disable-benchmarks --constraint='bytestring >= 0.12' all ; fi
282-
if [ $((HCNUMVER >= 80000)) -ne 0 ] ; then $CABAL v2-test $ARG_COMPILER --enable-tests --disable-benchmarks --constraint='bytestring >= 0.12' all ; fi
283266
- name: save cache
284267
uses: actions/cache/save@v3
285268
if: always()

cabal.haskell-ci

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
1-
branches: master ci*
1+
branches: master
22

3-
constraint-set bytestring-0.12
4-
-- bytestring-0.12 requires base >=4.9 (GHC 8.0)
5-
ghc: >= 8.0
6-
constraints: bytestring >= 0.12
7-
--
8-
-- The following is silently ignored here:
9-
--
10-
-- raw-project
11-
-- allow-newer: bytestring
12-
--
13-
tests: True
14-
run-tests: True
15-
16-
-- The following is meant to be for constraint-set bytestring-0.12 only,
17-
-- but there is currently no way to enable `allow-newer: bytestring`
18-
-- just for the constraint set.
19-
--
20-
-- Since core library `bytestring` is constrained to `installed`,
21-
-- it is not harmful to allow newer `bytestring` in the default runs
22-
-- as well---it will have no effect there.
3+
-- constraint-set bytestring-0.12
4+
-- -- bytestring-0.12 requires base >=4.9 (GHC 8.0)
5+
-- ghc: >= 8.0
6+
-- constraints: bytestring >= 0.12
7+
-- --
8+
-- -- The following is silently ignored here:
9+
-- --
10+
-- -- raw-project
11+
-- -- allow-newer: bytestring
12+
-- --
13+
-- tests: True
14+
-- run-tests: True
2315
--
24-
raw-project
25-
allow-newer: bytestring
16+
-- -- The following is meant to be for constraint-set bytestring-0.12 only,
17+
-- -- but there is currently no way to enable `allow-newer: bytestring`
18+
-- -- just for the constraint set.
19+
-- --
20+
-- -- Since core library `bytestring` is constrained to `installed`,
21+
-- -- it is not harmful to allow newer `bytestring` in the default runs
22+
-- -- as well---it will have no effect there.
23+
-- --
24+
-- raw-project
25+
-- allow-newer: bytestring

io-streams.cabal

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,9 @@ Maintainer: Gregory Collins <greg@gregorycollins.net>
88
Cabal-version: >= 1.10
99
Synopsis: Simple, composable, and easy-to-use stream I/O
1010
Tested-With:
11-
GHc == 9.6.2
12-
GHC == 9.4.5
11+
GHc == 9.8.1
12+
GHc == 9.6.3
13+
GHC == 9.4.7
1314
GHC == 9.2.8
1415
GHC == 9.0.2
1516
GHC == 8.10.7
@@ -19,9 +20,9 @@ Tested-With:
1920
GHC == 8.2.2
2021
GHC == 8.0.2
2122
GHC == 7.10.3
22-
GHC == 7.8.4
23-
GHC == 7.6.3
24-
GHC == 7.4.2
23+
-- GHC == 7.8.4
24+
-- GHC == 7.6.3
25+
-- GHC == 7.4.2
2526

2627
Bug-Reports: https://github.com/snapframework/io-streams/issues
2728
Description:
@@ -142,9 +143,9 @@ Library
142143
Build-depends: base >= 4 && <5,
143144
attoparsec >= 0.10 && <0.15,
144145
bytestring >= 0.9 && <0.13,
145-
primitive >= 0.2 && <0.9,
146+
primitive >= 0.2 && <0.10,
146147
process >= 1.1 && <1.7,
147-
text >=0.10 && <1.3 || >= 2.0 && <2.1,
148+
text >=0.10 && <1.3 || >= 2.0 && <2.2,
148149
time >= 1.2 && <1.13,
149150
transformers >= 0.2 && <0.7,
150151
vector >= 0.7 && <0.14
@@ -244,7 +245,7 @@ Test-suite testsuite
244245
Build-depends: base,
245246
attoparsec,
246247
bytestring,
247-
deepseq >= 1.2 && <1.5,
248+
deepseq >= 1.2 && <1.6,
248249
directory >= 1.1 && <2,
249250
filepath >= 1.2 && <2,
250251
mtl >= 2 && <3,

0 commit comments

Comments
 (0)