8
8
#
9
9
# For more information, see https://github.com/haskell-CI/haskell-ci
10
10
#
11
- # version: 0.11.20210222
11
+ # version: 0.13.20210827
12
12
#
13
- # REGENDATA ("0.11.20210222 ",["github","cabal.project"])
13
+ # REGENDATA ("0.13.20210827 ",["github","cabal.project"])
14
14
#
15
15
name : Haskell-CI
16
16
on :
22
22
- master
23
23
jobs :
24
24
linux :
25
- name : Haskell-CI - Linux - GHC ${{ matrix.ghc }}
25
+ name : Haskell-CI - Linux - ${{ matrix.compiler }}
26
26
runs-on : ubuntu-18.04
27
27
container :
28
28
image : buildpack-deps:bionic
29
29
continue-on-error : ${{ matrix.allow-failure }}
30
30
strategy :
31
31
matrix :
32
32
include :
33
- - ghc : 9.0.1
33
+ - compiler : ghc-9.0.1
34
+ compilerKind : ghc
35
+ compilerVersion : 9.0.1
36
+ setup-method : hvr-ppa
34
37
allow-failure : false
35
- - ghc : 8.10.4
38
+ - compiler : ghc-8.10.4
39
+ compilerKind : ghc
40
+ compilerVersion : 8.10.4
41
+ setup-method : hvr-ppa
36
42
allow-failure : false
37
- - ghc : 8.8.4
43
+ - compiler : ghc-8.8.4
44
+ compilerKind : ghc
45
+ compilerVersion : 8.8.4
46
+ setup-method : hvr-ppa
38
47
allow-failure : false
39
- - ghc : 8.6.5
48
+ - compiler : ghc-8.6.5
49
+ compilerKind : ghc
50
+ compilerVersion : 8.6.5
51
+ setup-method : hvr-ppa
40
52
allow-failure : false
41
- - ghc : 8.4.4
53
+ - compiler : ghc-8.4.4
54
+ compilerKind : ghc
55
+ compilerVersion : 8.4.4
56
+ setup-method : hvr-ppa
42
57
allow-failure : false
43
- - ghc : 8.2.2
58
+ - compiler : ghc-8.2.2
59
+ compilerKind : ghc
60
+ compilerVersion : 8.2.2
61
+ setup-method : hvr-ppa
44
62
allow-failure : false
45
- - ghc : 8.0.2
46
- allow-failure : false
47
- - ghc : 7.10.3
48
- allow-failure : false
49
- - ghc : 7.8.4
63
+ - compiler : ghc-8.0.2
64
+ compilerKind : ghc
65
+ compilerVersion : 8.0.2
66
+ setup-method : hvr-ppa
50
67
allow-failure : false
51
68
fail-fast : false
52
69
steps :
53
70
- name : apt
54
71
run : |
55
72
apt-get update
56
- apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common
73
+ apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5
57
74
apt-add-repository -y 'ppa:hvr/ghc'
58
75
apt-get update
59
- apt-get install -y ghc-$GHC_VERSION cabal-install-3.4
76
+ apt-get install -y "$HCNAME" cabal-install-3.4
60
77
env :
61
- GHC_VERSION : ${{ matrix.ghc }}
78
+ HCKIND : ${{ matrix.compilerKind }}
79
+ HCNAME : ${{ matrix.compiler }}
80
+ HCVER : ${{ matrix.compilerVersion }}
62
81
- name : Set PATH and environment variables
63
82
run : |
64
83
echo "$HOME/.cabal/bin" >> $GITHUB_PATH
65
- echo "LANG=C.UTF-8" >> $GITHUB_ENV
66
- echo "CABAL_DIR=$HOME/.cabal" >> $GITHUB_ENV
67
- echo "CABAL_CONFIG=$HOME/.cabal/config" >> $GITHUB_ENV
68
- HC=/opt/ghc/$GHC_VERSION/bin/ghc
69
- echo "HC=$HC" >> $GITHUB_ENV
70
- echo "HCPKG=/opt/ghc/$GHC_VERSION/bin/ghc-pkg" >> $GITHUB_ENV
71
- echo "HADDOCK=/opt/ghc/$GHC_VERSION/bin/haddock" >> $GITHUB_ENV
72
- echo "CABAL=/opt/cabal/3.4/bin/cabal -vnormal+nowrap" >> $GITHUB_ENV
84
+ echo "LANG=C.UTF-8" >> "$GITHUB_ENV"
85
+ echo "CABAL_DIR=$HOME/.cabal" >> "$GITHUB_ENV"
86
+ echo "CABAL_CONFIG=$HOME/.cabal/config" >> "$GITHUB_ENV"
87
+ HCDIR=/opt/$HCKIND/$HCVER
88
+ HC=$HCDIR/bin/$HCKIND
89
+ echo "HC=$HC" >> "$GITHUB_ENV"
90
+ echo "HCPKG=$HCDIR/bin/$HCKIND-pkg" >> "$GITHUB_ENV"
91
+ echo "HADDOCK=$HCDIR/bin/haddock" >> "$GITHUB_ENV"
92
+ echo "CABAL=/opt/cabal/3.4/bin/cabal -vnormal+nowrap" >> "$GITHUB_ENV"
73
93
HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')
74
- echo "HCNUMVER=$HCNUMVER" >> $GITHUB_ENV
75
- echo "ARG_TESTS=--enable-tests" >> $GITHUB_ENV
76
- echo "ARG_BENCH=--enable-benchmarks" >> $GITHUB_ENV
77
- echo "HEADHACKAGE=false" >> $GITHUB_ENV
78
- echo "ARG_COMPILER=--ghc --with-compiler=$HC" >> $GITHUB_ENV
79
- echo "GHCJSARITH=0" >> $GITHUB_ENV
94
+ echo "HCNUMVER=$HCNUMVER" >> " $GITHUB_ENV"
95
+ echo "ARG_TESTS=--enable-tests" >> " $GITHUB_ENV"
96
+ echo "ARG_BENCH=--enable-benchmarks" >> " $GITHUB_ENV"
97
+ echo "HEADHACKAGE=false" >> " $GITHUB_ENV"
98
+ echo "ARG_COMPILER=--$HCKIND --with-compiler=$HC" >> " $GITHUB_ENV"
99
+ echo "GHCJSARITH=0" >> " $GITHUB_ENV"
80
100
env :
81
- GHC_VERSION : ${{ matrix.ghc }}
101
+ HCKIND : ${{ matrix.compilerKind }}
102
+ HCNAME : ${{ matrix.compiler }}
103
+ HCVER : ${{ matrix.compilerVersion }}
82
104
- name : env
83
105
run : |
84
106
env
@@ -113,7 +135,7 @@ jobs:
113
135
- name : cache (tools)
114
136
uses : actions/cache@v2
115
137
with :
116
- key : ${{ runner.os }}-${{ matrix.ghc }}-tools-6e0baf7c
138
+ key : ${{ runner.os }}-${{ matrix.compiler }}-tools-f55e2677
117
139
path : ~/.haskell-ci-tools
118
140
- name : install cabal-plan
119
141
run : |
@@ -146,11 +168,12 @@ jobs:
146
168
- name : generate cabal.project
147
169
run : |
148
170
PKGDIR_aeson="$(find "$GITHUB_WORKSPACE/unpacked" -maxdepth 1 -type d -regex '.*/aeson-[0-9.]*')"
149
- echo "PKGDIR_aeson=${PKGDIR_aeson}" >> $GITHUB_ENV
171
+ echo "PKGDIR_aeson=${PKGDIR_aeson}" >> " $GITHUB_ENV"
150
172
PKGDIR_attoparsec_iso8601="$(find "$GITHUB_WORKSPACE/unpacked" -maxdepth 1 -type d -regex '.*/attoparsec-iso8601-[0-9.]*')"
151
- echo "PKGDIR_attoparsec_iso8601=${PKGDIR_attoparsec_iso8601}" >> $GITHUB_ENV
173
+ echo "PKGDIR_attoparsec_iso8601=${PKGDIR_attoparsec_iso8601}" >> " $GITHUB_ENV"
152
174
PKGDIR_aeson_examples="$(find "$GITHUB_WORKSPACE/unpacked" -maxdepth 1 -type d -regex '.*/aeson-examples-[0-9.]*')"
153
- echo "PKGDIR_aeson_examples=${PKGDIR_aeson_examples}" >> $GITHUB_ENV
175
+ echo "PKGDIR_aeson_examples=${PKGDIR_aeson_examples}" >> "$GITHUB_ENV"
176
+ rm -f cabal.project cabal.project.local
154
177
touch cabal.project
155
178
touch cabal.project.local
156
179
echo "packages: ${PKGDIR_aeson}" >> cabal.project
@@ -174,9 +197,9 @@ jobs:
174
197
- name : cache
175
198
uses : actions/cache@v2
176
199
with :
177
- key : ${{ runner.os }}-${{ matrix.ghc }}-${{ github.sha }}
200
+ key : ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }}
178
201
path : ~/.cabal/store
179
- restore-keys : ${{ runner.os }}-${{ matrix.ghc }}-
202
+ restore-keys : ${{ runner.os }}-${{ matrix.compiler }}-
180
203
- name : install dependencies
181
204
run : |
182
205
$CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks --dependencies-only -j2 all
@@ -202,5 +225,6 @@ jobs:
202
225
rm -f cabal.project.local
203
226
- name : constraint set cffi
204
227
run : |
228
+ $CABAL v2-build $ARG_COMPILER --enable-tests --disable-benchmarks --constraint='aeson +cffi' --dependencies-only -j2 all
205
229
$CABAL v2-build $ARG_COMPILER --enable-tests --disable-benchmarks --constraint='aeson +cffi' all
206
230
$CABAL v2-test $ARG_COMPILER --enable-tests --disable-benchmarks --constraint='aeson +cffi' all
0 commit comments