Skip to content

Commit a22adb3

Browse files
committed
Test against more versions of GHC
1 parent 8d6c1d8 commit a22adb3

File tree

2 files changed

+52
-20
lines changed

2 files changed

+52
-20
lines changed

.github/workflows/haskell-ci.yml

Lines changed: 46 additions & 16 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.19.20240708
11+
# version: 0.19.20241223
1212
#
13-
# REGENDATA ("0.19.20240708",["github","sop-satisfier.cabal"])
13+
# REGENDATA ("0.19.20241223",["github","sop-satisfier.cabal"])
1414
#
1515
name: Haskell-CI
1616
on:
@@ -28,14 +28,19 @@ jobs:
2828
strategy:
2929
matrix:
3030
include:
31+
- compiler: ghc-9.12.1
32+
compilerKind: ghc
33+
compilerVersion: 9.12.1
34+
setup-method: ghcup
35+
allow-failure: false
3136
- compiler: ghc-9.10.1
3237
compilerKind: ghc
3338
compilerVersion: 9.10.1
3439
setup-method: ghcup
3540
allow-failure: false
36-
- compiler: ghc-9.8.2
41+
- compiler: ghc-9.8.4
3742
compilerKind: ghc
38-
compilerVersion: 9.8.2
43+
compilerVersion: 9.8.4
3944
setup-method: ghcup
4045
allow-failure: false
4146
- compiler: ghc-9.6.6
@@ -48,17 +53,51 @@ jobs:
4853
compilerVersion: 9.4.8
4954
setup-method: ghcup
5055
allow-failure: false
56+
- compiler: ghc-9.2.8
57+
compilerKind: ghc
58+
compilerVersion: 9.2.8
59+
setup-method: ghcup
60+
allow-failure: false
61+
- compiler: ghc-9.0.2
62+
compilerKind: ghc
63+
compilerVersion: 9.0.2
64+
setup-method: ghcup
65+
allow-failure: false
66+
- compiler: ghc-8.10.7
67+
compilerKind: ghc
68+
compilerVersion: 8.10.7
69+
setup-method: ghcup
70+
allow-failure: false
71+
- compiler: ghc-8.8.4
72+
compilerKind: ghc
73+
compilerVersion: 8.8.4
74+
setup-method: ghcup
75+
allow-failure: false
5176
fail-fast: false
5277
steps:
53-
- name: apt
78+
- name: apt-get install
5479
run: |
5580
apt-get update
5681
apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5
82+
- name: Install GHCup
83+
run: |
5784
mkdir -p "$HOME/.ghcup/bin"
5885
curl -sL https://downloads.haskell.org/ghcup/0.1.30.0/x86_64-linux-ghcup-0.1.30.0 > "$HOME/.ghcup/bin/ghcup"
5986
chmod a+x "$HOME/.ghcup/bin/ghcup"
87+
- name: Install cabal-install
88+
run: |
89+
"$HOME/.ghcup/bin/ghcup" install cabal 3.14.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
90+
echo "CABAL=$HOME/.ghcup/bin/cabal-3.14.1.0 -vnormal+nowrap" >> "$GITHUB_ENV"
91+
- name: Install GHC (GHCup)
92+
if: matrix.setup-method == 'ghcup'
93+
run: |
6094
"$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
61-
"$HOME/.ghcup/bin/ghcup" install cabal 3.12.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
95+
HC=$("$HOME/.ghcup/bin/ghcup" whereis ghc "$HCVER")
96+
HCPKG=$(echo "$HC" | sed 's#ghc$#ghc-pkg#')
97+
HADDOCK=$(echo "$HC" | sed 's#ghc$#haddock#')
98+
echo "HC=$HC" >> "$GITHUB_ENV"
99+
echo "HCPKG=$HCPKG" >> "$GITHUB_ENV"
100+
echo "HADDOCK=$HADDOCK" >> "$GITHUB_ENV"
62101
env:
63102
HCKIND: ${{ matrix.compilerKind }}
64103
HCNAME: ${{ matrix.compiler }}
@@ -69,21 +108,12 @@ jobs:
69108
echo "LANG=C.UTF-8" >> "$GITHUB_ENV"
70109
echo "CABAL_DIR=$HOME/.cabal" >> "$GITHUB_ENV"
71110
echo "CABAL_CONFIG=$HOME/.cabal/config" >> "$GITHUB_ENV"
72-
HCDIR=/opt/$HCKIND/$HCVER
73-
HC=$("$HOME/.ghcup/bin/ghcup" whereis ghc "$HCVER")
74-
HCPKG=$(echo "$HC" | sed 's#ghc$#ghc-pkg#')
75-
HADDOCK=$(echo "$HC" | sed 's#ghc$#haddock#')
76-
echo "HC=$HC" >> "$GITHUB_ENV"
77-
echo "HCPKG=$HCPKG" >> "$GITHUB_ENV"
78-
echo "HADDOCK=$HADDOCK" >> "$GITHUB_ENV"
79-
echo "CABAL=$HOME/.ghcup/bin/cabal-3.12.1.0 -vnormal+nowrap" >> "$GITHUB_ENV"
80111
HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')
81112
echo "HCNUMVER=$HCNUMVER" >> "$GITHUB_ENV"
82113
echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV"
83114
echo "ARG_BENCH=--enable-benchmarks" >> "$GITHUB_ENV"
84115
echo "HEADHACKAGE=false" >> "$GITHUB_ENV"
85116
echo "ARG_COMPILER=--$HCKIND --with-compiler=$HC" >> "$GITHUB_ENV"
86-
echo "GHCJSARITH=0" >> "$GITHUB_ENV"
87117
env:
88118
HCKIND: ${{ matrix.compilerKind }}
89119
HCNAME: ${{ matrix.compiler }}
@@ -199,8 +229,8 @@ jobs:
199229
rm -f cabal.project.local
200230
$CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks all
201231
- name: save cache
202-
uses: actions/cache/save@v4
203232
if: always()
233+
uses: actions/cache/save@v4
204234
with:
205235
key: ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }}
206236
path: ~/.cabal/store

sop-satisfier.cabal

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@ build-type: Simple
1616
category: Solver, Symbolic Arithmetic
1717
extra-doc-files: CHANGELOG.md
1818
README.md
19-
tested-with: GHC == 9.4.8, GHC == 9.6.6, GHC == 9.8.2, GHC == 9.10.1
19+
tested-with: GHC == 8.8.4, GHC == 8.10.7, GHC == 9.0.2, GHC == 9.2.8,
20+
GHC == 9.4.8, GHC == 9.6.6, GHC == 9.8.4, GHC == 9.10.1,
21+
GHC == 9.12.1
2022

2123
source-repository head
2224
type: git
@@ -34,16 +36,16 @@ library
3436
SoPSat.Internal.SoP,
3537
SoPSat.Internal.NewtonsMethod,
3638
SoPSat.Internal.SolverMonad
37-
build-depends: base >=4.16 && <5,
38-
containers >=0.6.7 && <0.8,
39+
build-depends: base >=4.13 && <5,
40+
containers >=0.6.2.1 && <0.8,
3941
transformers >=0.5 && <0.7
4042
hs-source-dirs: src
4143
default-language: Haskell2010
4244

4345
test-suite system-tests
4446
type: exitcode-stdio-1.0
4547
main-is: SystemTests.hs
46-
build-depends: base >=4.16 && <5,
48+
build-depends: base >=4.13 && <5,
4749
sop-satisfier,
4850
tasty ^>= 1.5,
4951
tasty-hunit ^>=0.9

0 commit comments

Comments
 (0)