8
8
#
9
9
# For more information, see https://github.com/haskell-CI/haskell-ci
10
10
#
11
- # version: 0.14.3
11
+ # version: 0.16.6
12
12
#
13
- # REGENDATA ("0.14.3 ",["github","hasbolt.cabal"])
13
+ # REGENDATA ("0.16.6 ",["github","hasbolt.cabal"])
14
14
#
15
15
name : Haskell-CI
16
16
on :
23
23
jobs :
24
24
linux :
25
25
name : Haskell-CI - Linux - ${{ matrix.compiler }}
26
- runs-on : ubuntu-18 .04
26
+ runs-on : ubuntu-20 .04
27
27
timeout-minutes :
28
28
60
29
29
container :
@@ -32,14 +32,19 @@ jobs:
32
32
strategy :
33
33
matrix :
34
34
include :
35
- - compiler : ghc-9.4.4
35
+ - compiler : ghc-9.6.2
36
36
compilerKind : ghc
37
- compilerVersion : 9.4.4
37
+ compilerVersion : 9.6.2
38
38
setup-method : ghcup
39
39
allow-failure : true
40
- - compiler : ghc-9.2 .5
40
+ - compiler : ghc-9.4 .5
41
41
compilerKind : ghc
42
- compilerVersion : 9.2.5
42
+ compilerVersion : 9.4.5
43
+ setup-method : ghcup
44
+ allow-failure : true
45
+ - compiler : ghc-9.2.8
46
+ compilerKind : ghc
47
+ compilerVersion : 9.2.8
43
48
setup-method : ghcup
44
49
allow-failure : true
45
50
- compiler : ghc-9.0.2
@@ -70,18 +75,18 @@ jobs:
70
75
apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5
71
76
if [ "${{ matrix.setup-method }}" = ghcup ]; then
72
77
mkdir -p "$HOME/.ghcup/bin"
73
- curl -sL https://downloads.haskell.org/ghcup/0.1.17.5 /x86_64-linux-ghcup-0.1.17.5 > "$HOME/.ghcup/bin/ghcup"
78
+ curl -sL https://downloads.haskell.org/ghcup/0.1.19.2 /x86_64-linux-ghcup-0.1.19.2 > "$HOME/.ghcup/bin/ghcup"
74
79
chmod a+x "$HOME/.ghcup/bin/ghcup"
75
- "$HOME/.ghcup/bin/ghcup" install ghc "$HCVER"
76
- "$HOME/.ghcup/bin/ghcup" install cabal 3.6.2.0
80
+ "$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
81
+ "$HOME/.ghcup/bin/ghcup" install cabal 3.10.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
77
82
else
78
83
apt-add-repository -y 'ppa:hvr/ghc'
79
84
apt-get update
80
85
apt-get install -y "$HCNAME"
81
86
mkdir -p "$HOME/.ghcup/bin"
82
- curl -sL https://downloads.haskell.org/ghcup/0.1.17.5 /x86_64-linux-ghcup-0.1.17.5 > "$HOME/.ghcup/bin/ghcup"
87
+ curl -sL https://downloads.haskell.org/ghcup/0.1.19.2 /x86_64-linux-ghcup-0.1.19.2 > "$HOME/.ghcup/bin/ghcup"
83
88
chmod a+x "$HOME/.ghcup/bin/ghcup"
84
- "$HOME/.ghcup/bin/ghcup" install cabal 3.6.2.0
89
+ "$HOME/.ghcup/bin/ghcup" install cabal 3.10.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
85
90
fi
86
91
env :
87
92
HCKIND : ${{ matrix.compilerKind }}
@@ -99,13 +104,13 @@ jobs:
99
104
echo "HC=$HC" >> "$GITHUB_ENV"
100
105
echo "HCPKG=$HOME/.ghcup/bin/$HCKIND-pkg-$HCVER" >> "$GITHUB_ENV"
101
106
echo "HADDOCK=$HOME/.ghcup/bin/haddock-$HCVER" >> "$GITHUB_ENV"
102
- echo "CABAL=$HOME/.ghcup/bin/cabal-3.6.2 .0 -vnormal+nowrap" >> "$GITHUB_ENV"
107
+ echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.1 .0 -vnormal+nowrap" >> "$GITHUB_ENV"
103
108
else
104
109
HC=$HCDIR/bin/$HCKIND
105
110
echo "HC=$HC" >> "$GITHUB_ENV"
106
111
echo "HCPKG=$HCDIR/bin/$HCKIND-pkg" >> "$GITHUB_ENV"
107
112
echo "HADDOCK=$HCDIR/bin/haddock" >> "$GITHUB_ENV"
108
- echo "CABAL=$HOME/.ghcup/bin/cabal-3.6.2 .0 -vnormal+nowrap" >> "$GITHUB_ENV"
113
+ echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.1 .0 -vnormal+nowrap" >> "$GITHUB_ENV"
109
114
fi
110
115
111
116
HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')
@@ -157,14 +162,14 @@ jobs:
157
162
- name : install cabal-plan
158
163
run : |
159
164
mkdir -p $HOME/.cabal/bin
160
- 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
161
- echo 'de73600b1836d3f55e32d80385acc055fd97f60eaa0ab68a755302685f5d81bc cabal-plan.xz' | sha256sum -c -
165
+ 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
166
+ echo 'f62ccb2971567a5f638f2005ad3173dba14693a45154c1508645c52289714cb2 cabal-plan.xz' | sha256sum -c -
162
167
xz -d < cabal-plan.xz > $HOME/.cabal/bin/cabal-plan
163
168
rm -f cabal-plan.xz
164
169
chmod a+x $HOME/.cabal/bin/cabal-plan
165
170
cabal-plan --version
166
171
- name : checkout
167
- uses : actions/checkout@v2
172
+ uses : actions/checkout@v3
168
173
with :
169
174
path : source
170
175
- name : initial cabal.project for sdist
@@ -199,8 +204,8 @@ jobs:
199
204
run : |
200
205
$CABAL v2-build $ARG_COMPILER $ARG_TESTS $ARG_BENCH --dry-run all
201
206
cabal-plan
202
- - name : cache
203
- uses : actions/cache@v2
207
+ - name : restore cache
208
+ uses : actions/cache/restore@v3
204
209
with :
205
210
key : ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }}
206
211
path : ~/.cabal/store
@@ -224,8 +229,14 @@ jobs:
224
229
${CABAL} -vnormal check
225
230
- name : haddock
226
231
run : |
227
- $CABAL v2-haddock $ARG_COMPILER --with-haddock $HADDOCK $ARG_TESTS $ARG_BENCH all
232
+ $CABAL v2-haddock --disable-documentation --haddock-all $ARG_COMPILER --with-haddock $HADDOCK $ARG_TESTS $ARG_BENCH all
228
233
- name : unconstrained build
229
234
run : |
230
235
rm -f cabal.project.local
231
236
$CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks all
237
+ - name : save cache
238
+ uses : actions/cache/save@v3
239
+ if : always()
240
+ with :
241
+ key : ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }}
242
+ path : ~/.cabal/store
0 commit comments