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
@@ -159,90 +159,71 @@ jobs:
159
159
path : firebase-cpp-sdk-android-${{ matrix.stl }}-package.tgz
160
160
161
161
build_desktop :
162
- name : build-${{ matrix.sdk_platform }}-${{ matrix.architecture }}-${{ matrix.build_type }}-${{ matrix.linkage }}
162
+ name : build-${{ matrix.sdk_platform }}-${{ matrix.architecture }}-${{ matrix.build_type }}-${{ matrix.msvc_runtime }}
163
163
runs-on : ${{ matrix.os }}
164
164
if : ${{ github.event.inputs.downloadPublicVersion == '' && github.event.inputs.downloadPreviousRun == '' }}
165
165
strategy :
166
166
fail-fast : false
167
167
matrix :
168
168
os : [windows-latest, ubuntu-latest, macos-latest]
169
- architecture : ["x86 ", "x64 "]
170
- build_type : ["Debug ", "Release "]
171
- linkage : ["dynamic ", "static "]
169
+ build_type : ["Release ", "Debug "]
170
+ architecture : ["x64 ", "x86 "]
171
+ msvc_runtime : ["static ", "dynamic "]
172
172
python_version : [3.7]
173
173
include :
174
174
- os : windows-latest
175
- linkage : " static"
176
- architecture : " x64"
177
- vcpkg_triplet : " x64-windows-static"
178
- sdk_platform : windows
175
+ vcpkg_triplet_suffix : " windows-static"
179
176
additional_build_flags : " --build_tests"
177
+ sdk_platform : " windows"
180
178
- os : windows-latest
181
- linkage : " dynamic"
182
- architecture : " x64"
183
- vcpkg_triplet : " x64-windows"
184
- sdk_platform : windows
179
+ msvc_runtime : " dynamic"
180
+ vcpkg_triplet_suffix : " windows-static-md"
185
181
additional_build_flags : " --build_tests"
186
- - os : windows-latest
187
- linkage : " static"
188
- architecture : " x86"
189
- vcpkg_triplet : " x86-windows-static"
190
- sdk_platform : windows
191
- additional_build_flags : " --build_tests"
192
- - os : windows-latest
193
- linkage : " dynamic"
194
- architecture : " x86"
195
- vcpkg_triplet : " x86-windows"
196
- sdk_platform : windows
197
- additional_build_flags : " --build_tests"
198
- - os : ubuntu-latest
199
- architecture : " x86"
200
- vcpkg_triplet : " x86-linux-dynamic" # special case
201
- sdk_platform : linux
202
- additional_build_flags : " "
182
+ sdk_platform : " windows"
203
183
- os : ubuntu-latest
204
- architecture : " x64"
205
- vcpkg_triplet : " x64-linux"
206
- sdk_platform : linux
184
+ vcpkg_triplet_suffix : " linux"
207
185
additional_build_flags : " "
186
+ sdk_platform : " linux"
208
187
- os : macos-latest
209
- vcpkg_triplet : " x64-osx"
210
- sdk_platform : darwin
188
+ vcpkg_triplet_suffix : " osx"
211
189
additional_build_flags : " --target_format libraries"
190
+ sdk_platform : " darwin"
191
+
212
192
exclude :
213
193
- os : macos-latest
214
194
architecture : " x86"
215
195
- os : macos-latest
216
- build_type : " Debug "
196
+ msvc_runtime : " dynamic "
217
197
- os : macos-latest
218
- linkage : " dynamic"
219
- - os : ubuntu-latest
220
198
build_type : " Debug"
221
199
- os : ubuntu-latest
222
- linkage : " dynamic"
223
-
200
+ msvc_runtime : " dynamic"
201
+ - os : ubuntu-latest
202
+ build_type : " Debug"
203
+
224
204
steps :
225
205
- uses : actions/checkout@v2
226
206
with :
227
207
submodules : true
228
208
ref : ${{ github.event.inputs.commitIdToPackage }}
229
209
230
210
- name : Set env variables for subsequent steps (all)
211
+ shell : bash
231
212
run : |
232
213
echo "VCPKG_RESPONSE_FILE=external/vcpkg_${{ matrix.vcpkg_triplet }}_response_file.txt" >> $GITHUB_ENV
233
214
echo "MATRIX_UNIQUE_NAME=${{ matrix.os }}-${{ matrix.build_type }}-${{ matrix.architecture }}-${{ matrix.python_version }}" >> $GITHUB_ENV
234
- echo "SDK_NAME=${{ matrix.sdk_platform }}-${{ matrix.architecture }}-${{ matrix.build_type }}-${{ matrix.linkage }}" >> $GITHUB_ENV
215
+ echo "SDK_NAME=${{ matrix.sdk_platform }}-${{ matrix.architecture }}-${{ matrix.build_type }}-${{ matrix.msvc_runtime }}" >> $GITHUB_ENV
235
216
236
217
- name : Add msbuild to PATH (windows)
237
218
if : startsWith(matrix.os, 'windows')
238
- uses :
microsoft/[email protected] .1
219
+ uses :
microsoft/[email protected] .2
239
220
240
221
- name : Cache vcpkg C++ dependencies
241
222
id : cache_vcpkg
242
223
uses : actions/cache@v2
243
224
with :
244
225
path : external/vcpkg/installed
245
- key : dev-vcpkg-${{ matrix.vcpkg_triplet }}-${{ hashFiles(format('{0}', env.VCPKG_RESPONSE_FILE)) }}-${{ hashFiles('.git/modules/external/vcpkg/HEAD') }}
226
+ 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') }}
246
227
247
228
- name : Cache ccache files
248
229
if : startsWith(matrix.os, 'ubuntu') || startsWith(matrix.os, 'macos')
@@ -264,20 +245,28 @@ jobs:
264
245
- name : Build desktop SDK
265
246
shell : bash
266
247
run : |
267
- 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 }}
248
+ 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 }}
268
249
# Make a list of all the source files, for debugging purposes.
269
- cd firebase-cpp-sdk- ${{ env.SDK_NAME }}-build
250
+ cd out- ${{ env.SDK_NAME }}
270
251
find .. -type f -print > src_file_list.txt
271
252
tar -czhf ../firebase-cpp-sdk-${{ env.SDK_NAME }}-build.tgz .
253
+
272
254
- name : Print built libraries
273
255
shell : bash
274
256
run : |
275
- find firebase-cpp-sdk-*-build -name "*.lib"
276
- find firebase-cpp-sdk-*-build -name "*.dll"
277
- find firebase-cpp-sdk-*-build -name "*.dylib"
278
- find firebase-cpp-sdk-*-build -name "*.a"
279
- find firebase-cpp-sdk-*-build -name "*.so"
280
- find firebase-cpp-sdk-*-build -name "*.framework"
257
+ find out-* -name "*.lib"
258
+ find out-* -name "*.dll"
259
+ find out-* -name "*.dylib"
260
+ find out-* -name "*.a"
261
+ find out-* -name "*.so"
262
+ find out-* -name "*.framework"
263
+
264
+ - name : Inspect firebase libraries for cpu arch and msvc runtime.
265
+ shell : bash
266
+ run : |
267
+ python scripts/gha/inspect_built_libraries.py out-${{ env.SDK_NAME }}/
268
+ continue-on-error : true
269
+
281
270
- name : upload artifacts
282
271
uses : actions/upload-artifact@v2
283
272
with :
@@ -424,7 +413,7 @@ jobs:
424
413
with :
425
414
name : firebase_cpp_sdk
426
415
path : firebase-cpp-sdk-final
427
-
416
+
428
417
merge_packages :
429
418
name : final-merge-packages
430
419
runs-on : ubuntu-latest
0 commit comments