firebase #173
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' | |
- arch: 'arm64' | |
platform: 'ARM64' | |
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-"` | |
-D CMAKE_CXX_FLAGS="/D_HAS_EXCEPTIONS=0 /EHsc-" ` | |
-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}" | |
} | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: firebase-windows-${{ matrix.arch }} | |
path: ${{ github.workspace }}/BuildRoot/Library/firebase | |
- name: Create Release | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
Compress-Archive -Path "${{ github.workspace }}/BuildRoot/Library/firebase" -DestinationPath firebase-windows-${{ matrix.arch }}.zip | |
$SHA256 = Get-FileHash -Path firebase-windows-${{ matrix.arch }}.zip -Algorithm SHA256 > firebase-windows-${{ matrix.arch }}.zip.sha256 | |
$Date = Get-Date -Format 'yyyyMMdd' | |
$Release = $(gh release list -R ${{ github.repository }} | Select-String -Pattern $Date -AllMatches).Count | |
gh release create "$Date.$Release" -R ${{ github.repository }} | |
gh release upload "$Date.$Release" firebase-windows-${{ matrix.arch }}.zip -R ${{ github.repository }} | |
gh release upload "$Date.$Release" firebase-windows-${{ matrix.arch }}.zip.sha256 -R ${{ github.repository }} | |
- 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\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\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 == 'workflow_dispatch' }} | |
with: | |
name: windows-${{ matrix.arch }}.nupkg | |
path: com.google.firebase.windows.${{ matrix.arch }}.*.nupkg | |
- name: Publish NuGet Packages | |
if: ${{ github.event_name == 'workflow_dispatch' }} | |
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 |