Force-disable BMI2 instruction set when building snappy.lib #237
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: firebase | |
on: | |
pull_request: | |
workflow_dispatch: | |
jobs: | |
windows: | |
runs-on: windows-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- arch: 'amd64' | |
platform: 'x64' | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 1 | |
path: ${{ github.workspace }}/SourceCache/flatbuffers | |
ref: 99aa1ef21dd9dc3f9d4fb0eb82f4b59d0bb5e4c5 | |
repository: google/flatbuffers | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 1 | |
path: ${{ github.workspace }}/SourceCache/firebase-cpp-sdk | |
repository: thebrowsercompany/firebase-cpp-sdk | |
- uses: compnerd/gha-setup-vsdevenv@main | |
with: | |
host_arch: amd64 | |
components: 'Microsoft.VisualStudio.Component.VC.Tools.x86.x64;Microsoft.VisualStudio.Component.VC.Tools.ARM64' | |
arch: ${{ matrix.arch }} | |
- uses: actions/setup-python@v4 | |
id: python | |
with: | |
python-version: 3.9 | |
architecture: 'x64' | |
- name: Install absl-py | |
run: pip install absl-py | |
- name: Configure flatbuffers | |
run: | |
cmake -B ${{ github.workspace }}/BinaryCache/flatbuffers ` | |
-D CMAKE_BUILD_TYPE=Release ` | |
-G "Visual Studio 17 2022" ` | |
-A x64 ` | |
-S ${{ github.workspace }}/SourceCache/flatbuffers | |
- name: Build flatc | |
run: cmake --build ${{ github.workspace }}/BinaryCache/flatbuffers --config Release --target flatc | |
- name: Adjust cmake build settings for debugging | |
run: powershell ${{ github.workspace }}/SourceCache/firebase-cpp-sdk/build_scripts/windows/fix_cmake_debugflags.ps1 ${{ github.workspace }}/SourceCache/firebase-cpp-sdk/CMakeLists.txt | |
# For curl we set '-D HAVE_IOCTLSOCKET_FIONBIO=1'. This should automatically be set to 1 by | |
# https://github.com/curl/curl/blob/60580f9f214869b501ba0caaa5a6bf335e6aee1d/CMake/Platforms/WindowsCache.cmake | |
# but this is not what we observe in CI. | |
- name: Configure firebase | |
run: | |
cmake -B ${{ github.workspace }}/BinaryCache/firebase ` | |
-D BUILD_SHARED_LIBS=NO ` | |
-D CMAKE_BUILD_TYPE=Release ` | |
-D CMAKE_INSTALL_PREFIX=${{ github.workspace }}/BuildRoot/Library/firebase/usr ` | |
-G "Visual Studio 17 2022" ` | |
-A ${{ matrix.platform }} ` | |
-S ${{ github.workspace }}/SourceCache/firebase-cpp-sdk ` | |
-D FLATBUFFERS_BUILD_FLATC=NO ` | |
-D FIREBASE_CPP_BUILD_PACKAGE=YES ` | |
-D FIREBASE_GITHUB_ACTION_BUILD=YES ` | |
-D FIREBASE_INCLUDE_LIBRARY_DEFAULT=OFF ` | |
-D FIREBASE_INCLUDE_AUTH=YES ` | |
-D FIREBASE_INCLUDE_FIRESTORE=YES ` | |
-D FIREBASE_INCLUDE_FUNCTIONS=YES ` | |
-D FIREBASE_INCLUDE_STORAGE=YES ` | |
-D FIREBASE_USE_BORINGSSL=YES ` | |
-D MSVC_RUNTIME_LIBRARY_STATIC=NO ` | |
-D CMAKE_C_FLAGS="/D_HAS_EXCEPTIONS=0 /EHsc- /DSNAPPY_HAVE_BMI2=0" ` | |
-D CMAKE_CXX_FLAGS="/D_HAS_EXCEPTIONS=0 /EHsc- /DSNAPPY_HAVE_BMI2=0" ` | |
-D CMAKE_MSVC_DEBUG_INFORMATION_FORMAT=Embedded ` | |
-D HAVE_IOCTLSOCKET_FIONBIO=1 ` | |
-D FIREBASE_PYTHON_HOST_EXECUTABLE:FILEPATH=${{ steps.python.outputs.python-path }} ` | |
-D FLATBUFFERS_FLATC_EXECUTABLE=${{ github.workspace }}/BinaryCache/flatbuffers/Release/flatc.exe | |
- name: Adjust external project build settings for debugging | |
run: | | |
$names = Get-ChildItem -Path "${{ github.workspace }}/BinaryCache/firebase" -File -Recurse -Filter CMakeLists.txt | |
foreach ($name in $names) { | |
$fullName = $name.FullName | |
powershell ${{ github.workspace }}/SourceCache/firebase-cpp-sdk/build_scripts/windows/fix_cmake_debugflags.ps1 $fullName | |
Write-Host "... fixed up debug options for ${fullName}" | |
} | |
- name: Configure firebase after build setting adjustments | |
run: | |
cmake -B ${{ github.workspace }}/BinaryCache/firebase ` | |
-D BUILD_SHARED_LIBS=NO ` | |
-D CMAKE_BUILD_TYPE=Release ` | |
-D CMAKE_INSTALL_PREFIX=${{ github.workspace }}/BuildRoot/Library/firebase/usr ` | |
-G "Visual Studio 17 2022" ` | |
-A ${{ matrix.platform }} ` | |
-S ${{ github.workspace }}/SourceCache/firebase-cpp-sdk ` | |
-D FLATBUFFERS_BUILD_FLATC=NO ` | |
-D FIREBASE_CPP_BUILD_PACKAGE=YES ` | |
-D FIREBASE_GITHUB_ACTION_BUILD=YES ` | |
-D FIREBASE_INCLUDE_LIBRARY_DEFAULT=OFF ` | |
-D FIREBASE_INCLUDE_AUTH=YES ` | |
-D FIREBASE_INCLUDE_FIRESTORE=YES ` | |
-D FIREBASE_INCLUDE_FUNCTIONS=YES ` | |
-D FIREBASE_INCLUDE_STORAGE=YES ` | |
-D FIREBASE_USE_BORINGSSL=YES ` | |
-D MSVC_RUNTIME_LIBRARY_STATIC=NO ` | |
-D CMAKE_MSVC_DEBUG_INFORMATION_FORMAT=Embedded ` | |
-D FIREBASE_PYTHON_HOST_EXECUTABLE:FILEPATH=${{ steps.python.outputs.python-path }} ` | |
-D FLATBUFFERS_FLATC_EXECUTABLE=${{ github.workspace }}/BinaryCache/flatbuffers/Release/flatc.exe | |
- name: Build firebase | |
run: cmake --build ${{ github.workspace }}/BinaryCache/firebase --config RelWithDebInfo | |
- name: Install firebase | |
run: cmake --build ${{ github.workspace }}/BinaryCache/firebase --config RelWithDebInfo --target install | |
- name: Install firebase (manual) | |
run: | | |
Copy-Item "${{ github.workspace }}/BinaryCache/firebase/external/src/firestore/Firestore/core/include/firebase/firestore/firestore_errors.h" "${{ github.workspace }}/BuildRoot/Library/firebase/usr/include/firebase/firestore/firestore_errors.h" | |
Copy-Item "${{ github.workspace }}/BinaryCache/firebase/external/src/firestore/Firestore/core/include/firebase/firestore/geo_point.h" "${{ github.workspace }}/BuildRoot/Library/firebase/usr/include/firebase/firestore/geo_point.h" | |
Copy-Item "${{ github.workspace }}/BinaryCache/firebase/external/src/firestore/Firestore/core/include/firebase/firestore/timestamp.h" "${{ github.workspace }}/BuildRoot/Library/firebase/usr/include/firebase/firestore/timestamp.h" | |
Write-Host "Copying static libraries ..." | |
$source = "${{ github.workspace }}/BinaryCache/firebase" | |
$libraries = Get-ChildItem -Path $source -File -Recurse -Filter *.lib | |
foreach ($library in $libraries) { | |
$destination = Join-Path -Path "${{ github.workspace }}/BuildRoot/Library/firebase/usr/libs/windows" -ChildPath $library.Name | |
Copy-Item -Path $library.FullName -Destination $destination -Force | |
Write-Host "... copied ${destination}" | |
} | |
- name: Check for Snappy BMI2 instructions | |
run: | | |
Write-Host "Checking for BMI2 instructions on Snappy.lib..." | |
$output = dumpbin /DISASM "${{ github.workspace }}/BuildRoot/Library/firebase/usr/libs/windows/snappy.lib" | Select-String -Pattern "bzhi" | |
if ($output) { | |
Write-Error "The instruction 'bzhi' was found in the disassembly." | |
Write-Error $output | |
exit 1 | |
} else { | |
Write-Output "Success! The instruction 'bzhi' was not found in the disassembly." | |
} | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: firebase-windows-${{ matrix.arch }} | |
path: ${{ github.workspace }}/BuildRoot/Library/firebase | |
- name: Print built libraries | |
run: Get-ChildItem -Recurse -Name -Path ${{ github.workspace }}\BuildRoot\Library\firebase -Include *.lib | |
- name: Package firebase-cpp-sdk | |
run: | | |
@" | |
<?xml version="1.0" encoding="utf-8"?> | |
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd"> | |
<metadata> | |
<id>com.google.firebase.windows.${{ matrix.arch }}</id> | |
<version>0.0.0.0</version> | |
<title>Firebase C++ SDK</title> | |
<description>C++ Firebase SDK</description> | |
<authors>Google, Inc.</authors> | |
<projectUrl>https://firebase.google.com</projectUrl> | |
<repository type="git" url="https://github.com/google/firebase-cpp-sdk" branch="main" /> | |
</metadata> | |
<files> | |
<file src="`$BUILDROOT`$\usr\include\firebase\app.h" target="include/firebase" /> | |
<file src="`$BUILDROOT`$\usr\include\firebase\auth.h" target="include/firebase" /> | |
<file src="`$BUILDROOT`$\usr\include\firebase\firestore.h" target="include/firebase" /> | |
<file src="`$BUILDROOT`$\usr\include\firebase\functions.h" target="include/firebase" /> | |
<file src="`$BUILDROOT`$\usr\include\firebase\future.h" target="include/firebase" /> | |
<file src="`$BUILDROOT`$\usr\include\firebase\log.h" target="include/firebase" /> | |
<file src="`$BUILDROOT`$\usr\include\firebase\storage.h" target="include/firebase" /> | |
<file src="`$BUILDROOT`$\usr\include\firebase\util.h" target="include/firebase" /> | |
<file src="`$BUILDROOT`$\usr\include\firebase\variant.h" target="include/firebase" /> | |
<file src="`$BUILDROOT`$\usr\include\firebase\auth\credential.h" target="include/firebase/auth" /> | |
<file src="`$BUILDROOT`$\usr\include\firebase\auth\types.h" target="include/firebase/auth" /> | |
<file src="`$BUILDROOT`$\usr\include\firebase\auth\user.h" target="include/firebase/auth" /> | |
<file src="`$BUILDROOT`$\usr\include\firebase\firestore\aggregate_query.h" target="include/firebase/firestore" /> | |
<file src="`$BUILDROOT`$\usr\include\firebase\firestore\aggregate_query_snapshot.h" target="include/firebase/firestore" /> | |
<file src="`$BUILDROOT`$\usr\include\firebase\firestore\aggregate_source.h" target="include/firebase/firestore" /> | |
<file src="`$BUILDROOT`$\usr\include\firebase\firestore\collection_reference.h" target="include/firebase/firestore" /> | |
<file src="`$BUILDROOT`$\usr\include\firebase\firestore\document_change.h" target="include/firebase/firestore" /> | |
<file src="`$BUILDROOT`$\usr\include\firebase\firestore\document_reference.h" target="include/firebase/firestore" /> | |
<file src="`$BUILDROOT`$\usr\include\firebase\firestore\document_snapshot.h" target="include/firebase/firestore" /> | |
<file src="`$BUILDROOT`$\usr\include\firebase\firestore\field_path.h" target="include/firebase/firestore" /> | |
<file src="`$BUILDROOT`$\usr\include\firebase\firestore\field_value.h" target="include/firebase/firestore" /> | |
<file src="`$BUILDROOT`$\usr\include\firebase\firestore\filter.h" target="include/firebase/firestore" /> | |
<file src="`$BUILDROOT`$\usr\include\firebase\firestore\firestore_errors.h" target="include/firebase/firestore" /> | |
<file src="`$BUILDROOT`$\usr\include\firebase\firestore\geo_point.h" target="include/firebase/firestore" /> | |
<file src="`$BUILDROOT`$\usr\include\firebase\firestore\listener_registration.h" target="include/firebase/firestore" /> | |
<file src="`$BUILDROOT`$\usr\include\firebase\firestore\load_bundle_task_progress.h" target="include/firebase/firestore" /> | |
<file src="`$BUILDROOT`$\usr\include\firebase\firestore\map_field_value.h" target="include/firebase/firestore" /> | |
<file src="`$BUILDROOT`$\usr\include\firebase\firestore\metadata_changes.h" target="include/firebase/firestore" /> | |
<file src="`$BUILDROOT`$\usr\include\firebase\firestore\query.h" target="include/firebase/firestore" /> | |
<file src="`$BUILDROOT`$\usr\include\firebase\firestore\query_snapshot.h" target="include/firebase/firestore" /> | |
<file src="`$BUILDROOT`$\usr\include\firebase\firestore\settings.h" target="include/firebase/firestore" /> | |
<file src="`$BUILDROOT`$\usr\include\firebase\firestore\set_options.h" target="include/firebase/firestore" /> | |
<file src="`$BUILDROOT`$\usr\include\firebase\firestore\snapshot_metadata.h" target="include/firebase/firestore" /> | |
<file src="`$BUILDROOT`$\usr\include\firebase\firestore\source.h" target="include/firebase/firestore" /> | |
<file src="`$BUILDROOT`$\usr\include\firebase\firestore\timestamp.h" target="include/firebase/firestore" /> | |
<file src="`$BUILDROOT`$\usr\include\firebase\firestore\transaction.h" target="include/firebase/firestore" /> | |
<file src="`$BUILDROOT`$\usr\include\firebase\firestore\transaction_options.h" target="include/firebase/firestore" /> | |
<file src="`$BUILDROOT`$\usr\include\firebase\firestore\write_batch.h" target="include/firebase/firestore" /> | |
<file src="`$BUILDROOT`$\usr\include\firebase\functions\callable_reference.h" target="include/firebase/functions" /> | |
<file src="`$BUILDROOT`$\usr\include\firebase\functions\callable_result.h" target="include/firebase/functions" /> | |
<file src="`$BUILDROOT`$\usr\include\firebase\functions\common.h" target="include/firebase/functions" /> | |
<file src="`$BUILDROOT`$\usr\include\firebase\storage\common.h" target="include/firebase/storage" /> | |
<file src="`$BUILDROOT`$\usr\include\firebase\storage\controller.h" target="include/firebase/storage" /> | |
<file src="`$BUILDROOT`$\usr\include\firebase\storage\listener.h" target="include/firebase/storage" /> | |
<file src="`$BUILDROOT`$\usr\include\firebase\storage\metadata.h" target="include/firebase/storage" /> | |
<file src="`$BUILDROOT`$\usr\include\firebase\storage\storage_reference.h" target="include/firebase/storage" /> | |
<file src="`$BUILDROOT`$\usr\include\firebase\internal\common.h" target="include/firebase/internal" /> | |
<file src="`$BUILDROOT`$\usr\include\firebase\internal\future_impl.h" target="include/firebase/internal" /> | |
<file src="`$BUILDROOT`$\usr\include\firebase\internal\mutex.h" target="include/firebase/internal" /> | |
<file src="`$BUILDROOT`$\usr\include\firebase\internal\platform.h" target="include/firebase/internal" /> | |
<file src="`$BUILDROOT`$\usr\include\firebase\internal\type_traits.h" target="include/firebase/internal" /> | |
<!-- FIXME(compnerd) is this header actually required? --> | |
<file src="`$BUILDROOT`$\usr\include\google_play_services\availability.h" target="include/google_play_services" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\firebase_app.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\firebase_auth.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\firebase_firestore.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\firebase_functions.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\firebase_storage.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\firebase_rest_lib.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\firestore_core.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\firestore_nanopb.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\firestore_protos_nanopb.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\firestore_util.lib" target="lib" /> | |
<!-- dependencies --> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_bad_optional_access.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_bad_variant_access.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_base.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_city.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_civil_time.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_cord.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_cord_internal.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_cordz_functions.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_cordz_handle.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_cordz_info.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_crc_cord_state.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_crc_cpu_detect.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_crc_internal.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_crc32c.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_debugging_internal.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_demangle_internal.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_exponential_biased.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_flags_commandlineflag_internal.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_flags_commandlineflag.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_flags_config.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_flags_internal.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_flags_marshalling.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_flags_private_handle_accessor.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_flags_program_name.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_flags_reflection.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_graphcycles_internal.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_hash.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_hashtablez_sampler.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_int128.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_kernel_timeout_internal.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_log_severity.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_low_level_hash.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_malloc_internal.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_random_distributions.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_random_internal_seed_material.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_random_internal_platform.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_random_internal_pool_urbg.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_random_internal_randen.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_random_internal_randen_hwaes.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_random_internal_randen_hwaes_impl.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_random_internal_randen_slow.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_random_seed_gen_exception.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_random_seed_sequences.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_raw_hash_set.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_raw_logging_internal.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_spinlock_wait.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_stacktrace.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_status.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_statusor.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_str_format_internal.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_strerror.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_string_view.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_strings.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_strings_internal.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_symbolize.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_synchronization.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_throw_delegate.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_time.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\absl_time_zone.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\address_sorting.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\cares.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\crypto.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\fipsmodule.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\flatbuffers.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\gpr.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\grpc.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\grpc++.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\leveldb.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\libcurl.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\libprotobuf.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\libuWS.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\protobuf-nanopb.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\re2.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\snappy.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\ssl.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\uv_a.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\upb_base_lib.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\upb_json_lib.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\upb_mem_lib.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\upb_message_lib.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\upb_textformat_lib.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\utf8_range_lib.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\utf8_validity.lib" target="lib" /> | |
<file src="`$BUILDROOT`$\usr\libs\windows\zlibstatic.lib" target="lib" /> | |
</files> | |
</package> | |
"@ | Out-File -Encoding UTF8 firebase.nuspec | |
nuget pack -Properties BUILDROOT=${{ github.workspace }}\BuildRoot\Library\firebase -Suffix (git -C ${{ github.workspace }}/SourceCache/firebase-cpp-sdk log -1 --format=%h) firebase.nuspec | |
shell: pwsh | |
- uses: actions/upload-artifact@v3 | |
# if: github.event_name != 'pull_request' | |
with: | |
name: windows-${{ matrix.arch }}.nupkg | |
path: com.google.firebase.windows.${{ matrix.arch }}.*.nupkg | |
# - name: Publish NuGet Packages | |
# if: github.event_name != 'pull_request' | |
# env: | |
# NUGET_SOURCE_NAME: TheBrowserCompany | |
# NUGET_SOURCE_URL: https://nuget.pkg.github.com/thebrowsercompany/index.json | |
# NUGET_SOURCE_USERNAME: thebrowsercompany-bot2 | |
# NUGET_SOURCE_PASSWORD: ${{ secrets.GITHUB_TOKEN }} | |
# NUGET_API_KEY: ${{ secrets.GITHUB_TOKEN }} | |
# run: | | |
# if ((nuget sources List | Select-String "${env:NUGET_SOURCE_NAME}").Count -gt 0) { | |
# nuget sources Remove -Name "${env:NUGET_SOURCE_NAME}" | |
# } | |
# nuget sources Add -Name ${env:NUGET_SOURCE_NAME} -Source ${env:NUGET_SOURCE_URL} -Username ${env:NUGET_SOURCE_USERNAME} -Password ${env:NUGET_SOURCE_PASSWORD} -StorePasswordInClearText | |
# nuget setApiKey ${env:NUGET_API_KEY} -Source ${env:NUGET_SOURCE_URL} | |
# $pkgs = Get-ChildItem -Path com.google.firebase.windows.${{ matrix.arch }}.*.nupkg | |
# nuget push $pkgs[0].Name -Source ${env:NUGET_SOURCE_URL} -SkipDuplicate | |
# shell: pwsh | |