Skip to content

Commit a3cc26a

Browse files
andreasabelkonsumlamm
authored andcommitted
v3.2.2.0 revision 7: allow base-4.19, deepseq-1.5, containers-0.7
1 parent 84a0280 commit a3cc26a

File tree

3 files changed

+169
-56
lines changed

3 files changed

+169
-56
lines changed

.github/workflows/haskell-ci.yml

Lines changed: 137 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -6,87 +6,153 @@
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.12.1
11+
# version: 0.17.20230928
1212
#
13-
# REGENDATA ("0.12.1",["github","parallel.cabal"])
13+
# REGENDATA ("0.17.20230928",["github","parallel.cabal"])
1414
#
1515
name: Haskell-CI
1616
on:
17-
- push
18-
- pull_request
17+
push:
18+
branches:
19+
- master
20+
pull_request:
21+
branches:
22+
- master
1923
jobs:
2024
linux:
2125
name: Haskell-CI - Linux - ${{ matrix.compiler }}
22-
runs-on: ubuntu-18.04
26+
runs-on: ubuntu-20.04
27+
timeout-minutes:
28+
60
2329
container:
24-
image: buildpack-deps:xenial
30+
image: buildpack-deps:focal
2531
continue-on-error: ${{ matrix.allow-failure }}
2632
strategy:
2733
matrix:
2834
include:
29-
- compiler: ghc-9.6.1
35+
- compiler: ghc-9.8.0.20230919
36+
compilerKind: ghc
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
43+
setup-method: ghcup
3044
allow-failure: false
31-
- compiler: ghc-9.0.1
45+
- compiler: ghc-9.4.7
46+
compilerKind: ghc
47+
compilerVersion: 9.4.7
48+
setup-method: ghcup
3249
allow-failure: false
33-
- compiler: ghc-8.10.4
50+
- compiler: ghc-9.2.8
51+
compilerKind: ghc
52+
compilerVersion: 9.2.8
53+
setup-method: ghcup
3454
allow-failure: false
35-
- compiler: ghc-8.8.3
55+
- compiler: ghc-9.0.2
56+
compilerKind: ghc
57+
compilerVersion: 9.0.2
58+
setup-method: ghcup
59+
allow-failure: false
60+
- compiler: ghc-8.10.7
61+
compilerKind: ghc
62+
compilerVersion: 8.10.7
63+
setup-method: ghcup
64+
allow-failure: false
65+
- compiler: ghc-8.8.4
66+
compilerKind: ghc
67+
compilerVersion: 8.8.4
68+
setup-method: hvr-ppa
3669
allow-failure: false
3770
- compiler: ghc-8.6.5
71+
compilerKind: ghc
72+
compilerVersion: 8.6.5
73+
setup-method: hvr-ppa
3874
allow-failure: false
3975
- compiler: ghc-8.4.4
76+
compilerKind: ghc
77+
compilerVersion: 8.4.4
78+
setup-method: hvr-ppa
4079
allow-failure: false
4180
- compiler: ghc-8.2.2
81+
compilerKind: ghc
82+
compilerVersion: 8.2.2
83+
setup-method: hvr-ppa
4284
allow-failure: false
4385
- compiler: ghc-8.0.2
86+
compilerKind: ghc
87+
compilerVersion: 8.0.2
88+
setup-method: hvr-ppa
4489
allow-failure: false
4590
- compiler: ghc-7.10.3
46-
allow-failure: false
47-
- compiler: ghc-7.8.4
48-
allow-failure: false
49-
- compiler: ghc-7.6.3
50-
allow-failure: false
51-
- compiler: ghc-7.4.2
52-
allow-failure: false
53-
- compiler: ghc-7.2.2
54-
allow-failure: false
55-
- compiler: ghc-7.0.4
91+
compilerKind: ghc
92+
compilerVersion: 7.10.3
93+
setup-method: hvr-ppa
5694
allow-failure: false
5795
fail-fast: false
5896
steps:
5997
- name: apt
6098
run: |
6199
apt-get update
62-
apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common
63-
apt-add-repository -y 'ppa:hvr/ghc'
64-
apt-get update
65-
apt-get install -y $CC cabal-install-3.4
100+
apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5
101+
if [ "${{ matrix.setup-method }}" = ghcup ]; then
102+
mkdir -p "$HOME/.ghcup/bin"
103+
curl -sL https://downloads.haskell.org/ghcup/0.1.19.5/x86_64-linux-ghcup-0.1.19.5 > "$HOME/.ghcup/bin/ghcup"
104+
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;
106+
"$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
107+
"$HOME/.ghcup/bin/ghcup" install cabal 3.10.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
108+
else
109+
apt-add-repository -y 'ppa:hvr/ghc'
110+
apt-get update
111+
apt-get install -y "$HCNAME"
112+
mkdir -p "$HOME/.ghcup/bin"
113+
curl -sL https://downloads.haskell.org/ghcup/0.1.19.5/x86_64-linux-ghcup-0.1.19.5 > "$HOME/.ghcup/bin/ghcup"
114+
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;
116+
"$HOME/.ghcup/bin/ghcup" install cabal 3.10.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
117+
fi
66118
env:
67-
CC: ${{ matrix.compiler }}
119+
HCKIND: ${{ matrix.compilerKind }}
120+
HCNAME: ${{ matrix.compiler }}
121+
HCVER: ${{ matrix.compilerVersion }}
68122
- name: Set PATH and environment variables
69123
run: |
70124
echo "$HOME/.cabal/bin" >> $GITHUB_PATH
71-
echo "LANG=C.UTF-8" >> $GITHUB_ENV
72-
echo "CABAL_DIR=$HOME/.cabal" >> $GITHUB_ENV
73-
echo "CABAL_CONFIG=$HOME/.cabal/config" >> $GITHUB_ENV
74-
HCDIR=$(echo "/opt/$CC" | sed 's/-/\//')
75-
HCNAME=ghc
76-
HC=$HCDIR/bin/$HCNAME
77-
echo "HC=$HC" >> $GITHUB_ENV
78-
echo "HCPKG=$HCDIR/bin/$HCNAME-pkg" >> $GITHUB_ENV
79-
echo "HADDOCK=$HCDIR/bin/haddock" >> $GITHUB_ENV
80-
echo "CABAL=/opt/cabal/3.4/bin/cabal -vnormal+nowrap" >> $GITHUB_ENV
125+
echo "LANG=C.UTF-8" >> "$GITHUB_ENV"
126+
echo "CABAL_DIR=$HOME/.cabal" >> "$GITHUB_ENV"
127+
echo "CABAL_CONFIG=$HOME/.cabal/config" >> "$GITHUB_ENV"
128+
HCDIR=/opt/$HCKIND/$HCVER
129+
if [ "${{ matrix.setup-method }}" = ghcup ]; then
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#')
133+
echo "HC=$HC" >> "$GITHUB_ENV"
134+
echo "HCPKG=$HCPKG" >> "$GITHUB_ENV"
135+
echo "HADDOCK=$HADDOCK" >> "$GITHUB_ENV"
136+
echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.1.0 -vnormal+nowrap" >> "$GITHUB_ENV"
137+
else
138+
HC=$HCDIR/bin/$HCKIND
139+
echo "HC=$HC" >> "$GITHUB_ENV"
140+
echo "HCPKG=$HCDIR/bin/$HCKIND-pkg" >> "$GITHUB_ENV"
141+
echo "HADDOCK=$HCDIR/bin/haddock" >> "$GITHUB_ENV"
142+
echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.1.0 -vnormal+nowrap" >> "$GITHUB_ENV"
143+
fi
144+
81145
HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')
82-
echo "HCNUMVER=$HCNUMVER" >> $GITHUB_ENV
83-
echo "ARG_TESTS=--enable-tests" >> $GITHUB_ENV
84-
echo "ARG_BENCH=--enable-benchmarks" >> $GITHUB_ENV
85-
if [ $((HCNUMVER > 90001)) -ne 0 ] ; then echo "HEADHACKAGE=true" >> $GITHUB_ENV ; else echo "HEADHACKAGE=false" >> $GITHUB_ENV ; fi
86-
echo "ARG_COMPILER=--$HCNAME --with-compiler=$HC" >> $GITHUB_ENV
87-
echo "GHCJSARITH=0" >> $GITHUB_ENV
146+
echo "HCNUMVER=$HCNUMVER" >> "$GITHUB_ENV"
147+
echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV"
148+
echo "ARG_BENCH=--enable-benchmarks" >> "$GITHUB_ENV"
149+
if [ $((HCNUMVER >= 90800)) -ne 0 ] ; then echo "HEADHACKAGE=true" >> "$GITHUB_ENV" ; else echo "HEADHACKAGE=false" >> "$GITHUB_ENV" ; fi
150+
echo "ARG_COMPILER=--$HCKIND --with-compiler=$HC" >> "$GITHUB_ENV"
151+
echo "GHCJSARITH=0" >> "$GITHUB_ENV"
88152
env:
89-
CC: ${{ matrix.compiler }}
153+
HCKIND: ${{ matrix.compilerKind }}
154+
HCNAME: ${{ matrix.compiler }}
155+
HCVER: ${{ matrix.compilerVersion }}
90156
- name: env
91157
run: |
92158
env
@@ -118,8 +184,13 @@ jobs:
118184
26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329
119185
f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89
120186
key-threshold: 3
187+
active-repositories: hackage.haskell.org, head.hackage.ghc.haskell.org:override
121188
EOF
122189
fi
190+
cat >> $CABAL_CONFIG <<EOF
191+
program-default-options
192+
ghc-options: $GHCJOBS +RTS -M3G -RTS
193+
EOF
123194
cat $CABAL_CONFIG
124195
- name: versions
125196
run: |
@@ -132,14 +203,14 @@ jobs:
132203
- name: install cabal-plan
133204
run: |
134205
mkdir -p $HOME/.cabal/bin
135-
curl -sL https://github.com/haskell-hvr/cabal-plan/releases/download/v0.6.2.0/cabal-plan-0.6.2.0-x86_64-linux.xz > cabal-plan.xz
136-
echo 'de73600b1836d3f55e32d80385acc055fd97f60eaa0ab68a755302685f5d81bc cabal-plan.xz' | sha256sum -c -
206+
curl -sL https://github.com/haskell-hvr/cabal-plan/releases/download/v0.7.3.0/cabal-plan-0.7.3.0-x86_64-linux.xz > cabal-plan.xz
207+
echo 'f62ccb2971567a5f638f2005ad3173dba14693a45154c1508645c52289714cb2 cabal-plan.xz' | sha256sum -c -
137208
xz -d < cabal-plan.xz > $HOME/.cabal/bin/cabal-plan
138209
rm -f cabal-plan.xz
139210
chmod a+x $HOME/.cabal/bin/cabal-plan
140211
cabal-plan --version
141212
- name: checkout
142-
uses: actions/checkout@v2
213+
uses: actions/checkout@v4
143214
with:
144215
path: source
145216
- name: initial cabal.project for sdist
@@ -158,7 +229,8 @@ jobs:
158229
- name: generate cabal.project
159230
run: |
160231
PKGDIR_parallel="$(find "$GITHUB_WORKSPACE/unpacked" -maxdepth 1 -type d -regex '.*/parallel-[0-9.]*')"
161-
echo "PKGDIR_parallel=${PKGDIR_parallel}" >> $GITHUB_ENV
232+
echo "PKGDIR_parallel=${PKGDIR_parallel}" >> "$GITHUB_ENV"
233+
rm -f cabal.project cabal.project.local
162234
touch cabal.project
163235
touch cabal.project.local
164236
echo "packages: ${PKGDIR_parallel}" >> cabal.project
@@ -176,8 +248,8 @@ jobs:
176248
run: |
177249
$CABAL v2-build $ARG_COMPILER $ARG_TESTS $ARG_BENCH --dry-run all
178250
cabal-plan
179-
- name: cache
180-
uses: actions/cache@v2
251+
- name: restore cache
252+
uses: actions/cache/restore@v3
181253
with:
182254
key: ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }}
183255
path: ~/.cabal/store
@@ -198,8 +270,23 @@ jobs:
198270
${CABAL} -vnormal check
199271
- name: haddock
200272
run: |
201-
$CABAL v2-haddock $ARG_COMPILER --with-haddock $HADDOCK $ARG_TESTS $ARG_BENCH all
273+
$CABAL v2-haddock --disable-documentation --haddock-all $ARG_COMPILER --with-haddock $HADDOCK $ARG_TESTS $ARG_BENCH all
202274
- name: unconstrained build
203275
run: |
204276
rm -f cabal.project.local
205277
$CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks all
278+
- name: prepare for constraint sets
279+
run: |
280+
rm -f cabal.project.local
281+
- name: constraint set containers-0.7
282+
run: |
283+
if [ $((HCNUMVER >= 80200 && HCNUMVER < 90800)) -ne 0 ] ; then $CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks --constraint='containers ^>= 0.7' all --dry-run ; fi
284+
if [ $((HCNUMVER >= 80200 && HCNUMVER < 90800)) -ne 0 ] ; then cabal-plan topo | sort ; fi
285+
if [ $((HCNUMVER >= 80200 && HCNUMVER < 90800)) -ne 0 ] ; then $CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks --constraint='containers ^>= 0.7' --dependencies-only -j2 all ; fi
286+
if [ $((HCNUMVER >= 80200 && HCNUMVER < 90800)) -ne 0 ] ; then $CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks --constraint='containers ^>= 0.7' all ; fi
287+
- name: save cache
288+
uses: actions/cache/save@v3
289+
if: always()
290+
with:
291+
key: ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }}
292+
path: ~/.cabal/store

cabal.haskell-ci

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,6 @@
1-
ghc-head: True
1+
branches: master
2+
3+
constraint-set containers-0.7
4+
ghc: >= 8.2 && < 9.7
5+
constraints: containers ^>= 0.7
6+
tests: False

parallel.cabal

Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
1+
cabal-version: >=1.10
12
name: parallel
23
version: 3.2.2.0
4+
x-revision: 7
35
-- NOTE: Don't forget to update ./changelog.md
46
license: BSD3
57
license-file: LICENSE
@@ -8,8 +10,27 @@ bug-reports: https://github.com/haskell/parallel/issues
810
synopsis: Parallel programming library
911
category: Control, Parallelism
1012
build-type: Simple
11-
cabal-version: >=1.10
12-
tested-with: GHC==9.6.1, GHC==9.0.1, GHC==8.10.4, GHC==8.8.3, GHC==8.6.5, GHC==8.4.4, GHC==8.2.2, GHC==8.0.2, GHC==7.10.3, GHC==7.8.4, GHC==7.6.3, GHC==7.4.2, GHC==7.2.2, GHC==7.0.4
13+
14+
tested-with:
15+
GHC == 9.8.0
16+
GHC == 9.6.3
17+
GHC == 9.4.7
18+
GHC == 9.2.8
19+
GHC == 9.0.2
20+
GHC == 8.10.7
21+
GHC == 8.8.4
22+
GHC == 8.6.5
23+
GHC == 8.4.4
24+
GHC == 8.2.2
25+
GHC == 8.0.2
26+
GHC == 7.10.3
27+
-- Drop these old GHCs from CI:
28+
-- GHC == 7.8.4
29+
-- GHC == 7.6.3
30+
-- GHC == 7.4.2
31+
-- GHC == 7.2.2
32+
-- GHC == 7.0.4
33+
1334
description:
1435
This package provides a library for parallel programming.
1536
.
@@ -43,9 +64,9 @@ library
4364

4465
build-depends:
4566
array >= 0.3 && < 0.6,
46-
base >= 4.3 && < 4.19,
47-
containers >= 0.4 && < 0.7,
48-
deepseq >= 1.1 && < 1.5
67+
base >= 4.3 && < 4.20,
68+
containers >= 0.4 && < 0.8,
69+
deepseq >= 1.1 && < 1.6
4970

5071
ghc-options: -Wall
5172

0 commit comments

Comments
 (0)