8
8
#
9
9
# For more information, see https://github.com/haskell-CI/haskell-ci
10
10
#
11
- # version: 0.14
11
+ # version: 0.15.20230217
12
12
#
13
- # REGENDATA ("0.14 ",["github","--no-cabal-check","agda-stdlib-utils.cabal"])
13
+ # REGENDATA ("0.15.20230217 ",["github","--no-cabal-check","agda-stdlib-utils.cabal"])
14
14
#
15
15
name : Haskell-CI
16
16
on :
25
25
jobs :
26
26
linux :
27
27
name : Haskell-CI - Linux - ${{ matrix.compiler }}
28
- runs-on : ubuntu-18 .04
28
+ runs-on : ubuntu-20 .04
29
29
timeout-minutes :
30
30
60
31
31
container :
34
34
strategy :
35
35
matrix :
36
36
include :
37
- - compiler : ghc-9.2.1
37
+ - compiler : ghc-9.4.4
38
38
compilerKind : ghc
39
- compilerVersion : 9.2.1
39
+ compilerVersion : 9.4.4
40
+ setup-method : ghcup
41
+ allow-failure : false
42
+ - compiler : ghc-9.2.6
43
+ compilerKind : ghc
44
+ compilerVersion : 9.2.6
40
45
setup-method : ghcup
41
46
allow-failure : false
42
47
- compiler : ghc-9.0.2
59
64
compilerVersion : 8.6.5
60
65
setup-method : hvr-ppa
61
66
allow-failure : false
62
- - compiler : ghc-8.4.4
63
- compilerKind : ghc
64
- compilerVersion : 8.4.4
65
- setup-method : hvr-ppa
66
- allow-failure : false
67
- - compiler : ghc-8.2.2
68
- compilerKind : ghc
69
- compilerVersion : 8.2.2
70
- setup-method : hvr-ppa
71
- allow-failure : false
72
- - compiler : ghc-8.0.2
73
- compilerKind : ghc
74
- compilerVersion : 8.0.2
75
- setup-method : hvr-ppa
76
- allow-failure : false
77
67
fail-fast : false
78
68
steps :
79
69
- name : apt
@@ -82,18 +72,20 @@ jobs:
82
72
apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5
83
73
if [ "${{ matrix.setup-method }}" = ghcup ]; then
84
74
mkdir -p "$HOME/.ghcup/bin"
85
- curl -sL https://downloads.haskell.org/ghcup/0.1.17.3 /x86_64-linux-ghcup-0.1.17.3 > "$HOME/.ghcup/bin/ghcup"
75
+ curl -sL https://downloads.haskell.org/ghcup/0.1.18.0 /x86_64-linux-ghcup-0.1.18.0 > "$HOME/.ghcup/bin/ghcup"
86
76
chmod a+x "$HOME/.ghcup/bin/ghcup"
87
- "$HOME/.ghcup/bin/ghcup" install ghc "$HCVER"
88
- "$HOME/.ghcup/bin/ghcup" install cabal 3.6.2.0
77
+ "$HOME/.ghcup/bin/ghcup" config add-release-channel https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-prereleases-0.0.7.yaml;
78
+ "$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
79
+ "$HOME/.ghcup/bin/ghcup" install cabal 3.9.0.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
89
80
else
90
81
apt-add-repository -y 'ppa:hvr/ghc'
91
82
apt-get update
92
83
apt-get install -y "$HCNAME"
93
84
mkdir -p "$HOME/.ghcup/bin"
94
- curl -sL https://downloads.haskell.org/ghcup/0.1.17.3 /x86_64-linux-ghcup-0.1.17.3 > "$HOME/.ghcup/bin/ghcup"
85
+ curl -sL https://downloads.haskell.org/ghcup/0.1.18.0 /x86_64-linux-ghcup-0.1.18.0 > "$HOME/.ghcup/bin/ghcup"
95
86
chmod a+x "$HOME/.ghcup/bin/ghcup"
96
- "$HOME/.ghcup/bin/ghcup" install cabal 3.6.2.0
87
+ "$HOME/.ghcup/bin/ghcup" config add-release-channel https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-prereleases-0.0.7.yaml;
88
+ "$HOME/.ghcup/bin/ghcup" install cabal 3.9.0.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
97
89
fi
98
90
env :
99
91
HCKIND : ${{ matrix.compilerKind }}
@@ -111,13 +103,13 @@ jobs:
111
103
echo "HC=$HC" >> "$GITHUB_ENV"
112
104
echo "HCPKG=$HOME/.ghcup/bin/$HCKIND-pkg-$HCVER" >> "$GITHUB_ENV"
113
105
echo "HADDOCK=$HOME/.ghcup/bin/haddock-$HCVER" >> "$GITHUB_ENV"
114
- echo "CABAL=$HOME/.ghcup/bin/cabal-3.6.2 .0 -vnormal+nowrap" >> "$GITHUB_ENV"
106
+ echo "CABAL=$HOME/.ghcup/bin/cabal-3.9.0 .0 -vnormal+nowrap" >> "$GITHUB_ENV"
115
107
else
116
108
HC=$HCDIR/bin/$HCKIND
117
109
echo "HC=$HC" >> "$GITHUB_ENV"
118
110
echo "HCPKG=$HCDIR/bin/$HCKIND-pkg" >> "$GITHUB_ENV"
119
111
echo "HADDOCK=$HCDIR/bin/haddock" >> "$GITHUB_ENV"
120
- echo "CABAL=$HOME/.ghcup/bin/cabal-3.6.2 .0 -vnormal+nowrap" >> "$GITHUB_ENV"
112
+ echo "CABAL=$HOME/.ghcup/bin/cabal-3.9.0 .0 -vnormal+nowrap" >> "$GITHUB_ENV"
121
113
fi
122
114
123
115
HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')
@@ -176,7 +168,7 @@ jobs:
176
168
chmod a+x $HOME/.cabal/bin/cabal-plan
177
169
cabal-plan --version
178
170
- name : checkout
179
- uses : actions/checkout@v2
171
+ uses : actions/checkout@v3
180
172
with :
181
173
path : source
182
174
- name : initial cabal.project for sdist
@@ -200,8 +192,8 @@ jobs:
200
192
touch cabal.project
201
193
touch cabal.project.local
202
194
echo "packages: ${PKGDIR_agda_stdlib_utils}" >> cabal.project
203
- if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo "package agda-stdlib-utils" >> cabal.project ; fi
204
- if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo " ghc-options: -Werror=missing-methods" >> cabal.project ; fi
195
+ echo "package agda-stdlib-utils" >> cabal.project
196
+ echo " ghc-options: -Werror=missing-methods" >> cabal.project
205
197
cat >> cabal.project <<EOF
206
198
EOF
207
199
$HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: $_ installed\n" unless /^(agda-stdlib-utils)$/; }' >> cabal.project.local
@@ -211,8 +203,8 @@ jobs:
211
203
run : |
212
204
$CABAL v2-build $ARG_COMPILER $ARG_TESTS $ARG_BENCH --dry-run all
213
205
cabal-plan
214
- - name : cache
215
- uses : actions/cache@v2
206
+ - name : restore cache
207
+ uses : actions/cache/restore@v3
216
208
with :
217
209
key : ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }}
218
210
path : ~/.cabal/store
@@ -227,7 +219,16 @@ jobs:
227
219
- name : build
228
220
run : |
229
221
$CABAL v2-build $ARG_COMPILER $ARG_TESTS $ARG_BENCH all --write-ghc-environment-files=always
222
+ - name : haddock
223
+ run : |
224
+ $CABAL v2-haddock --disable-documentation --haddock-all $ARG_COMPILER --with-haddock $HADDOCK $ARG_TESTS $ARG_BENCH all
230
225
- name : unconstrained build
231
226
run : |
232
227
rm -f cabal.project.local
233
228
$CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks all
229
+ - name : save cache
230
+ uses : actions/cache/save@v3
231
+ if : always()
232
+ with :
233
+ key : ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }}
234
+ path : ~/.cabal/store
0 commit comments