@@ -18,120 +18,103 @@ jobs:
18
18
# Uses gcc 7.5.0, clang 6.0.0, cmake 3.10.2
19
19
image : " ubuntu:18.04"
20
20
ubuntu : 18
21
- installer : apt
22
21
- name : Ubuntu-20
23
22
# Uses gcc 9.3.0, clang 10.0.0, cmake 3.16.3
24
23
image : " ubuntu:20.04"
25
24
ubuntu : 20
26
- installer : apt
27
25
- name : Ubuntu-22
28
26
# Uses gcc 11.2.0, clang 14.0.0, cmake 3.22.1
29
27
image : " ubuntu:22.04"
30
28
ubuntu : 22
31
- installer : apt
32
29
CXXFLAGS : -Wno-stringop-overread
33
30
- name : Debian-9
34
31
# Uses gcc 6.3.0, clang 3.8.1, cmake 3.7.2
35
32
image : " debian:stretch"
36
- installer : apt
37
33
- name : Debian-10
38
34
# Uses gcc 8.3.0, clang 7.0.1, cmake 3.13.4
39
35
image : " debian:buster"
40
- installer : apt
41
36
- name : Debian-11
42
37
# Uses gcc 10.2.1, clang 11.0.1, cmake 3.18.4
43
38
image : " debian:bullseye"
44
- installer : apt
45
39
- name : Debian-11
46
40
# Uses gcc 10.2.1, clang 11.0.1, cmake 3.18.4
47
41
image : " debian:bullseye"
48
- installer : apt
49
42
cpp_version : c++17
50
43
- name : Debian-11
51
44
# Uses gcc 10.2.1, clang 11.0.1, cmake 3.18.4
52
45
image : " debian:bullseye"
53
- installer : apt
54
46
cpp_version : c++20
55
47
- name : Debian-11
56
48
# Uses gcc 10.2.1, clang 11.0.1, cmake 3.18.4
57
49
image : " debian:bullseye"
58
- installer : apt
59
50
c_compiler : clang
60
51
cpp_compiler : clang++
61
52
cpp_version : c++17
62
53
- name : Debian-11
63
54
# Uses gcc 10.2.1, clang 11.0.1, cmake 3.18.4
64
55
image : " debian:bullseye"
65
- installer : apt
66
56
c_compiler : clang
67
57
cpp_compiler : clang++
68
58
cpp_version : c++20
69
59
- name : Debian-11
70
60
# Uses gcc 10.2.1, clang 11.0.1, cmake 3.18.4
71
61
image : " debian:bullseye"
72
- installer : apt
73
62
build_type : RelWithDebInfo
74
63
- name : Debian-11
75
64
# Uses gcc 10.2.1, clang 11.0.1, cmake 3.18.4
76
65
image : " debian:bullseye"
77
- installer : apt
78
66
c_compiler : clang
79
67
cpp_compiler : clang++
80
68
- name : Debian-11
81
69
# Uses gcc 10.2.1, clang 11.0.1, cmake 3.18.4
82
70
image : " debian:bullseye"
83
- installer : apt
84
71
c_compiler : clang
85
72
cpp_compiler : clang++
86
73
CXXFLAGS : -fsanitize=address,undefined,integer -fno-sanitize-recover=all -fno-omit-frame-pointer
87
74
LDFLAGS : -fsanitize=address,undefined,integer
88
75
- name : Debian-Testing
89
76
# Uses gcc 10.3.0, clang 11.1.0, cmake 3.21.3
90
77
image : " debian:testing"
91
- installer : apt
92
78
CXXFLAGS : -Wno-stringop-overread
93
79
- name : Debian-Testing
94
80
# Uses gcc 10.3.0, clang 11.1.0, cmake 3.21.3
95
81
image : " debian:testing"
96
- installer : apt
97
82
c_compiler : clang
98
83
cpp_compiler : clang++
99
84
- name : Debian-Experimental
100
85
# Uses gcc 11, clang 14, cmake 3.21.3
101
86
image : " debian:experimental"
102
- installer : apt
103
87
CXXFLAGS : -Wno-stringop-overread
104
88
- name : Debian-Experimental
105
89
# Uses gcc 11, clang 14, cmake 3.21.3
106
90
image : " debian:experimental"
107
- installer : apt
108
91
c_compiler : clang-14
109
92
cpp_compiler : clang++-14
110
93
- name : Fedora-35
111
94
# Uses gcc 11.2.1, clang 12.0.1, cmake 3.20.5
112
95
image : " fedora:35"
113
- installer : dnf
114
96
CXXFLAGS : -Wno-stringop-overread
115
97
- name : Fedora-36
116
98
# Uses gcc 12.2.0, clang 14.0.5, cmake 3.24.2
117
99
image : " fedora:36"
118
- installer : dnf
119
100
CXXFLAGS : -Wno-stringop-overread
120
101
container :
121
102
image : ${{ matrix.image }}
122
103
env :
123
104
LANG : en_US.UTF-8
124
105
BUILD_TYPE : ${{ matrix.build_type }}
125
- CXXFLAGS : ${{ matrix.CXXFLAGS }}
126
- LDFLAGS : ${{ matrix.LDFLAGS }}
127
106
CC : ${{ matrix.c_compiler }}
128
107
CXX : ${{ matrix.cpp_compiler }}
108
+ CXXFLAGS : ${{ matrix.CXXFLAGS }}
109
+ LDFLAGS : ${{ matrix.LDFLAGS }}
129
110
CPP_VERSION : ${{ matrix.cpp_version }}
130
111
WITH_PROJ : ON
131
112
APT_LISTCHANGES_FRONTEND : none
132
113
DEBIAN_FRONTEND : noninteractive
133
114
steps :
134
115
- name : Prepare container (apt)
116
+ shell : bash
117
+ if : startsWith(matrix.image, 'debian:') || startsWith(matrix.image, 'ubuntu:')
135
118
run : |
136
119
apt-get update -qq
137
120
apt-get install -yq \
@@ -154,13 +137,13 @@ jobs:
154
137
ruby-json \
155
138
spatialite-bin \
156
139
zlib1g-dev
157
- shell : bash
158
- if : matrix.installer == 'apt'
159
140
- name : Install compiler
160
141
shell : bash
161
- run : apt-get install -yq clang-14
162
142
if : matrix.cpp_compiler == 'clang++-14'
143
+ run : apt-get install -yq clang-14
163
144
- name : Prepare container (dnf)
145
+ shell : bash
146
+ if : startsWith(matrix.image, 'fedora:')
164
147
run : |
165
148
dnf install --quiet --assumeyes \
166
149
boost-devel \
@@ -182,8 +165,6 @@ jobs:
182
165
sparsehash-devel \
183
166
spatialite-tools \
184
167
zlib-devel
185
- shell : bash
186
- if : matrix.installer == 'dnf'
187
168
# Use v1 of checkout because v3 doesn't work with submodules
188
169
- uses : actions/checkout@v1
189
170
with :
@@ -218,31 +199,22 @@ jobs:
218
199
- uses : ./.github/actions/build
219
200
- uses : ./.github/actions/ctest
220
201
221
- macos11-dev :
222
- runs-on : macos-11
223
- timeout-minutes : 60
224
- env :
225
- CC : clang
226
- CXX : clang++
227
- BUILD_TYPE : Dev
228
- WITH_PROJ : OFF
229
- steps :
230
- - uses : actions/checkout@v3
231
- with :
232
- submodules : true
233
- - uses : ./.github/actions/install-macos
234
- - uses : ./.github/actions/install-protozero
235
- - uses : ./.github/actions/cmake
236
- - uses : ./.github/actions/build
237
- - uses : ./.github/actions/ctest
238
-
239
- macos11-release :
240
- runs-on : macos-11
202
+ macos :
241
203
timeout-minutes : 60
204
+ strategy :
205
+ fail-fast : false
206
+ matrix :
207
+ os :
208
+ - " macos-11"
209
+ build_type : [Dev]
210
+ include :
211
+ - os : " macos-11"
212
+ build_type : Release
213
+ runs-on : ${{ matrix.os }}
242
214
env :
243
215
CC : clang
244
216
CXX : clang++
245
- BUILD_TYPE : Release
217
+ BUILD_TYPE : ${{ matrix.build_type }}
246
218
WITH_PROJ : OFF
247
219
steps :
248
220
- uses : actions/checkout@v3
@@ -254,9 +226,15 @@ jobs:
254
226
- uses : ./.github/actions/build
255
227
- uses : ./.github/actions/ctest
256
228
257
- windows-2019-minimal :
258
- runs-on : windows-2019
229
+ windows-minimal :
259
230
timeout-minutes : 40
231
+ strategy :
232
+ fail-fast : false
233
+ matrix :
234
+ os :
235
+ - windows-2019
236
+ - windows-2022
237
+ runs-on : ${{ matrix.os }}
260
238
steps :
261
239
- uses : actions/checkout@v3
262
240
with :
@@ -282,16 +260,3 @@ jobs:
282
260
- uses : ./.github/actions/build-windows
283
261
- uses : ./.github/actions/ctest-windows
284
262
285
- windows-2022-minimal :
286
- runs-on : windows-2022
287
- timeout-minutes : 40
288
- steps :
289
- - uses : actions/checkout@v3
290
- with :
291
- submodules : true
292
- - uses : ./.github/actions/install-windows
293
- - uses : ./.github/actions/install-protozero
294
- - uses : ./.github/actions/cmake-windows
295
- - uses : ./.github/actions/build-windows
296
- - uses : ./.github/actions/ctest-windows
297
-
0 commit comments