Skip to content

Commit e4d2f12

Browse files
authored
Merge pull request #27 from haskellari/noble
GHC-8.6.5..9.10.1
2 parents d5789ae + 351e2b7 commit e4d2f12

3 files changed

Lines changed: 35 additions & 196 deletions

File tree

.github/workflows/haskell-ci.yml

Lines changed: 29 additions & 88 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.17.20231010
11+
# version: 0.19.20240512
1212
#
13-
# REGENDATA ("0.17.20231010",["github","cabal.project"])
13+
# REGENDATA ("0.19.20240512",["github","cabal.project"])
1414
#
1515
name: Haskell-CI
1616
on:
@@ -27,14 +27,19 @@ jobs:
2727
timeout-minutes:
2828
60
2929
container:
30-
image: buildpack-deps:bionic
30+
image: buildpack-deps:jammy
3131
continue-on-error: ${{ matrix.allow-failure }}
3232
strategy:
3333
matrix:
3434
include:
35-
- compiler: ghc-9.8.1
35+
- compiler: ghc-9.10.1
3636
compilerKind: ghc
37-
compilerVersion: 9.8.1
37+
compilerVersion: 9.10.1
38+
setup-method: ghcup
39+
allow-failure: false
40+
- compiler: ghc-9.8.2
41+
compilerKind: ghc
42+
compilerVersion: 9.8.2
3843
setup-method: ghcup
3944
allow-failure: false
4045
- compiler: ghc-9.6.3
@@ -65,79 +70,24 @@ jobs:
6570
- compiler: ghc-8.8.4
6671
compilerKind: ghc
6772
compilerVersion: 8.8.4
68-
setup-method: hvr-ppa
73+
setup-method: ghcup
6974
allow-failure: false
7075
- compiler: ghc-8.6.5
7176
compilerKind: ghc
7277
compilerVersion: 8.6.5
73-
setup-method: hvr-ppa
74-
allow-failure: false
75-
- compiler: ghc-8.4.4
76-
compilerKind: ghc
77-
compilerVersion: 8.4.4
78-
setup-method: hvr-ppa
79-
allow-failure: false
80-
- compiler: ghc-8.2.2
81-
compilerKind: ghc
82-
compilerVersion: 8.2.2
83-
setup-method: hvr-ppa
84-
allow-failure: false
85-
- compiler: ghc-8.0.2
86-
compilerKind: ghc
87-
compilerVersion: 8.0.2
88-
setup-method: hvr-ppa
89-
allow-failure: false
90-
- compiler: ghc-7.10.3
91-
compilerKind: ghc
92-
compilerVersion: 7.10.3
93-
setup-method: hvr-ppa
94-
allow-failure: false
95-
- compiler: ghc-7.8.4
96-
compilerKind: ghc
97-
compilerVersion: 7.8.4
98-
setup-method: hvr-ppa
99-
allow-failure: false
100-
- compiler: ghc-7.6.3
101-
compilerKind: ghc
102-
compilerVersion: 7.6.3
103-
setup-method: hvr-ppa
104-
allow-failure: false
105-
- compiler: ghc-7.4.2
106-
compilerKind: ghc
107-
compilerVersion: 7.4.2
108-
setup-method: hvr-ppa
109-
allow-failure: false
110-
- compiler: ghc-7.2.2
111-
compilerKind: ghc
112-
compilerVersion: 7.2.2
113-
setup-method: hvr-ppa
114-
allow-failure: false
115-
- compiler: ghc-7.0.4
116-
compilerKind: ghc
117-
compilerVersion: 7.0.4
118-
setup-method: hvr-ppa
78+
setup-method: ghcup
11979
allow-failure: false
12080
fail-fast: false
12181
steps:
12282
- name: apt
12383
run: |
12484
apt-get update
12585
apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5
126-
if [ "${{ matrix.setup-method }}" = ghcup ]; then
127-
mkdir -p "$HOME/.ghcup/bin"
128-
curl -sL https://downloads.haskell.org/ghcup/0.1.19.5/x86_64-linux-ghcup-0.1.19.5 > "$HOME/.ghcup/bin/ghcup"
129-
chmod a+x "$HOME/.ghcup/bin/ghcup"
130-
"$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
131-
"$HOME/.ghcup/bin/ghcup" install cabal 3.10.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
132-
else
133-
apt-add-repository -y 'ppa:hvr/ghc'
134-
apt-get update
135-
apt-get install -y "$HCNAME"
136-
mkdir -p "$HOME/.ghcup/bin"
137-
curl -sL https://downloads.haskell.org/ghcup/0.1.19.5/x86_64-linux-ghcup-0.1.19.5 > "$HOME/.ghcup/bin/ghcup"
138-
chmod a+x "$HOME/.ghcup/bin/ghcup"
139-
"$HOME/.ghcup/bin/ghcup" install cabal 3.10.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
140-
fi
86+
mkdir -p "$HOME/.ghcup/bin"
87+
curl -sL https://downloads.haskell.org/ghcup/0.1.20.0/x86_64-linux-ghcup-0.1.20.0 > "$HOME/.ghcup/bin/ghcup"
88+
chmod a+x "$HOME/.ghcup/bin/ghcup"
89+
"$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
90+
"$HOME/.ghcup/bin/ghcup" install cabal 3.10.2.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
14191
env:
14292
HCKIND: ${{ matrix.compilerKind }}
14393
HCNAME: ${{ matrix.compiler }}
@@ -149,22 +99,13 @@ jobs:
14999
echo "CABAL_DIR=$HOME/.cabal" >> "$GITHUB_ENV"
150100
echo "CABAL_CONFIG=$HOME/.cabal/config" >> "$GITHUB_ENV"
151101
HCDIR=/opt/$HCKIND/$HCVER
152-
if [ "${{ matrix.setup-method }}" = ghcup ]; then
153-
HC=$("$HOME/.ghcup/bin/ghcup" whereis ghc "$HCVER")
154-
HCPKG=$(echo "$HC" | sed 's#ghc$#ghc-pkg#')
155-
HADDOCK=$(echo "$HC" | sed 's#ghc$#haddock#')
156-
echo "HC=$HC" >> "$GITHUB_ENV"
157-
echo "HCPKG=$HCPKG" >> "$GITHUB_ENV"
158-
echo "HADDOCK=$HADDOCK" >> "$GITHUB_ENV"
159-
echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.1.0 -vnormal+nowrap" >> "$GITHUB_ENV"
160-
else
161-
HC=$HCDIR/bin/$HCKIND
162-
echo "HC=$HC" >> "$GITHUB_ENV"
163-
echo "HCPKG=$HCDIR/bin/$HCKIND-pkg" >> "$GITHUB_ENV"
164-
echo "HADDOCK=$HCDIR/bin/haddock" >> "$GITHUB_ENV"
165-
echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.1.0 -vnormal+nowrap" >> "$GITHUB_ENV"
166-
fi
167-
102+
HC=$("$HOME/.ghcup/bin/ghcup" whereis ghc "$HCVER")
103+
HCPKG=$(echo "$HC" | sed 's#ghc$#ghc-pkg#')
104+
HADDOCK=$(echo "$HC" | sed 's#ghc$#haddock#')
105+
echo "HC=$HC" >> "$GITHUB_ENV"
106+
echo "HCPKG=$HCPKG" >> "$GITHUB_ENV"
107+
echo "HADDOCK=$HADDOCK" >> "$GITHUB_ENV"
108+
echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.2.0 -vnormal+nowrap" >> "$GITHUB_ENV"
168109
HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')
169110
echo "HCNUMVER=$HCNUMVER" >> "$GITHUB_ENV"
170111
echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV"
@@ -221,7 +162,7 @@ jobs:
221162
chmod a+x $HOME/.cabal/bin/cabal-plan
222163
cabal-plan --version
223164
- name: checkout
224-
uses: actions/checkout@v3
165+
uses: actions/checkout@v4
225166
with:
226167
path: source
227168
- name: initial cabal.project for sdist
@@ -245,8 +186,8 @@ jobs:
245186
touch cabal.project
246187
touch cabal.project.local
247188
echo "packages: ${PKGDIR_OneTuple}" >> cabal.project
248-
if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo "package OneTuple" >> cabal.project ; fi
249-
if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo " ghc-options: -Werror=missing-methods" >> cabal.project ; fi
189+
echo "package OneTuple" >> cabal.project
190+
echo " ghc-options: -Werror=missing-methods" >> cabal.project
250191
cat >> cabal.project <<EOF
251192
EOF
252193
$HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: $_ installed\n" unless /^(OneTuple)$/; }' >> cabal.project.local
@@ -257,7 +198,7 @@ jobs:
257198
$CABAL v2-build $ARG_COMPILER $ARG_TESTS $ARG_BENCH --dry-run all
258199
cabal-plan
259200
- name: restore cache
260-
uses: actions/cache/restore@v3
201+
uses: actions/cache/restore@v4
261202
with:
262203
key: ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }}
263204
path: ~/.cabal/store
@@ -287,7 +228,7 @@ jobs:
287228
rm -f cabal.project.local
288229
$CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks all
289230
- name: save cache
290-
uses: actions/cache/save@v3
231+
uses: actions/cache/save@v4
291232
if: always()
292233
with:
293234
key: ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }}

OneTuple.cabal

Lines changed: 6 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
cabal-version: 1.12
22
name: OneTuple
3-
version: 0.4.1.1
4-
x-revision: 1
3+
version: 0.4.2
54
synopsis: Singleton Tuple
65
category: Data
76
description:
@@ -23,23 +22,15 @@ maintainer:
2322
stability: experimental
2423
build-type: Simple
2524
tested-with:
26-
GHC ==7.0.4
27-
|| ==7.2.2
28-
|| ==7.4.2
29-
|| ==7.6.3
30-
|| ==7.8.4
31-
|| ==7.10.3
32-
|| ==8.0.2
33-
|| ==8.2.2
34-
|| ==8.4.4
35-
|| ==8.6.5
25+
GHC ==8.6.5
3626
|| ==8.8.4
3727
|| ==8.10.7
3828
|| ==9.0.2
3929
|| ==9.2.8
4030
|| ==9.4.7
4131
|| ==9.6.3
42-
|| ==9.8.1
32+
|| ==9.8.2
33+
|| ==9.10.1
4334

4435
extra-source-files: Changelog.md
4536

@@ -56,35 +47,13 @@ library
5647

5748
hs-source-dirs: src
5849
build-depends:
59-
base >=4.3 && <4.20
50+
base >=4.12 && <4.21
6051
, template-haskell
6152

6253
if impl(ghc >=9.0)
6354
build-depends: ghc-prim
64-
6555
else
66-
if impl(ghc >=7.4)
67-
build-depends: hashable >=1.3.5.0 && <1.5
68-
69-
else
70-
build-depends: hashable >=1.2.5.0 && <1.3
71-
72-
-- generics
73-
if !impl(ghc >=7.6)
74-
build-depends: ghc-prim
75-
76-
if !impl(ghc >=8.0)
77-
build-depends:
78-
semigroups >=0.18.4 && <0.21
79-
, transformers >=0.3 && <0.7
80-
81-
-- Ensure Data.Functor.Classes is always available
82-
if impl(ghc >=7.10)
83-
build-depends: transformers >=0.4.2.0
84-
85-
else
86-
build-depends: transformers-compat >=0.5.1.0 && <0.8
87-
56+
build-depends: hashable >=1.3.5.0 && <1.5
8857

8958
if !impl(ghc >=9.0)
9059
build-depends: foldable1-classes-compat >=0.1 && <0.2

0 commit comments

Comments
 (0)