14
14
15
15
env :
16
16
# Packaging prerequisites
17
- # Binutils 2.34 released Feb 1 , 2020
18
- binutilsVer : 2.34
17
+ # Binutils 2.35.1 released Sep 19 , 2020
18
+ binutilsVer : 2.35.1
19
19
# Demumble 1.1.0 released Nov 13, 2018
20
20
demumbleVer : 1.1.0
21
21
# Use SHA256 for hashing files.
@@ -197,67 +197,47 @@ jobs:
197
197
path : firebase-cpp-sdk-android-${{ matrix.stl }}-package.tgz
198
198
199
199
build_desktop :
200
- name : build-${{ matrix.sdk_platform }}-${{ matrix.architecture }}-${{ matrix.build_type }}-${{ matrix.linkage }}
200
+ name : build-${{ matrix.sdk_platform }}-${{ matrix.architecture }}-${{ matrix.build_type }}-${{ matrix.msvc_runtime }}
201
201
runs-on : ${{ matrix.os }}
202
202
if : ${{ github.event.inputs.downloadPublicVersion == '' && github.event.inputs.downloadPreviousRun == '' }}
203
203
strategy :
204
204
fail-fast : false
205
205
matrix :
206
206
os : [windows-latest, ubuntu-latest, macos-latest]
207
- architecture : ["x86 ", "x64 "]
208
- build_type : ["Debug ", "Release "]
209
- linkage : ["dynamic ", "static "]
207
+ build_type : ["Release ", "Debug "]
208
+ architecture : ["x64 ", "x86 "]
209
+ msvc_runtime : ["static ", "dynamic "]
210
210
python_version : [3.7]
211
211
include :
212
212
- os : windows-latest
213
- linkage : " static"
214
- architecture : " x64"
215
- vcpkg_triplet : " x64-windows-static"
216
- sdk_platform : windows
213
+ vcpkg_triplet_suffix : " windows-static"
217
214
additional_build_flags : " --build_tests"
215
+ sdk_platform : " windows"
218
216
- os : windows-latest
219
- linkage : " dynamic"
220
- architecture : " x64"
221
- vcpkg_triplet : " x64-windows"
222
- sdk_platform : windows
223
- additional_build_flags : " --build_tests"
224
- - os : windows-latest
225
- linkage : " static"
226
- architecture : " x86"
227
- vcpkg_triplet : " x86-windows-static"
228
- sdk_platform : windows
229
- additional_build_flags : " --build_tests"
230
- - os : windows-latest
231
- linkage : " dynamic"
232
- architecture : " x86"
233
- vcpkg_triplet : " x86-windows"
234
- sdk_platform : windows
217
+ msvc_runtime : " dynamic"
218
+ vcpkg_triplet_suffix : " windows-static-md"
235
219
additional_build_flags : " --build_tests"
220
+ sdk_platform : " windows"
236
221
- os : ubuntu-latest
237
- architecture : " x86"
238
- vcpkg_triplet : " x86-linux-dynamic" # special case
239
- sdk_platform : linux
240
- additional_build_flags : " "
241
- - os : ubuntu-latest
242
- architecture : " x64"
243
- vcpkg_triplet : " x64-linux"
244
- sdk_platform : linux
222
+ vcpkg_triplet_suffix : " linux"
245
223
additional_build_flags : " "
224
+ sdk_platform : " linux"
246
225
- os : macos-latest
247
- vcpkg_triplet : " x64-osx"
248
- sdk_platform : darwin
226
+ vcpkg_triplet_suffix : " osx"
249
227
additional_build_flags : " --target_format libraries"
228
+ sdk_platform : " darwin"
229
+
250
230
exclude :
251
231
- os : macos-latest
252
232
architecture : " x86"
253
233
- os : macos-latest
254
- build_type : " Debug "
234
+ msvc_runtime : " dynamic "
255
235
- os : macos-latest
256
- linkage : " dynamic"
257
- - os : ubuntu-latest
258
236
build_type : " Debug"
259
237
- os : ubuntu-latest
260
- linkage : " dynamic"
238
+ msvc_runtime : " dynamic"
239
+ - os : ubuntu-latest
240
+ build_type : " Debug"
261
241
262
242
steps :
263
243
- uses : actions/checkout@v2
@@ -270,18 +250,18 @@ jobs:
270
250
run : |
271
251
echo "VCPKG_RESPONSE_FILE=external/vcpkg_${{ matrix.vcpkg_triplet }}_response_file.txt" >> $GITHUB_ENV
272
252
echo "MATRIX_UNIQUE_NAME=${{ matrix.os }}-${{ matrix.build_type }}-${{ matrix.architecture }}-${{ matrix.python_version }}" >> $GITHUB_ENV
273
- echo "SDK_NAME=${{ matrix.sdk_platform }}-${{ matrix.architecture }}-${{ matrix.build_type }}-${{ matrix.linkage }}" >> $GITHUB_ENV
253
+ echo "SDK_NAME=${{ matrix.sdk_platform }}-${{ matrix.architecture }}-${{ matrix.build_type }}-${{ matrix.msvc_runtime }}" >> $GITHUB_ENV
274
254
275
255
- name : Add msbuild to PATH (windows)
276
256
if : startsWith(matrix.os, 'windows')
277
- uses :
microsoft/[email protected] .1
257
+ uses :
microsoft/[email protected] .2
278
258
279
259
- name : Cache vcpkg C++ dependencies
280
260
id : cache_vcpkg
281
261
uses : actions/cache@v2
282
262
with :
283
263
path : external/vcpkg/installed
284
- key : dev-vcpkg-${{ matrix.vcpkg_triplet }}-${{ hashFiles(format('{0}', env.VCPKG_RESPONSE_FILE)) }}-${{ hashFiles('.git/modules/external/vcpkg/HEAD') }}
264
+ key : dev-vcpkg-${{ matrix.architecture }}-${{ matrix.vcpkg_triplet_suffix }}-${{ matrix.msvc_runtime }}-${{ hashFiles(format('{0}', env.VCPKG_RESPONSE_FILE)) }}-${{ hashFiles('.git/modules/external/vcpkg/HEAD') }}
285
265
286
266
- name : Cache ccache files
287
267
if : startsWith(matrix.os, 'ubuntu') || startsWith(matrix.os, 'macos')
@@ -303,21 +283,27 @@ jobs:
303
283
- name : Build desktop SDK
304
284
shell : bash
305
285
run : |
306
- python scripts/gha/build_desktop.py --arch "${{ matrix.architecture }}" --config "${{ matrix.build_type }}" --build_dir firebase-cpp-sdk -${{ env.SDK_NAME }}-build ${{ matrix.additional_build_flags }}
286
+ python scripts/gha/build_desktop.py --arch "${{ matrix.architecture }}" --config "${{ matrix.build_type }}" --msvc_runtime_library "${{ matrix.msvc_runtime }}" --build_dir out -${{ env.SDK_NAME }} ${{ matrix.additional_build_flags }}
307
287
# Make a list of all the source files, for debugging purposes.
308
- cd firebase-cpp-sdk- ${{ env.SDK_NAME }}-build
288
+ cd out- ${{ env.SDK_NAME }}
309
289
find .. -type f -print > src_file_list.txt
310
290
tar -czhf ../firebase-cpp-sdk-${{ env.SDK_NAME }}-build.tgz .
311
291
312
292
- name : Print built libraries
313
293
shell : bash
314
294
run : |
315
- find firebase-cpp-sdk-*-build -name "*.lib"
316
- find firebase-cpp-sdk-*-build -name "*.dll"
317
- find firebase-cpp-sdk-*-build -name "*.dylib"
318
- find firebase-cpp-sdk-*-build -name "*.a"
319
- find firebase-cpp-sdk-*-build -name "*.so"
320
- find firebase-cpp-sdk-*-build -name "*.framework"
295
+ find out-* -name "*.lib"
296
+ find out-* -name "*.dll"
297
+ find out-* -name "*.dylib"
298
+ find out-* -name "*.a"
299
+ find out-* -name "*.so"
300
+ find out-* -name "*.framework"
301
+
302
+ - name : Inspect firebase libraries for cpu arch and msvc runtime.
303
+ shell : bash
304
+ run : |
305
+ python scripts/gha/inspect_built_libraries.py out-${{ env.SDK_NAME }}/
306
+ continue-on-error : true
321
307
322
308
- name : upload artifacts
323
309
uses : actions/upload-artifact@v2
0 commit comments