Skip to content

Commit f7ffa06

Browse files
committed
update CI for GHC 9.8; don't fail on warnings for partial funcs like head/tail
1 parent 24c41c0 commit f7ffa06

File tree

4 files changed

+29
-40
lines changed

4 files changed

+29
-40
lines changed

.github/workflows/haskell-ci.yml

Lines changed: 24 additions & 37 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.16.3
11+
# version: 0.18.1
1212
#
13-
# REGENDATA ("0.16.3",["--distribution","jammy","github","cabal.project"])
13+
# REGENDATA ("0.18.1",["--distribution","jammy","github","cabal.project"])
1414
#
1515
name: Haskell-CI
1616
on:
@@ -19,7 +19,7 @@ on:
1919
jobs:
2020
linux:
2121
name: Haskell-CI - Linux - ${{ matrix.compiler }}
22-
runs-on: ubuntu-22.04
22+
runs-on: ubuntu-20.04
2323
timeout-minutes:
2424
60
2525
container:
@@ -28,14 +28,19 @@ jobs:
2828
strategy:
2929
matrix:
3030
include:
31-
- compiler: ghc-9.6.2
31+
- compiler: ghc-9.8.2
3232
compilerKind: ghc
33-
compilerVersion: 9.6.2
33+
compilerVersion: 9.8.2
3434
setup-method: ghcup
3535
allow-failure: false
36-
- compiler: ghc-9.4.5
36+
- compiler: ghc-9.6.4
3737
compilerKind: ghc
38-
compilerVersion: 9.4.5
38+
compilerVersion: 9.6.4
39+
setup-method: ghcup
40+
allow-failure: false
41+
- compiler: ghc-9.4.6
42+
compilerKind: ghc
43+
compilerVersion: 9.4.6
3944
setup-method: ghcup
4045
allow-failure: false
4146
- compiler: ghc-9.2.8
@@ -64,21 +69,11 @@ jobs:
6469
run: |
6570
apt-get update
6671
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.19.2/x86_64-linux-ghcup-0.1.19.2 > "$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.1.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.19.2/x86_64-linux-ghcup-0.1.19.2 > "$HOME/.ghcup/bin/ghcup"
79-
chmod a+x "$HOME/.ghcup/bin/ghcup"
80-
"$HOME/.ghcup/bin/ghcup" install cabal 3.10.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
81-
fi
72+
mkdir -p "$HOME/.ghcup/bin"
73+
curl -sL https://downloads.haskell.org/ghcup/0.1.20.0/x86_64-linux-ghcup-0.1.20.0 > "$HOME/.ghcup/bin/ghcup"
74+
chmod a+x "$HOME/.ghcup/bin/ghcup"
75+
"$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
76+
"$HOME/.ghcup/bin/ghcup" install cabal 3.10.2.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
8277
env:
8378
HCKIND: ${{ matrix.compilerKind }}
8479
HCNAME: ${{ matrix.compiler }}
@@ -90,21 +85,13 @@ jobs:
9085
echo "CABAL_DIR=$HOME/.cabal" >> "$GITHUB_ENV"
9186
echo "CABAL_CONFIG=$HOME/.cabal/config" >> "$GITHUB_ENV"
9287
HCDIR=/opt/$HCKIND/$HCVER
93-
94-
if [ "${{ matrix.setup-method }}" = ghcup ]; then
95-
HC=$HOME/.ghcup/bin/$HCKIND-$HCVER
96-
echo "HC=$HC" >> "$GITHUB_ENV"
97-
echo "HCPKG=$HOME/.ghcup/bin/$HCKIND-pkg-$HCVER" >> "$GITHUB_ENV"
98-
echo "HADDOCK=$HOME/.ghcup/bin/haddock-$HCVER" >> "$GITHUB_ENV"
99-
echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.1.0 -vnormal+nowrap" >> "$GITHUB_ENV"
100-
else
101-
HC=$HCDIR/bin/$HCKIND
102-
echo "HC=$HC" >> "$GITHUB_ENV"
103-
echo "HCPKG=$HCDIR/bin/$HCKIND-pkg" >> "$GITHUB_ENV"
104-
echo "HADDOCK=$HCDIR/bin/haddock" >> "$GITHUB_ENV"
105-
echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.1.0 -vnormal+nowrap" >> "$GITHUB_ENV"
106-
fi
107-
88+
HC=$("$HOME/.ghcup/bin/ghcup" whereis ghc "$HCVER")
89+
HCPKG=$(echo "$HC" | sed 's#ghc$#ghc-pkg#')
90+
HADDOCK=$(echo "$HC" | sed 's#ghc$#haddock#')
91+
echo "HC=$HC" >> "$GITHUB_ENV"
92+
echo "HCPKG=$HCPKG" >> "$GITHUB_ENV"
93+
echo "HADDOCK=$HADDOCK" >> "$GITHUB_ENV"
94+
echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.2.0 -vnormal+nowrap" >> "$GITHUB_ENV"
10895
HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')
10996
echo "HCNUMVER=$HCNUMVER" >> "$GITHUB_ENV"
11097
echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV"

cabal.haskell-ci

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
distribution: bionic
1+
distribution: jammy
22
no-tests-no-benchmarks: False
33
unconstrained: False
44
cabal-check: False

cabal.project

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
packages: gibbon-compiler
22

33
program-options
4-
ghc-options: -Werror
4+
ghc-options: -Werror=x-no-partial

gibbon-compiler/gibbon.cabal

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ tested-with: GHC==9.4.6
2020
, GHC==9.0.2
2121
, GHC==8.10.7
2222
, GHC==8.8.4
23+
, GHC==9.6.4
24+
, GHC==9.8.2
2325

2426
flag LLVM_ENABLED
2527
description: Enable LLVM backend
@@ -98,7 +100,7 @@ library
98100
, filepath >= 1.4.1 && < 2
99101
, directory >= 1.3 && < 2
100102
, containers >= 0.5.8 && < 0.7
101-
, deepseq >= 1.4.2 && < 1.5
103+
, deepseq >= 1.4.2 && < 1.6
102104
, mtl >= 2.2.1 && < 3
103105
, transformers >= 0.5.2 && < 1
104106
, clock >= 0.7.1 && < 1

0 commit comments

Comments
 (0)