@@ -18,120 +18,103 @@ jobs:
1818 # Uses gcc 7.5.0, clang 6.0.0, cmake 3.10.2
1919 image : " ubuntu:18.04"
2020 ubuntu : 18
21- installer : apt
2221 - name : Ubuntu-20
2322 # Uses gcc 9.3.0, clang 10.0.0, cmake 3.16.3
2423 image : " ubuntu:20.04"
2524 ubuntu : 20
26- installer : apt
2725 - name : Ubuntu-22
2826 # Uses gcc 11.2.0, clang 14.0.0, cmake 3.22.1
2927 image : " ubuntu:22.04"
3028 ubuntu : 22
31- installer : apt
3229 CXXFLAGS : -Wno-stringop-overread
3330 - name : Debian-9
3431 # Uses gcc 6.3.0, clang 3.8.1, cmake 3.7.2
3532 image : " debian:stretch"
36- installer : apt
3733 - name : Debian-10
3834 # Uses gcc 8.3.0, clang 7.0.1, cmake 3.13.4
3935 image : " debian:buster"
40- installer : apt
4136 - name : Debian-11
4237 # Uses gcc 10.2.1, clang 11.0.1, cmake 3.18.4
4338 image : " debian:bullseye"
44- installer : apt
4539 - name : Debian-11
4640 # Uses gcc 10.2.1, clang 11.0.1, cmake 3.18.4
4741 image : " debian:bullseye"
48- installer : apt
4942 cpp_version : c++17
5043 - name : Debian-11
5144 # Uses gcc 10.2.1, clang 11.0.1, cmake 3.18.4
5245 image : " debian:bullseye"
53- installer : apt
5446 cpp_version : c++20
5547 - name : Debian-11
5648 # Uses gcc 10.2.1, clang 11.0.1, cmake 3.18.4
5749 image : " debian:bullseye"
58- installer : apt
5950 c_compiler : clang
6051 cpp_compiler : clang++
6152 cpp_version : c++17
6253 - name : Debian-11
6354 # Uses gcc 10.2.1, clang 11.0.1, cmake 3.18.4
6455 image : " debian:bullseye"
65- installer : apt
6656 c_compiler : clang
6757 cpp_compiler : clang++
6858 cpp_version : c++20
6959 - name : Debian-11
7060 # Uses gcc 10.2.1, clang 11.0.1, cmake 3.18.4
7161 image : " debian:bullseye"
72- installer : apt
7362 build_type : RelWithDebInfo
7463 - name : Debian-11
7564 # Uses gcc 10.2.1, clang 11.0.1, cmake 3.18.4
7665 image : " debian:bullseye"
77- installer : apt
7866 c_compiler : clang
7967 cpp_compiler : clang++
8068 - name : Debian-11
8169 # Uses gcc 10.2.1, clang 11.0.1, cmake 3.18.4
8270 image : " debian:bullseye"
83- installer : apt
8471 c_compiler : clang
8572 cpp_compiler : clang++
8673 CXXFLAGS : -fsanitize=address,undefined,integer -fno-sanitize-recover=all -fno-omit-frame-pointer
8774 LDFLAGS : -fsanitize=address,undefined,integer
8875 - name : Debian-Testing
8976 # Uses gcc 10.3.0, clang 11.1.0, cmake 3.21.3
9077 image : " debian:testing"
91- installer : apt
9278 CXXFLAGS : -Wno-stringop-overread
9379 - name : Debian-Testing
9480 # Uses gcc 10.3.0, clang 11.1.0, cmake 3.21.3
9581 image : " debian:testing"
96- installer : apt
9782 c_compiler : clang
9883 cpp_compiler : clang++
9984 - name : Debian-Experimental
10085 # Uses gcc 11, clang 14, cmake 3.21.3
10186 image : " debian:experimental"
102- installer : apt
10387 CXXFLAGS : -Wno-stringop-overread
10488 - name : Debian-Experimental
10589 # Uses gcc 11, clang 14, cmake 3.21.3
10690 image : " debian:experimental"
107- installer : apt
10891 c_compiler : clang-14
10992 cpp_compiler : clang++-14
11093 - name : Fedora-35
11194 # Uses gcc 11.2.1, clang 12.0.1, cmake 3.20.5
11295 image : " fedora:35"
113- installer : dnf
11496 CXXFLAGS : -Wno-stringop-overread
11597 - name : Fedora-36
11698 # Uses gcc 12.2.0, clang 14.0.5, cmake 3.24.2
11799 image : " fedora:36"
118- installer : dnf
119100 CXXFLAGS : -Wno-stringop-overread
120101 container :
121102 image : ${{ matrix.image }}
122103 env :
123104 LANG : en_US.UTF-8
124105 BUILD_TYPE : ${{ matrix.build_type }}
125- CXXFLAGS : ${{ matrix.CXXFLAGS }}
126- LDFLAGS : ${{ matrix.LDFLAGS }}
127106 CC : ${{ matrix.c_compiler }}
128107 CXX : ${{ matrix.cpp_compiler }}
108+ CXXFLAGS : ${{ matrix.CXXFLAGS }}
109+ LDFLAGS : ${{ matrix.LDFLAGS }}
129110 CPP_VERSION : ${{ matrix.cpp_version }}
130111 WITH_PROJ : ON
131112 APT_LISTCHANGES_FRONTEND : none
132113 DEBIAN_FRONTEND : noninteractive
133114 steps :
134115 - name : Prepare container (apt)
116+ shell : bash
117+ if : startsWith(matrix.image, 'debian:') || startsWith(matrix.image, 'ubuntu:')
135118 run : |
136119 apt-get update -qq
137120 apt-get install -yq \
@@ -154,13 +137,13 @@ jobs:
154137 ruby-json \
155138 spatialite-bin \
156139 zlib1g-dev
157- shell : bash
158- if : matrix.installer == 'apt'
159140 - name : Install compiler
160141 shell : bash
161- run : apt-get install -yq clang-14
162142 if : matrix.cpp_compiler == 'clang++-14'
143+ run : apt-get install -yq clang-14
163144 - name : Prepare container (dnf)
145+ shell : bash
146+ if : startsWith(matrix.image, 'fedora:')
164147 run : |
165148 dnf install --quiet --assumeyes \
166149 boost-devel \
@@ -182,8 +165,6 @@ jobs:
182165 sparsehash-devel \
183166 spatialite-tools \
184167 zlib-devel
185- shell : bash
186- if : matrix.installer == 'dnf'
187168 # Use v1 of checkout because v3 doesn't work with submodules
188169 - uses : actions/checkout@v1
189170 with :
@@ -218,31 +199,22 @@ jobs:
218199 - uses : ./.github/actions/build
219200 - uses : ./.github/actions/ctest
220201
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 :
241203 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 }}
242214 env :
243215 CC : clang
244216 CXX : clang++
245- BUILD_TYPE : Release
217+ BUILD_TYPE : ${{ matrix.build_type }}
246218 WITH_PROJ : OFF
247219 steps :
248220 - uses : actions/checkout@v3
@@ -254,9 +226,15 @@ jobs:
254226 - uses : ./.github/actions/build
255227 - uses : ./.github/actions/ctest
256228
257- windows-2019-minimal :
258- runs-on : windows-2019
229+ windows-minimal :
259230 timeout-minutes : 40
231+ strategy :
232+ fail-fast : false
233+ matrix :
234+ os :
235+ - windows-2019
236+ - windows-2022
237+ runs-on : ${{ matrix.os }}
260238 steps :
261239 - uses : actions/checkout@v3
262240 with :
@@ -282,16 +260,3 @@ jobs:
282260 - uses : ./.github/actions/build-windows
283261 - uses : ./.github/actions/ctest-windows
284262
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