Skip to content

Commit c0ce867

Browse files
committed
v0.29-r4: allow containers-0.7 and text-2.1
The former is also tested by a constraint-set in CI. (The latter cannot atm because of aeson's incompatibility with text-2.1.)
1 parent 7ba0864 commit c0ce867

File tree

4 files changed

+70
-32
lines changed

4 files changed

+70
-32
lines changed

.github/workflows/haskell-ci.yml

Lines changed: 50 additions & 22 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.20230928
1212
#
13-
# REGENDATA ("0.16.4",["--config=cabal.haskell-ci","github","cabal.project"])
13+
# REGENDATA ("0.17.20230928",["--config=cabal.haskell-ci","github","cabal.project"])
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.0.20230919
3836
compilerKind: ghc
39-
compilerVersion: 9.6.2
37+
compilerVersion: 9.8.0.20230919
38+
setup-method: ghcup
39+
allow-failure: true
40+
- compiler: ghc-9.6.3
41+
compilerKind: ghc
42+
compilerVersion: 9.6.3
4043
setup-method: ghcup
4144
allow-failure: false
42-
- compiler: ghc-9.4.5
45+
- compiler: ghc-9.4.7
4346
compilerKind: ghc
44-
compilerVersion: 9.4.5
47+
compilerVersion: 9.4.7
4548
setup-method: ghcup
4649
allow-failure: false
4750
- compiler: ghc-9.2.8
@@ -89,11 +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
9795
fail-fast: false
9896
steps:
9997
- name: apt
@@ -102,17 +100,19 @@ jobs:
102100
apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5
103101
if [ "${{ matrix.setup-method }}" = ghcup ]; then
104102
mkdir -p "$HOME/.ghcup/bin"
105-
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"
106104
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;
107106
"$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
108107
"$HOME/.ghcup/bin/ghcup" install cabal 3.10.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
109108
else
110109
apt-add-repository -y 'ppa:hvr/ghc'
111110
apt-get update
112111
apt-get install -y "$HCNAME"
113112
mkdir -p "$HOME/.ghcup/bin"
114-
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"
115114
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;
116116
"$HOME/.ghcup/bin/ghcup" install cabal 3.10.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
117117
fi
118118
env:
@@ -127,10 +127,12 @@ jobs:
127127
echo "CABAL_CONFIG=$HOME/.cabal/config" >> "$GITHUB_ENV"
128128
HCDIR=/opt/$HCKIND/$HCVER
129129
if [ "${{ matrix.setup-method }}" = ghcup ]; then
130-
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#')
131133
echo "HC=$HC" >> "$GITHUB_ENV"
132-
echo "HCPKG=$HOME/.ghcup/bin/$HCKIND-pkg-$HCVER" >> "$GITHUB_ENV"
133-
echo "HADDOCK=$HOME/.ghcup/bin/haddock-$HCVER" >> "$GITHUB_ENV"
134+
echo "HCPKG=$HCPKG" >> "$GITHUB_ENV"
135+
echo "HADDOCK=$HADDOCK" >> "$GITHUB_ENV"
134136
echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.1.0 -vnormal+nowrap" >> "$GITHUB_ENV"
135137
else
136138
HC=$HCDIR/bin/$HCKIND
@@ -144,7 +146,7 @@ jobs:
144146
echo "HCNUMVER=$HCNUMVER" >> "$GITHUB_ENV"
145147
echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV"
146148
echo "ARG_BENCH=--enable-benchmarks" >> "$GITHUB_ENV"
147-
echo "HEADHACKAGE=false" >> "$GITHUB_ENV"
149+
if [ $((HCNUMVER >= 90800)) -ne 0 ] ; then echo "HEADHACKAGE=true" >> "$GITHUB_ENV" ; else echo "HEADHACKAGE=false" >> "$GITHUB_ENV" ; fi
148150
echo "ARG_COMPILER=--$HCKIND --with-compiler=$HC" >> "$GITHUB_ENV"
149151
echo "GHCJSARITH=0" >> "$GITHUB_ENV"
150152
env:
@@ -173,6 +175,18 @@ jobs:
173175
repository hackage.haskell.org
174176
url: http://hackage.haskell.org/
175177
EOF
178+
if $HEADHACKAGE; then
179+
cat >> $CABAL_CONFIG <<EOF
180+
repository head.hackage.ghc.haskell.org
181+
url: https://ghc.gitlab.haskell.org/head.hackage/
182+
secure: True
183+
root-keys: 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d
184+
26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329
185+
f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89
186+
key-threshold: 3
187+
active-repositories: hackage.haskell.org, head.hackage.ghc.haskell.org:override
188+
EOF
189+
fi
176190
cat >> $CABAL_CONFIG <<EOF
177191
program-default-options
178192
ghc-options: $GHCJOBS +RTS -M3G -RTS
@@ -196,7 +210,7 @@ jobs:
196210
chmod a+x $HOME/.cabal/bin/cabal-plan
197211
cabal-plan --version
198212
- name: checkout
199-
uses: actions/checkout@v3
213+
uses: actions/checkout@v4
200214
with:
201215
path: source
202216
- name: initial cabal.project for sdist
@@ -233,7 +247,11 @@ jobs:
233247
constraints: github-samples +openssl
234248
constraints: operational -buildExamples
235249
optimization: False
250+
allow-newer: containers
236251
EOF
252+
if $HEADHACKAGE; then
253+
echo "allow-newer: $($HCPKG list --simple-output | sed -E 's/([a-zA-Z-]+)-[0-9.]+/*:\1,/g')" >> cabal.project
254+
fi
237255
$HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: $_ installed\n" unless /^(github|github-samples)$/; }' >> cabal.project.local
238256
cat cabal.project
239257
cat cabal.project.local
@@ -273,6 +291,16 @@ jobs:
273291
run: |
274292
rm -f cabal.project.local
275293
$CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks all
294+
- name: prepare for constraint sets
295+
run: |
296+
rm -f cabal.project.local
297+
- name: constraint set containers-0.7
298+
run: |
299+
if [ $((HCNUMVER >= 90000)) -ne 0 ] ; then $CABAL v2-build $ARG_COMPILER --enable-tests --disable-benchmarks --constraint='containers >= 0.7' all --dry-run ; fi
300+
if [ $((HCNUMVER >= 90000)) -ne 0 ] ; then cabal-plan topo | sort ; fi
301+
if [ $((HCNUMVER >= 90000)) -ne 0 ] ; then $CABAL v2-build $ARG_COMPILER --enable-tests --disable-benchmarks --constraint='containers >= 0.7' --dependencies-only -j2 all ; fi
302+
if [ $((HCNUMVER >= 90000)) -ne 0 ] ; then $CABAL v2-build $ARG_COMPILER --enable-tests --disable-benchmarks --constraint='containers >= 0.7' all ; fi
303+
if [ $((HCNUMVER >= 90000)) -ne 0 ] ; then $CABAL v2-test $ARG_COMPILER --enable-tests --disable-benchmarks --constraint='containers >= 0.7' all ; fi
276304
- name: save cache
277305
uses: actions/cache/save@v3
278306
if: always()

cabal.haskell-ci

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
branches: master ci*
1+
branches: master
22
haddock: >=8.6
33
-- See PR #355: haddocks for GADT constructor arguments only supported from GHC 8.6
44
jobs-selection: any
@@ -10,4 +10,13 @@ jobs-selection: any
1010

1111
-- constraint-set text-2.0
1212
-- constraints: text >= 2.0
13-
-- allow-newer: *:text -- allow-newer not supported
13+
-- allow-newer: *:text -- allow-newer not supported
14+
15+
constraint-set containers-0.7
16+
ghc: >= 9
17+
constraints: containers >= 0.7
18+
tests: True
19+
run-tests: True
20+
21+
raw-project
22+
allow-newer: containers

github.cabal

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
cabal-version: 2.4
22
name: github
33
version: 0.29
4-
x-revision: 3
4+
x-revision: 4
55
synopsis: Access to the GitHub API, v3.
66
category: Network
77
description:
@@ -31,8 +31,9 @@ copyright:
3131
Copyright 2012-2013 Mike Burns, Copyright 2013-2015 John Wiegley, Copyright 2016-2021 Oleg Grenrus
3232

3333
tested-with:
34-
GHC == 9.6.2
35-
GHC == 9.4.5
34+
GHC == 9.8.0
35+
GHC == 9.6.3
36+
GHC == 9.4.7
3637
GHC == 9.2.8
3738
GHC == 9.0.2
3839
GHC == 8.10.7
@@ -42,7 +43,6 @@ tested-with:
4243
GHC == 8.2.2
4344
GHC == 8.0.2
4445
GHC == 7.10.3
45-
GHC == 7.8.4
4646

4747
extra-doc-files:
4848
README.md
@@ -189,11 +189,11 @@ library
189189
base >=4.7 && <5
190190
, binary >=0.7.1.0 && <0.11
191191
, bytestring >=0.10.4.0 && <0.13
192-
, containers >=0.5.5.1 && <0.7
192+
, containers >=0.5.5.1 && <0.8
193193
, deepseq >=1.3.0.2 && <1.6
194194
, exceptions >=0.10.2 && <0.11
195195
, mtl >=2.1.3.1 && <2.2 || >=2.2.1 && <2.4
196-
, text >=1.2.0.6 && <2.1
196+
, text >=1.2.0.6 && <2.2
197197
, time-compat >=1.9.2.2 && <1.10
198198
, transformers >=0.3.0.0 && <0.7
199199

samples/github-samples.cabal

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,9 @@ description: Various samples of github package
1010
build-type: Simple
1111

1212
tested-with:
13-
GHC == 9.6.2
14-
GHC == 9.4.5
13+
GHC == 9.8.0
14+
GHC == 9.6.3
15+
GHC == 9.4.7
1516
GHC == 9.2.8
1617
GHC == 9.0.2
1718
GHC == 8.10.7

0 commit comments

Comments
 (0)