Skip to content

Commit 7255eb0

Browse files
andreasabelfacebook-github-bot
authored andcommitted
Bump dependencies and CI (#158)
Summary: - include latest GHCs in CI - ~~latest minor version is determined by haskell-actions/setup~~ - ~~freeze file is a bad cache key as it contains a time stamp, use the build plan instead (the correct choice)~~ ~~Successful CI run at: https://github.com/andreasabel/Haxl/actions/runs/6725224644~~ CI running here: andreasabel#1 Pull Request resolved: #158 Reviewed By: simonmar Differential Revision: D66102814 Pulled By: josefs fbshipit-source-id: a31dbf74b7086d909c2a2c1508a749341cde11c0
1 parent fb2cabb commit 7255eb0

File tree

2 files changed

+75
-61
lines changed

2 files changed

+75
-61
lines changed

.github/workflows/haskell-ci.yml

+50-48
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@
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.18.1
11+
# version: 0.19.20241111
1212
#
13-
# REGENDATA ("0.18.1",["--no-cabal-check","github","haxl.cabal"])
13+
# REGENDATA ("0.19.20241111",["--no-cabal-check","github","haxl.cabal"])
1414
#
1515
name: Haskell-CI
1616
on:
@@ -23,20 +23,40 @@ jobs:
2323
timeout-minutes:
2424
60
2525
container:
26-
image: buildpack-deps:bionic
26+
image: buildpack-deps:jammy
2727
continue-on-error: ${{ matrix.allow-failure }}
2828
strategy:
2929
matrix:
3030
include:
31-
- compiler: ghc-9.2.2
31+
- compiler: ghc-9.10.1
3232
compilerKind: ghc
33-
compilerVersion: 9.2.2
33+
compilerVersion: 9.10.1
3434
setup-method: ghcup
3535
allow-failure: false
36-
- compiler: ghc-9.0.1
36+
- compiler: ghc-9.8.2
3737
compilerKind: ghc
38-
compilerVersion: 9.0.1
39-
setup-method: hvr-ppa
38+
compilerVersion: 9.8.2
39+
setup-method: ghcup
40+
allow-failure: false
41+
- compiler: ghc-9.6.6
42+
compilerKind: ghc
43+
compilerVersion: 9.6.6
44+
setup-method: ghcup
45+
allow-failure: false
46+
- compiler: ghc-9.4.8
47+
compilerKind: ghc
48+
compilerVersion: 9.4.8
49+
setup-method: ghcup
50+
allow-failure: false
51+
- compiler: ghc-9.2.8
52+
compilerKind: ghc
53+
compilerVersion: 9.2.8
54+
setup-method: ghcup
55+
allow-failure: false
56+
- compiler: ghc-9.0.2
57+
compilerKind: ghc
58+
compilerVersion: 9.0.2
59+
setup-method: ghcup
4060
allow-failure: false
4161
- compiler: ghc-8.10.7
4262
compilerKind: ghc
@@ -46,39 +66,30 @@ jobs:
4666
- compiler: ghc-8.8.4
4767
compilerKind: ghc
4868
compilerVersion: 8.8.4
49-
setup-method: hvr-ppa
69+
setup-method: ghcup
5070
allow-failure: false
5171
- compiler: ghc-8.6.5
5272
compilerKind: ghc
5373
compilerVersion: 8.6.5
54-
setup-method: hvr-ppa
74+
setup-method: ghcup
5575
allow-failure: false
5676
- compiler: ghc-8.4.4
5777
compilerKind: ghc
5878
compilerVersion: 8.4.4
59-
setup-method: hvr-ppa
79+
setup-method: ghcup
6080
allow-failure: false
6181
fail-fast: false
6282
steps:
6383
- name: apt
6484
run: |
6585
apt-get update
66-
apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5
67-
if [ "${{ matrix.setup-method }}" = ghcup ]; then
68-
mkdir -p "$HOME/.ghcup/bin"
69-
curl -sL https://downloads.haskell.org/ghcup/0.1.20.0/x86_64-linux-ghcup-0.1.20.0 > "$HOME/.ghcup/bin/ghcup"
70-
chmod a+x "$HOME/.ghcup/bin/ghcup"
71-
"$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
72-
"$HOME/.ghcup/bin/ghcup" install cabal 3.10.2.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
73-
else
74-
apt-add-repository -y 'ppa:hvr/ghc'
75-
apt-get update
76-
apt-get install -y "$HCNAME"
77-
mkdir -p "$HOME/.ghcup/bin"
78-
curl -sL https://downloads.haskell.org/ghcup/0.1.20.0/x86_64-linux-ghcup-0.1.20.0 > "$HOME/.ghcup/bin/ghcup"
79-
chmod a+x "$HOME/.ghcup/bin/ghcup"
80-
"$HOME/.ghcup/bin/ghcup" install cabal 3.10.2.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
81-
fi
86+
apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5 libnuma-dev
87+
mkdir -p "$HOME/.ghcup/bin"
88+
curl -sL https://downloads.haskell.org/ghcup/0.1.30.0/x86_64-linux-ghcup-0.1.30.0 > "$HOME/.ghcup/bin/ghcup"
89+
chmod a+x "$HOME/.ghcup/bin/ghcup"
90+
"$HOME/.ghcup/bin/ghcup" config add-release-channel https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-prereleases-0.0.8.yaml;
91+
"$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
92+
"$HOME/.ghcup/bin/ghcup" install cabal 3.12.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
8293
env:
8394
HCKIND: ${{ matrix.compilerKind }}
8495
HCNAME: ${{ matrix.compiler }}
@@ -90,22 +101,13 @@ jobs:
90101
echo "CABAL_DIR=$HOME/.cabal" >> "$GITHUB_ENV"
91102
echo "CABAL_CONFIG=$HOME/.cabal/config" >> "$GITHUB_ENV"
92103
HCDIR=/opt/$HCKIND/$HCVER
93-
if [ "${{ matrix.setup-method }}" = ghcup ]; then
94-
HC=$("$HOME/.ghcup/bin/ghcup" whereis ghc "$HCVER")
95-
HCPKG=$(echo "$HC" | sed 's#ghc$#ghc-pkg#')
96-
HADDOCK=$(echo "$HC" | sed 's#ghc$#haddock#')
97-
echo "HC=$HC" >> "$GITHUB_ENV"
98-
echo "HCPKG=$HCPKG" >> "$GITHUB_ENV"
99-
echo "HADDOCK=$HADDOCK" >> "$GITHUB_ENV"
100-
echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.2.0 -vnormal+nowrap" >> "$GITHUB_ENV"
101-
else
102-
HC=$HCDIR/bin/$HCKIND
103-
echo "HC=$HC" >> "$GITHUB_ENV"
104-
echo "HCPKG=$HCDIR/bin/$HCKIND-pkg" >> "$GITHUB_ENV"
105-
echo "HADDOCK=$HCDIR/bin/haddock" >> "$GITHUB_ENV"
106-
echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.2.0 -vnormal+nowrap" >> "$GITHUB_ENV"
107-
fi
108-
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.12.1.0 -vnormal+nowrap" >> "$GITHUB_ENV"
109111
HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')
110112
echo "HCNUMVER=$HCNUMVER" >> "$GITHUB_ENV"
111113
echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV"
@@ -162,7 +164,7 @@ jobs:
162164
chmod a+x $HOME/.cabal/bin/cabal-plan
163165
cabal-plan --version
164166
- name: checkout
165-
uses: actions/checkout@v3
167+
uses: actions/checkout@v4
166168
with:
167169
path: source
168170
- name: initial cabal.project for sdist
@@ -190,15 +192,15 @@ jobs:
190192
echo " ghc-options: -Werror=missing-methods" >> cabal.project
191193
cat >> cabal.project <<EOF
192194
EOF
193-
$HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: $_ installed\n" unless /^(haxl)$/; }' >> cabal.project.local
195+
$HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: any.$_ installed\n" unless /^(haxl)$/; }' >> cabal.project.local
194196
cat cabal.project
195197
cat cabal.project.local
196198
- name: dump install plan
197199
run: |
198200
$CABAL v2-build $ARG_COMPILER $ARG_TESTS $ARG_BENCH --dry-run all
199201
cabal-plan
200202
- name: restore cache
201-
uses: actions/cache/restore@v3
203+
uses: actions/cache/restore@v4
202204
with:
203205
key: ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }}
204206
path: ~/.cabal/store
@@ -224,7 +226,7 @@ jobs:
224226
rm -f cabal.project.local
225227
$CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks all
226228
- name: save cache
227-
uses: actions/cache/save@v3
229+
uses: actions/cache/save@v4
228230
if: always()
229231
with:
230232
key: ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }}

haxl.cabal

+25-13
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,16 @@ build-type: Simple
1414
stability: alpha
1515
cabal-version: >= 1.10
1616
tested-with:
17-
GHC==8.4.4,
18-
GHC==8.6.5,
19-
GHC==8.8.4,
17+
GHC==8.4.4
18+
GHC==8.6.5
19+
GHC==8.8.4
2020
GHC==8.10.7
21-
GHC==9.0.1
22-
GHC==9.2.2
21+
GHC==9.0.2
22+
GHC==9.2.8
23+
GHC==9.4.8
24+
GHC==9.6.6
25+
GHC==9.8.2
26+
GHC==9.10.1
2327

2428
description:
2529
Haxl is a library and EDSL for efficient scheduling of concurrent data
@@ -44,25 +48,25 @@ extra-source-files:
4448
library
4549

4650
build-depends:
47-
aeson >= 0.6 && < 2.1,
51+
aeson >= 0.6 && < 2.3,
4852
base >= 4.10 && < 5,
4953
binary >= 0.7 && < 0.10,
50-
bytestring >= 0.9 && < 0.12,
51-
containers >= 0.5 && < 0.7,
54+
bytestring >= 0.9 && < 0.13,
55+
containers >= 0.5 && < 0.8,
5256
deepseq,
5357
exceptions >=0.8 && <0.11,
54-
filepath >= 1.3 && < 1.5,
58+
filepath >= 1.3 && < 1.6,
5559
ghc-prim,
56-
hashable >= 1.2 && < 1.5,
60+
hashable >= 1.2 && < 1.6,
5761
hashtables >= 1.2.3.1,
5862
pretty == 1.1.*,
5963
-- text 1.2.1.0 required for instance Binary Text
60-
text >= 1.2.1.0 && < 1.3,
61-
time >= 1.4 && < 1.12,
64+
text >= 1.2.1.0 && < 1.3 || >= 2 && < 2.2,
65+
time >= 1.4 && < 1.13,
6266
stm >= 2.4 && < 2.6,
6367
transformers,
6468
unordered-containers == 0.2.*,
65-
vector >= 0.10 && <0.13
69+
vector >= 0.10 && <0.14
6670

6771
exposed-modules:
6872
Haxl.Core,
@@ -88,6 +92,8 @@ library
8892
Haxl.Core.Util
8993

9094
default-language: Haskell2010
95+
default-extensions:
96+
TypeOperators
9197

9298
ghc-options:
9399
-O2 -fprof-auto
@@ -156,6 +162,8 @@ test-suite test
156162
exitcode-stdio-1.0
157163

158164
default-language: Haskell2010
165+
default-extensions:
166+
TypeOperators
159167

160168
flag bench
161169
default: False
@@ -165,6 +173,8 @@ executable monadbench
165173
buildable: False
166174
default-language:
167175
Haskell2010
176+
default-extensions:
177+
TypeOperators
168178
hs-source-dirs:
169179
tests
170180
build-depends:
@@ -185,6 +195,8 @@ executable cachebench
185195
buildable: False
186196
default-language:
187197
Haskell2010
198+
default-extensions:
199+
TypeOperators
188200
hs-source-dirs:
189201
tests
190202
build-depends:

0 commit comments

Comments
 (0)