@@ -107,7 +107,6 @@ jobs:
107
107
uses : protocolbuffers/protobuf-ci/checkout@v3
108
108
with :
109
109
ref : ${{ inputs.safe-checkout }}
110
- submodules : recursive
111
110
- name : Cross compile protoc for ${{ matrix.arch }}
112
111
id : cross-compile
113
112
uses : protocolbuffers/protobuf-ci/cross-compile-protoc@v3
@@ -131,7 +130,7 @@ jobs:
131
130
sccache -z;
132
131
cmake . -DWITH_PROTOC=/workspace/${{ steps.cross-compile.outputs.protoc }}
133
132
-Dprotobuf_BUILD_LIBUPB=OFF -Dprotobuf_BUILD_CONFORMANCE=ON -DCMAKE_CXX_STANDARD=14
134
- -Dprotobuf_WITH_ZLIB=OFF ${{ env.SCCACHE_CMAKE_FLAGS }};
133
+ -Dprotobuf_WITH_ZLIB=OFF -Dprotobuf_FETCH_DEPENDENCIES=ON ${{ env.SCCACHE_CMAKE_FLAGS }};
135
134
cmake --build . --parallel 20;
136
135
ctest --parallel 20;
137
136
sccache -s"
@@ -141,18 +140,19 @@ jobs:
141
140
fail-fast : false # Don't cancel all jobs if one fails.
142
141
matrix :
143
142
include :
144
- - flags : -Dprotobuf_BUILD_EXAMPLES=ON -DCMAKE_CXX_STANDARD=14
143
+ - flags : -Dprotobuf_BUILD_EXAMPLES=ON -DCMAKE_CXX_STANDARD=14 -Dprotobuf_USE_EXTERNAL_GTEST=ON -Dprotobuf_ABSL_PROVIDER=package -Dprotobuf_JSONCPP_PROVIDER=package
145
144
- name : Ninja
146
- flags : -G Ninja -DCMAKE_CXX_STANDARD=14
145
+ flags : -G Ninja -DCMAKE_CXX_STANDARD=14 -Dprotobuf_USE_EXTERNAL_GTEST=ON -Dprotobuf_ABSL_PROVIDER=package -Dprotobuf_JSONCPP_PROVIDER=package
147
146
continuous-only : true
148
147
- name : Shared
149
- flags : -Dprotobuf_BUILD_SHARED_LIBS=ON -Dprotobuf_BUILD_EXAMPLES=ON -DCMAKE_CXX_STANDARD=14
148
+ flags : -Dprotobuf_BUILD_SHARED_LIBS=ON -Dprotobuf_BUILD_EXAMPLES=ON -DCMAKE_CXX_STANDARD=14 -Dprotobuf_USE_EXTERNAL_GTEST=ON -Dprotobuf_ABSL_PROVIDER=package -Dprotobuf_JSONCPP_PROVIDER=package
150
149
continuous-only : true
151
150
- name : C++17
152
- flags : -DCMAKE_CXX_STANDARD=17
153
- # TODO Re-enable this.
154
- # - name: C++20
155
- # flags: -DCMAKE_CXX_STANDARD=20
151
+ flags : -DCMAKE_CXX_STANDARD=17 -Dprotobuf_USE_EXTERNAL_GTEST=ON -Dprotobuf_ABSL_PROVIDER=package -Dprotobuf_JSONCPP_PROVIDER=package
152
+ - name : C++20
153
+ flags : -DCMAKE_CXX_STANDARD=20 -Dprotobuf_USE_EXTERNAL_GTEST=ON -Dprotobuf_ABSL_PROVIDER=package -Dprotobuf_JSONCPP_PROVIDER=package
154
+ - name : Fetch
155
+ flags : -DCMAKE_CXX_STANDARD=17 -Dprotobuf_FETCH_DEPENDENCIES=ON
156
156
157
157
name : ${{ matrix.continuous-only && inputs.continuous-prefix || '' }} Linux CMake ${{ matrix.name}}
158
158
runs-on : ubuntu-latest
@@ -174,45 +174,59 @@ jobs:
174
174
if : ${{ !matrix.continuous-only || inputs.continuous-run }}
175
175
uses : protocolbuffers/protobuf-ci/docker@v3
176
176
with :
177
- image : us-docker.pkg.dev/protobuf-build/containers/test/linux/cmake:3.13.3-384d5abe83a791c6b1ce04f5d7bc0b1f84a30d38
177
+ image : us-docker.pkg.dev/protobuf-build/containers/test/linux/cmake:3.16.9-f39fc8b4e244fe5cd4c7138d0b6959a52b46ca48
178
178
credentials : ${{ secrets.GAR_SERVICE_ACCOUNT }}
179
179
command : >-
180
180
/test.sh ${{ matrix.flags}} ${{ env.SCCACHE_CMAKE_FLAGS }}
181
- -Dprotobuf_BUILD_TESTS=ON -Dprotobuf_USE_EXTERNAL_GTEST=ON
182
- -Dprotobuf_ABSL_PROVIDER=package
181
+ -Dprotobuf_BUILD_TESTS=ON ${{ matrix.package_flags }}
183
182
184
183
linux-cmake-install :
185
- name : Linux CMake Install
184
+ strategy :
185
+ fail-fast : false # Don't cancel all jobs if one fails.
186
+ matrix :
187
+ type : [package, fetch]
188
+ include :
189
+ # Set defaults
190
+ - type : package
191
+ name : Install
192
+ flags : -Dprotobuf_USE_EXTERNAL_GTEST=ON -Dprotobuf_ABSL_PROVIDER=package -Dprotobuf_JSONCPP_PROVIDER=package
193
+ - type : fetch
194
+ name : Install (Fetch)
195
+ flags : -Dprotobuf_FETCH_DEPENDENCIES=ON
196
+ continuous-only : true
197
+ name : ${{ matrix.continuous-only && inputs.continuous-prefix || '' }}Linux CMake ${{ matrix.name }})
186
198
runs-on : ubuntu-latest
187
199
steps :
188
200
- name : Checkout pending changes
189
201
uses : protocolbuffers/protobuf-ci/checkout@v3
202
+ if : ${{ !matrix.continuous-only || inputs.continuous-run }}
190
203
with :
191
204
ref : ${{ inputs.safe-checkout }}
192
- submodules : recursive
193
205
194
206
- name : Setup sccache
195
207
uses : protocolbuffers/protobuf-ci/sccache@v3
208
+ if : ${{ !matrix.continuous-only || inputs.continuous-run }}
196
209
with :
197
210
cache-prefix : linux-cmake-install
198
211
credentials : ${{ secrets.GAR_SERVICE_ACCOUNT }}
199
212
200
213
- name : Run tests
201
214
uses : protocolbuffers/protobuf-ci/docker@v3
215
+ if : ${{ !matrix.continuous-only || inputs.continuous-run }}
202
216
with :
203
- image : us-docker.pkg.dev/protobuf-build/containers/test/linux/cmake:3.13.3-384d5abe83a791c6b1ce04f5d7bc0b1f84a30d38
217
+ image : us-docker.pkg.dev/protobuf-build/containers/test/linux/cmake:3.16.9-f39fc8b4e244fe5cd4c7138d0b6959a52b46ca48
204
218
credentials : ${{ secrets.GAR_SERVICE_ACCOUNT }}
205
219
command : >-
206
220
/install.sh -DCMAKE_CXX_STANDARD=14 ${{ env.SCCACHE_CMAKE_FLAGS }}
207
- -Dprotobuf_USE_EXTERNAL_GTEST=ON -Dprotobuf_ABSL_PROVIDER=package
221
+ ${{ matrix.flags }}
208
222
-Dprotobuf_BUILD_SHARED_LIBS=ON \&\&
209
223
/test.sh
210
224
${{ env.SCCACHE_CMAKE_FLAGS }}
211
225
-Dprotobuf_REMOVE_INSTALLED_HEADERS=ON
212
226
-Dprotobuf_BUILD_PROTOBUF_BINARIES=OFF
213
227
-Dprotobuf_BUILD_CONFORMANCE=ON
214
228
-DCMAKE_CXX_STANDARD=14
215
- -Dprotobuf_USE_EXTERNAL_GTEST=ON -Dprotobuf_ABSL_PROVIDER=package
229
+ ${{ matrix.flags }}
216
230
217
231
# This test should always be skipped on presubmit
218
232
linux-cmake-examples :
@@ -236,7 +250,7 @@ jobs:
236
250
if : ${{ inputs.continuous-run }}
237
251
uses : protocolbuffers/protobuf-ci/docker@v3
238
252
with :
239
- image : us-docker.pkg.dev/protobuf-build/containers/test/linux/cmake:3.13.3-384d5abe83a791c6b1ce04f5d7bc0b1f84a30d38
253
+ image : us-docker.pkg.dev/protobuf-build/containers/test/linux/cmake:3.16.9-f39fc8b4e244fe5cd4c7138d0b6959a52b46ca48
240
254
credentials : ${{ secrets.GAR_SERVICE_ACCOUNT }}
241
255
command : >-
242
256
/install.sh -DCMAKE_CXX_STANDARD=14 ${{ env.SCCACHE_CMAKE_FLAGS }}
@@ -268,7 +282,6 @@ jobs:
268
282
uses : protocolbuffers/protobuf-ci/checkout@v3
269
283
with :
270
284
ref : ${{ inputs.safe-checkout }}
271
- submodules : recursive
272
285
273
286
- name : Setup sccache
274
287
if : ${{ !matrix.continuous-only || inputs.continuous-run }}
@@ -288,7 +301,7 @@ jobs:
288
301
-c 'set -ex;
289
302
cd /workspace;
290
303
sccache -z;
291
- cmake . ${{ matrix.flags }} ${{ env.SCCACHE_CMAKE_FLAGS }};
304
+ cmake . ${{ matrix.flags }} ${{ env.SCCACHE_CMAKE_FLAGS }} -Dprotobuf_FETCH_DEPENDENCIES=ON ;
292
305
cmake --build . --parallel 20;
293
306
ctest --verbose --parallel 20;
294
307
sccache -s'
@@ -312,7 +325,7 @@ jobs:
312
325
- name : Run tests
313
326
uses : protocolbuffers/protobuf-ci/docker@v3
314
327
with :
315
- image : us-docker.pkg.dev/protobuf-build/containers/test/linux/cmake:3.13.3-384d5abe83a791c6b1ce04f5d7bc0b1f84a30d38
328
+ image : us-docker.pkg.dev/protobuf-build/containers/test/linux/cmake:3.16.9-f39fc8b4e244fe5cd4c7138d0b6959a52b46ca48
316
329
credentials : ${{ secrets.GAR_SERVICE_ACCOUNT }}
317
330
command : >-
318
331
/test.sh ${{ env.SCCACHE_CMAKE_FLAGS }}
@@ -326,7 +339,6 @@ jobs:
326
339
uses : protocolbuffers/protobuf-ci/checkout@v3
327
340
with :
328
341
ref : ${{ inputs.safe-checkout }}
329
- submodules : recursive
330
342
331
343
- name : Setup sccache
332
344
uses : protocolbuffers/protobuf-ci/sccache@v3
@@ -337,14 +349,14 @@ jobs:
337
349
- name : Run tests
338
350
uses : protocolbuffers/protobuf-ci/docker@v3
339
351
with :
340
- image : us-docker.pkg.dev/protobuf-build/containers/test/linux/32bit@sha256:429f924aec315704b4233adcbe4b29006116f27769db98acd176b9eb69c31299
352
+ image : us-docker.pkg.dev/protobuf-build/containers/test/linux/32bit@sha256:56548bef786201330017eae685cc3d2fdb564fd2ca3b88e30e28d84572e4c5dd
341
353
platform : linux/386
342
354
credentials : ${{ secrets.GAR_SERVICE_ACCOUNT }}
343
355
command : >-
344
356
/bin/bash -cex '
345
357
cd /workspace;
346
358
sccache -z;
347
- cmake . -DCMAKE_CXX_STANDARD=14 ${{ env.SCCACHE_CMAKE_FLAGS }};
359
+ cmake . -DCMAKE_CXX_STANDARD=14 -Dprotobuf_FETCH_DEPENDENCIES=ON ${{ env.SCCACHE_CMAKE_FLAGS }};
348
360
cmake --build . --parallel 20;
349
361
ctest --verbose --parallel 20;
350
362
sccache -s'
@@ -460,7 +472,6 @@ jobs:
460
472
uses : protocolbuffers/protobuf-ci/checkout@v3
461
473
with :
462
474
ref : ${{ inputs.safe-checkout }}
463
- submodules : recursive
464
475
465
476
- name : Setup MSVC
466
477
if : ${{ runner.os == 'Windows' && (!matrix.continuous-only || inputs.continuous-run) }}
@@ -499,7 +510,7 @@ jobs:
499
510
uses : protocolbuffers/protobuf-ci/bash@v3
500
511
with :
501
512
credentials : ${{ secrets.GAR_SERVICE_ACCOUNT }}
502
- command : cmake . ${{ matrix.install-flags }} ${{ env.SCCACHE_CMAKE_FLAGS }} -Dprotobuf_ALLOW_CCACHE=ON
513
+ command : cmake . ${{ matrix.install-flags }} ${{ env.SCCACHE_CMAKE_FLAGS }} -Dprotobuf_ALLOW_CCACHE=ON -Dprotobuf_FETCH_DEPENDENCIES=ON
503
514
- name : Build for install
504
515
if : ${{ matrix.install-flags && (!matrix.continuous-only || inputs.continuous-run) }}
505
516
shell : bash
@@ -522,7 +533,7 @@ jobs:
522
533
uses : protocolbuffers/protobuf-ci/bash@v3
523
534
with :
524
535
credentials : ${{ secrets.GAR_SERVICE_ACCOUNT }}
525
- command : cmake . ${{ matrix.flags }} ${{ env.SCCACHE_CMAKE_FLAGS }} -Dprotobuf_ALLOW_CCACHE=ON
536
+ command : cmake . ${{ matrix.flags }} ${{ env.SCCACHE_CMAKE_FLAGS }} -Dprotobuf_ALLOW_CCACHE=ON -Dprotobuf_FETCH_DEPENDENCIES=ON
526
537
527
538
- name : Build
528
539
if : ${{ !matrix.continuous-only || inputs.continuous-run }}
0 commit comments