|
|
@@ -1,3 +1,12 @@
|
|
|
+# This workflow tests the zip distribution of the SDK.
|
|
|
+# There are three ways to configure the source of the zip file for testing:
|
|
|
+# 1. To iterate on a PR: Set the `PINNED_RUN_ID` environment variable in this
|
|
|
+# file to a successful zip packaging run. This is useful for avoiding
|
|
|
+# re-running the packaging jobs on every commit.
|
|
|
+# 2. For manual runs: Trigger the workflow via the GitHub UI (`workflow_dispatch`)
|
|
|
+# and provide a "Run ID of a previous successful zip workflow" in the input.
|
|
|
+# 3. By default (for scheduled and other PR runs): The workflow will build the
|
|
|
+# zip from the current commit (HEAD).
|
|
|
name: zip
|
|
|
|
|
|
# TODO(ncooke3): Add FirebaseAI test.
|
|
|
@@ -6,6 +15,11 @@ permissions:
|
|
|
actions: read
|
|
|
contents: read
|
|
|
|
|
|
+env:
|
|
|
+ # When a run_id is specified, build jobs will be skipped and the specified
|
|
|
+ # run's artifacts will be used for testing.
|
|
|
+ PINNED_RUN_ID: '17965877651'
|
|
|
+
|
|
|
on:
|
|
|
pull_request:
|
|
|
paths:
|
|
|
@@ -39,12 +53,27 @@ concurrency:
|
|
|
cancel-in-progress: true
|
|
|
|
|
|
jobs:
|
|
|
+ should_package:
|
|
|
+ runs-on: ubuntu-latest
|
|
|
+ outputs:
|
|
|
+ should_package: ${{ steps.check.outputs.should_package }}
|
|
|
+ steps:
|
|
|
+ - name: Check if packaging should be skipped
|
|
|
+ id: check
|
|
|
+ run: |
|
|
|
+ if [[ -n "${{ env.PINNED_RUN_ID }}" || -n "${{ github.event.inputs.zip_run_id }}" ]]; then
|
|
|
+ echo "should_package=false" >> $GITHUB_OUTPUT
|
|
|
+ else
|
|
|
+ echo "should_package=true" >> $GITHUB_OUTPUT
|
|
|
+ fi
|
|
|
+
|
|
|
package-release:
|
|
|
+ needs: should_package
|
|
|
# Don't run on private repo.
|
|
|
if: |
|
|
|
github.repository == 'firebase/firebase-ios-sdk' &&
|
|
|
contains(fromJSON('["schedule", "pull_request", "workflow_dispatch"]'), github.event_name) &&
|
|
|
- github.event.inputs.zip_run_id == ''
|
|
|
+ needs.should_package.outputs.should_package == 'true'
|
|
|
runs-on: macos-14
|
|
|
steps:
|
|
|
- uses: actions/checkout@v4
|
|
|
@@ -71,11 +100,12 @@ jobs:
|
|
|
path: release_zip_dir
|
|
|
|
|
|
build:
|
|
|
+ needs: should_package
|
|
|
# Don't run on private repo unless it is a PR.
|
|
|
if: |
|
|
|
github.repository == 'firebase/firebase-ios-sdk' &&
|
|
|
contains(fromJSON('["schedule", "pull_request", "workflow_dispatch"]'), github.event_name) &&
|
|
|
- github.event.inputs.zip_run_id == ''
|
|
|
+ needs.should_package.outputs.should_package == 'true'
|
|
|
runs-on: macos-14
|
|
|
steps:
|
|
|
- uses: actions/checkout@v4
|
|
|
@@ -87,7 +117,8 @@ jobs:
|
|
|
swift build -v
|
|
|
|
|
|
package-head:
|
|
|
- needs: build
|
|
|
+ needs: [build, should_package]
|
|
|
+ if: needs.should_package.outputs.should_package == 'true'
|
|
|
strategy:
|
|
|
matrix:
|
|
|
linking_type: [static, dynamic]
|
|
|
@@ -110,16 +141,71 @@ jobs:
|
|
|
build-head \
|
|
|
${{ matrix.linking_type }}
|
|
|
- uses: actions/upload-artifact@v4
|
|
|
- if: ${{ always() }}
|
|
|
+ if: always()
|
|
|
with:
|
|
|
name: ${{ matrix.linking_type == 'static' && 'Firebase-actions-dir' || 'Firebase-actions-dir-dynamic' }}
|
|
|
# Zip the entire output directory since the builder adds subdirectories we don't know the
|
|
|
# name of.
|
|
|
path: zip_output_dir
|
|
|
|
|
|
+ packaging_done:
|
|
|
+ runs-on: ubuntu-latest
|
|
|
+ needs: [package-head]
|
|
|
+ if: always()
|
|
|
+ outputs:
|
|
|
+ run_id: ${{ steps.get_run_id.outputs.run_id }}
|
|
|
+ steps:
|
|
|
+ - name: Check packaging result
|
|
|
+ if: ${{ needs.package-head.result == 'failure' }}
|
|
|
+ run: |
|
|
|
+ echo "Packaging failed. Aborting."
|
|
|
+ exit 1
|
|
|
+ - name: Get Run ID
|
|
|
+ id: get_run_id
|
|
|
+ run: |
|
|
|
+ if [[ -n "${{ github.event.inputs.zip_run_id }}" ]]; then
|
|
|
+ echo "run_id=${{ github.event.inputs.zip_run_id }}" >> $GITHUB_OUTPUT
|
|
|
+ elif [[ -n "${{ env.PINNED_RUN_ID }}" ]]; then
|
|
|
+ echo "run_id=${{ env.PINNED_RUN_ID }}" >> $GITHUB_OUTPUT
|
|
|
+ else
|
|
|
+ echo "run_id=${{ github.run_id }}" >> $GITHUB_OUTPUT
|
|
|
+ fi
|
|
|
+
|
|
|
+ check_framework_firestore_symbols:
|
|
|
+ needs: packaging_done
|
|
|
+ if: ${{ !cancelled() }}
|
|
|
+ env:
|
|
|
+ FIREBASECI_USE_LATEST_GOOGLEAPPMEASUREMENT: 1
|
|
|
+ runs-on: macos-14
|
|
|
+ steps:
|
|
|
+ - name: Xcode 16.2
|
|
|
+ run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer
|
|
|
+ - uses: actions/checkout@v4
|
|
|
+ - name: Get framework dir
|
|
|
+ uses: actions/download-artifact@v4.1.7
|
|
|
+ with:
|
|
|
+ name: Firebase-actions-dir
|
|
|
+ run-id: ${{ needs.packaging_done.outputs.run_id }}
|
|
|
+ github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
|
+ - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1
|
|
|
+ - name: Setup Bundler
|
|
|
+ run: ./scripts/setup_bundler.sh
|
|
|
+ - name: Install xcpretty
|
|
|
+ run: gem install xcpretty
|
|
|
+ - name: Move frameworks
|
|
|
+ run: |
|
|
|
+ mkdir -p "${HOME}"/ios_frameworks/
|
|
|
+ find "${GITHUB_WORKSPACE}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} +
|
|
|
+ - uses: actions/checkout@v4
|
|
|
+ - name: Check linked Firestore.xcframework for unlinked symbols.
|
|
|
+ run: |
|
|
|
+ scripts/check_firestore_symbols.sh \
|
|
|
+ $(pwd) \
|
|
|
+ "${HOME}"/ios_frameworks/Firebase/FirebaseFirestore/FirebaseFirestoreInternal.xcframework
|
|
|
+
|
|
|
quickstart_framework_abtesting:
|
|
|
- needs: package-head
|
|
|
- if: ${{ !cancelled() && (success() || github.event.inputs.zip_run_id != '') }}
|
|
|
+ needs: packaging_done
|
|
|
+ if: ${{ !cancelled() }}
|
|
|
env:
|
|
|
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
|
|
|
SDK: "ABTesting"
|
|
|
@@ -136,7 +222,7 @@ jobs:
|
|
|
uses: actions/download-artifact@v4.1.7
|
|
|
with:
|
|
|
name: ${{ matrix.artifact }}
|
|
|
- run-id: ${{ github.event.inputs.zip_run_id || github.run_id }}
|
|
|
+ run-id: ${{ needs.packaging_done.outputs.run_id }}
|
|
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
|
- uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1
|
|
|
- name: Xcode
|
|
|
@@ -162,24 +248,30 @@ jobs:
|
|
|
- name: Test Quickstart
|
|
|
run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}")
|
|
|
- name: Remove data before upload
|
|
|
- if: ${{ failure() }}
|
|
|
+ if: always()
|
|
|
run: scripts/remove_data.sh abtesting
|
|
|
# - uses: actions/upload-artifact@v4
|
|
|
- # if: ${{ failure() }}
|
|
|
+ # if: failure()
|
|
|
# with:
|
|
|
# name: quickstart_artifacts_abtesting
|
|
|
- # path: quickstart-ios/
|
|
|
+ - uses: actions/upload-artifact@v4
|
|
|
+ if: failure()
|
|
|
+ with:
|
|
|
+ name: quickstart_artifacts_abtesting
|
|
|
+ path: |
|
|
|
+ quickstart-ios/
|
|
|
+ !quickstart-ios/**/GoogleService-Info.plist
|
|
|
|
|
|
quickstart_framework_auth:
|
|
|
- needs: package-head
|
|
|
- if: ${{ !cancelled() && (success() || github.event.inputs.zip_run_id != '') }}
|
|
|
+ needs: packaging_done
|
|
|
+ if: ${{ !cancelled() }}
|
|
|
env:
|
|
|
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
|
|
|
SDK: "Authentication"
|
|
|
strategy:
|
|
|
matrix:
|
|
|
os: [macos-15]
|
|
|
- artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic]
|
|
|
+ artifact: [Firebase-actions-dir] , Firebase-actions-dir-dynamic]
|
|
|
include:
|
|
|
- os: macos-15
|
|
|
xcode: Xcode_16.4
|
|
|
@@ -190,7 +282,7 @@ jobs:
|
|
|
uses: actions/download-artifact@v4.1.7
|
|
|
with:
|
|
|
name: ${{ matrix.artifact }}
|
|
|
- run-id: ${{ github.event.inputs.zip_run_id || github.run_id }}
|
|
|
+ run-id: ${{ needs.packaging_done.outputs.run_id }}
|
|
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
|
- uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1
|
|
|
- name: Xcode
|
|
|
@@ -212,18 +304,17 @@ jobs:
|
|
|
quickstart-ios/authentication/GoogleService-Info.plist "$plist_secret"
|
|
|
- name: Test Swift Quickstart
|
|
|
run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}")
|
|
|
- - name: Remove data before upload
|
|
|
- if: ${{ failure() }}
|
|
|
- run: scripts/remove_data.sh authentiation
|
|
|
- # - uses: actions/upload-artifact@v4
|
|
|
- # if: ${{ failure() }}
|
|
|
- # with:
|
|
|
- # name: quickstart_artifacts_auth
|
|
|
- # path: quickstart-ios/
|
|
|
+ - uses: actions/upload-artifact@v4
|
|
|
+ if: failure()
|
|
|
+ with:
|
|
|
+ name: quickstart_artifacts_auth
|
|
|
+ path: |
|
|
|
+ quickstart-ios/
|
|
|
+ !quickstart-ios/**/GoogleService-Info.plist
|
|
|
|
|
|
quickstart_framework_config:
|
|
|
- needs: package-head
|
|
|
- if: ${{ !cancelled() && (success() || github.event.inputs.zip_run_id != '') }}
|
|
|
+ needs: packaging_done
|
|
|
+ if: ${{ !cancelled() }}
|
|
|
env:
|
|
|
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
|
|
|
SDK: "Config"
|
|
|
@@ -240,7 +331,7 @@ jobs:
|
|
|
uses: actions/download-artifact@v4.1.7
|
|
|
with:
|
|
|
name: ${{ matrix.artifact }}
|
|
|
- run-id: ${{ github.event.inputs.zip_run_id || github.run_id }}
|
|
|
+ run-id: ${{ needs.packaging_done.outputs.run_id }}
|
|
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
|
- uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1
|
|
|
- name: Xcode
|
|
|
@@ -262,17 +353,17 @@ jobs:
|
|
|
- name: Test Swift Quickstart
|
|
|
run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}")
|
|
|
- name: Remove data before upload
|
|
|
- if: ${{ failure() }}
|
|
|
+ if: always()
|
|
|
run: scripts/remove_data.sh config
|
|
|
- # - uses: actions/upload-artifact@v4
|
|
|
- # if: ${{ failure() }}
|
|
|
- # with:
|
|
|
- # name: quickstart_artifacts_config
|
|
|
- # path: quickstart-ios/
|
|
|
+ - uses: actions/upload-artifact@v4
|
|
|
+ if: failure()
|
|
|
+ with:
|
|
|
+ name: quickstart_artifacts_config
|
|
|
+ path: quickstart-ios/
|
|
|
|
|
|
quickstart_framework_crashlytics:
|
|
|
- needs: package-head
|
|
|
- if: ${{ !cancelled() && (success() || github.event.inputs.zip_run_id != '') }}
|
|
|
+ needs: packaging_done
|
|
|
+ if: ${{ !cancelled() }}
|
|
|
env:
|
|
|
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
|
|
|
SDK: "Crashlytics"
|
|
|
@@ -289,7 +380,7 @@ jobs:
|
|
|
uses: actions/download-artifact@v4.1.7
|
|
|
with:
|
|
|
name: ${{ matrix.artifact }}
|
|
|
- run-id: ${{ github.event.inputs.zip_run_id || github.run_id }}
|
|
|
+ run-id: ${{ needs.packaging_done.outputs.run_id }}
|
|
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
|
- uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1
|
|
|
- name: Xcode
|
|
|
@@ -303,13 +394,18 @@ jobs:
|
|
|
- uses: actions/checkout@v4
|
|
|
- name: Setup quickstart
|
|
|
run: |
|
|
|
- SAMPLE="$SDK" TARGET="${SDK}Example" scripts/setup_quickstart_framework.sh \
|
|
|
- "${HOME}"/ios_frameworks/Firebase/FirebaseCrashlytics/* \
|
|
|
- "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/*
|
|
|
- cp quickstart-ios/crashlytics/LegacyCrashlyticsQuickstart/Firebase/run quickstart-ios/crashlytics/LegacyCrashlyticsQuickstart
|
|
|
- cp quickstart-ios/crashlytics/LegacyCrashlyticsQuickstart/Firebase/upload-symbols quickstart-ios/crashlytics/LegacyCrashlyticsQuickstart
|
|
|
- chmod +x quickstart-ios/crashlytics/LegacyCrashlyticsQuickstart/run
|
|
|
- chmod +x quickstart-ios/crashlytics/LegacyCrashlyticsQuickstart/upload-symbols
|
|
|
+ rm -rf "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/FirebaseAnalytics*
|
|
|
+ rm -rf "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/GoogleAppMeasurement*
|
|
|
+ rm -rf "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/GoogleAds*
|
|
|
+ SAMPLE="$SDK" TARGET="${SDK}Example" scripts/setup_quickstart_framework.sh \
|
|
|
+ "${HOME}"/ios_frameworks/Firebase/FirebaseCrashlytics/* \
|
|
|
+ "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/*
|
|
|
+ - name: Add frameworks to Crashlytics watchOS target
|
|
|
+ run: |
|
|
|
+ cd quickstart-ios/crashlytics
|
|
|
+ "${GITHUB_WORKSPACE}"/quickstart-ios/scripts/add_framework_script.rb --sdk "Crashlytics" --target "CrashlyticsExample_(watchOS)_Extension" --framework_path Firebase/
|
|
|
+ - name: Patch Crashlytics Run Script Path
|
|
|
+ run: scripts/patch_crashlytics_run_path.rb
|
|
|
# TODO(#8057): Restore Swift Quickstart
|
|
|
# - name: Setup swift quickstart
|
|
|
# env:
|
|
|
@@ -327,18 +423,17 @@ jobs:
|
|
|
# env:
|
|
|
# LEGACY: true
|
|
|
# run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}" swift)
|
|
|
- - name: Remove data before upload
|
|
|
- if: ${{ failure() }}
|
|
|
- run: scripts/remove_data.sh crashlytics
|
|
|
- # - uses: actions/upload-artifact@v4
|
|
|
- # if: ${{ failure() }}
|
|
|
- # with:
|
|
|
- # name: quickstart_artifacts_crashlytics
|
|
|
- # path: quickstart-ios/
|
|
|
+ - uses: actions/upload-artifact@v4
|
|
|
+ if: failure()
|
|
|
+ with:
|
|
|
+ name: quickstart_artifacts_crashlytics
|
|
|
+ path: |
|
|
|
+ quickstart-ios/
|
|
|
+ !quickstart-ios/**/GoogleService-Info.plist
|
|
|
|
|
|
quickstart_framework_database:
|
|
|
- needs: package-head
|
|
|
- if: ${{ !cancelled() && (success() || github.event.inputs.zip_run_id != '') }}
|
|
|
+ needs: packaging_done
|
|
|
+ if: ${{ !cancelled() }}
|
|
|
env:
|
|
|
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
|
|
|
SDK: "Database"
|
|
|
@@ -354,7 +449,7 @@ jobs:
|
|
|
uses: actions/download-artifact@v4.1.7
|
|
|
with:
|
|
|
name: ${{ matrix.artifact }}
|
|
|
- run-id: ${{ github.event.inputs.zip_run_id || github.run_id }}
|
|
|
+ run-id: ${{ needs.packaging_done.outputs.run_id }}
|
|
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
|
- uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1
|
|
|
- name: Xcode
|
|
|
@@ -379,18 +474,17 @@ jobs:
|
|
|
quickstart-ios/database/GoogleService-Info.plist "$plist_secret"
|
|
|
- name: Test Quickstart
|
|
|
run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}")
|
|
|
- - name: Remove data before upload
|
|
|
- if: ${{ failure() }}
|
|
|
- run: scripts/remove_data.sh database
|
|
|
- # - uses: actions/upload-artifact@v4
|
|
|
- # if: ${{ failure() }}
|
|
|
- # with:
|
|
|
- # name: quickstart_artifacts database
|
|
|
- # path: quickstart-ios/
|
|
|
+ - uses: actions/upload-artifact@v4
|
|
|
+ if: failure()
|
|
|
+ with:
|
|
|
+ name: quickstart_artifacts_database
|
|
|
+ path: |
|
|
|
+ quickstart-ios/
|
|
|
+ !quickstart-ios/**/GoogleService-Info.plist
|
|
|
|
|
|
quickstart_framework_firestore:
|
|
|
- needs: package-head
|
|
|
- if: ${{ !cancelled() && (success() || github.event.inputs.zip_run_id != '') }}
|
|
|
+ needs: packaging_done
|
|
|
+ if: ${{ !cancelled() }}
|
|
|
env:
|
|
|
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
|
|
|
SDK: "Firestore"
|
|
|
@@ -407,7 +501,7 @@ jobs:
|
|
|
uses: actions/download-artifact@v4.1.7
|
|
|
with:
|
|
|
name: ${{ matrix.artifact }}
|
|
|
- run-id: ${{ github.event.inputs.zip_run_id || github.run_id }}
|
|
|
+ run-id: ${{ needs.packaging_done.outputs.run_id }}
|
|
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
|
- uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1
|
|
|
- name: Xcode
|
|
|
@@ -426,7 +520,7 @@ jobs:
|
|
|
"${HOME}"/ios_frameworks/Firebase/FirebaseAuth/* \
|
|
|
"${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/*
|
|
|
- name: Upload build logs on failure
|
|
|
- if: ${{ failure() }}
|
|
|
+ if: failure()
|
|
|
uses: actions/upload-artifact@v4
|
|
|
with:
|
|
|
name: build_logs_firestore_${{ matrix.artifact }}_${{ matrix.build-env.os }}
|
|
|
@@ -437,49 +531,17 @@ jobs:
|
|
|
- name: Test Quickstart
|
|
|
run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}")
|
|
|
- name: Remove data before upload and zip directory to reduce upload size.
|
|
|
- if: ${{ failure() }}
|
|
|
+ if: always()
|
|
|
run: scripts/remove_data.sh firestore; zip -r --symlinks quickstart_artifacts_firestore.zip quickstart-ios/
|
|
|
- # - uses: actions/upload-artifact@v4
|
|
|
- # if: ${{ failure() }}
|
|
|
- # with:
|
|
|
- # name: quickstart_artifacts_firestore_${{ matrix.artifact }}_${{ matrix.build-env.os }}
|
|
|
- # path: quickstart_artifacts_firestore.zip
|
|
|
-
|
|
|
- check_framework_firestore_symbols:
|
|
|
- needs: package-head
|
|
|
- if: ${{ !cancelled() && (success() || github.event.inputs.zip_run_id != '') }}
|
|
|
- env:
|
|
|
- FIREBASECI_USE_LATEST_GOOGLEAPPMEASUREMENT: 1
|
|
|
- runs-on: macos-14
|
|
|
- steps:
|
|
|
- - name: Xcode 16.2
|
|
|
- run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer
|
|
|
- - uses: actions/checkout@v4
|
|
|
- - name: Get framework dir
|
|
|
- uses: actions/download-artifact@v4.1.7
|
|
|
- with:
|
|
|
- name: Firebase-actions-dir
|
|
|
- run-id: ${{ github.event.inputs.zip_run_id || github.run_id }}
|
|
|
- github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
|
- - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1
|
|
|
- - name: Setup Bundler
|
|
|
- run: ./scripts/setup_bundler.sh
|
|
|
- - name: Install xcpretty
|
|
|
- run: gem install xcpretty
|
|
|
- - name: Move frameworks
|
|
|
- run: |
|
|
|
- mkdir -p "${HOME}"/ios_frameworks/
|
|
|
- find "${GITHUB_WORKSPACE}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} +
|
|
|
- - uses: actions/checkout@v4
|
|
|
- - name: Check linked Firestore.xcframework for unlinked symbols.
|
|
|
- run: |
|
|
|
- scripts/check_firestore_symbols.sh \
|
|
|
- $(pwd) \
|
|
|
- "${HOME}"/ios_frameworks/Firebase/FirebaseFirestore/FirebaseFirestoreInternal.xcframework
|
|
|
+ - uses: actions/upload-artifact@v4
|
|
|
+ if: failure()
|
|
|
+ with:
|
|
|
+ name: quickstart_artifacts_firestore_${{ matrix.artifact }}_${{ matrix.build-env.os }}
|
|
|
+ path: quickstart_artifacts_firestore.zip
|
|
|
|
|
|
quickstart_framework_inappmessaging:
|
|
|
- needs: package-head
|
|
|
- if: ${{ !cancelled() && (success() || github.event.inputs.zip_run_id != '') }}
|
|
|
+ needs: packaging_done
|
|
|
+ if: ${{ !cancelled() }}
|
|
|
env:
|
|
|
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
|
|
|
SDK: "InAppMessaging"
|
|
|
@@ -496,7 +558,7 @@ jobs:
|
|
|
uses: actions/download-artifact@v4.1.7
|
|
|
with:
|
|
|
name: ${{ matrix.artifact }}
|
|
|
- run-id: ${{ github.event.inputs.zip_run_id || github.run_id }}
|
|
|
+ run-id: ${{ needs.packaging_done.outputs.run_id }}
|
|
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
|
- uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1
|
|
|
- name: Xcode
|
|
|
@@ -521,18 +583,17 @@ jobs:
|
|
|
run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}")
|
|
|
- name: Test Swift Quickstart
|
|
|
run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}" swift)
|
|
|
- - name: Remove data before upload
|
|
|
- if: ${{ failure() }}
|
|
|
- run: scripts/remove_data.sh inappmessaging
|
|
|
- # - uses: actions/upload-artifact@v4
|
|
|
- # if: ${{ failure() }}
|
|
|
- # with:
|
|
|
- # name: quickstart_artifacts_inappmessaging
|
|
|
- # path: quickstart-ios/
|
|
|
+ - uses: actions/upload-artifact@v4
|
|
|
+ if: failure()
|
|
|
+ with:
|
|
|
+ name: quickstart_artifacts_inappmessaging
|
|
|
+ path: |
|
|
|
+ quickstart-ios/
|
|
|
+ !quickstart-ios/**/GoogleService-Info.plist
|
|
|
|
|
|
quickstart_framework_messaging:
|
|
|
- needs: package-head
|
|
|
- if: ${{ !cancelled() && (success() || github.event.inputs.zip_run_id != '') }}
|
|
|
+ needs: packaging_done
|
|
|
+ if: ${{ !cancelled() }}
|
|
|
env:
|
|
|
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
|
|
|
SDK: "Messaging"
|
|
|
@@ -549,7 +610,7 @@ jobs:
|
|
|
uses: actions/download-artifact@v4.1.7
|
|
|
with:
|
|
|
name: ${{ matrix.artifact }}
|
|
|
- run-id: ${{ github.event.inputs.zip_run_id || github.run_id }}
|
|
|
+ run-id: ${{ needs.packaging_done.outputs.run_id }}
|
|
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
|
- uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1
|
|
|
- name: Xcode
|
|
|
@@ -574,18 +635,17 @@ jobs:
|
|
|
run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}")
|
|
|
- name: Test Swift Quickstart
|
|
|
run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}" swift)
|
|
|
- - name: Remove data before upload
|
|
|
- if: ${{ failure() }}
|
|
|
- run: scripts/remove_data.sh messaging
|
|
|
- # - uses: actions/upload-artifact@v4
|
|
|
- # if: ${{ failure() }}
|
|
|
- # with:
|
|
|
- # name: quickstart_artifacts_messaging
|
|
|
- # path: quickstart-ios/
|
|
|
+ - uses: actions/upload-artifact@v4
|
|
|
+ if: failure()
|
|
|
+ with:
|
|
|
+ name: quickstart_artifacts_messaging
|
|
|
+ path: |
|
|
|
+ quickstart-ios/
|
|
|
+ !quickstart-ios/**/GoogleService-Info.plist
|
|
|
|
|
|
quickstart_framework_storage:
|
|
|
- needs: package-head
|
|
|
- if: ${{ !cancelled() && (success() || github.event.inputs.zip_run_id != '') }}
|
|
|
+ needs: packaging_done
|
|
|
+ if: ${{ !cancelled() }}
|
|
|
env:
|
|
|
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
|
|
|
SDK: "Storage"
|
|
|
@@ -602,7 +662,7 @@ jobs:
|
|
|
uses: actions/download-artifact@v4.1.7
|
|
|
with:
|
|
|
name: ${{ matrix.artifact }}
|
|
|
- run-id: ${{ github.event.inputs.zip_run_id || github.run_id }}
|
|
|
+ run-id: ${{ needs.packaging_done.outputs.run_id }}
|
|
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
|
- uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1
|
|
|
- name: Xcode
|
|
|
@@ -626,13 +686,10 @@ jobs:
|
|
|
quickstart-ios/storage/GoogleService-Info.plist "$plist_secret"
|
|
|
- name: Test Quickstart
|
|
|
run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}")
|
|
|
- - name: Test Swift Quickstart
|
|
|
- run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}" swift)
|
|
|
- - name: Remove data before upload
|
|
|
- if: ${{ failure() }}
|
|
|
- run: scripts/remove_data.sh storage
|
|
|
- # - uses: actions/upload-artifact@v4
|
|
|
- # if: ${{ failure() }}
|
|
|
- # with:
|
|
|
- # name: quickstart_artifacts_storage
|
|
|
- # path: quickstart-ios/
|
|
|
+ - uses: actions/upload-artifact@v4
|
|
|
+ if: failure()
|
|
|
+ with:
|
|
|
+ name: quickstart_artifacts_storage
|
|
|
+ path: |
|
|
|
+ quickstart-ios/
|
|
|
+ !quickstart-ios/**/GoogleService-Info.plist
|