zip #3317
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: zip | |
on: | |
pull_request: | |
paths: | |
- 'ReleaseTooling/Sources/**' | |
- '.github/workflows/zip.yml' | |
- 'scripts/build_non_firebase_sdks.sh' | |
- 'scripts/build_zip.sh' | |
- 'scripts/setup_quickstart_framework.sh' | |
- 'Gemfile*' | |
# Don't run based on any markdown only changes. | |
- '!ReleaseTooling/*.md' | |
schedule: | |
# Run every day at 8pm(PST) - cron uses UTC times | |
- cron: '0 4 * * *' | |
workflow_dispatch: | |
inputs: | |
custom_spec_repos: | |
description: 'Custom Podspec repos' | |
required: true | |
default: 'https://github.com/firebase/SpecsStaging.git' | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
package-release: | |
# Don't run on private repo. | |
if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' | |
runs-on: macos-13 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 | |
with: | |
cache_key: package-release | |
- name: Xcode 15.2 | |
run: sudo xcode-select -s /Applications/Xcode_15.2.app/Contents/Developer | |
- uses: ruby/setup-ruby@v1 | |
- name: Setup Bundler | |
run: ./scripts/setup_bundler.sh | |
- name: ZipBuildingTest | |
run: | | |
mkdir -p release_zip_dir | |
sh -x scripts/build_zip.sh release_zip_dir \ | |
"${{ github.event.inputs.custom_spec_repos || 'https://github.com/firebase/SpecsStaging.git' }}" \ | |
build-release \ | |
static | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Firebase-release-zip-zip | |
# Zip the entire output directory since the builder adds subdirectories we don't know the | |
# name of. | |
path: release_zip_dir | |
build: | |
# Don't run on private repo unless it is a PR. | |
if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' | |
runs-on: macos-13 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Xcode 15.2 | |
run: sudo xcode-select -s /Applications/Xcode_15.2.app/Contents/Developer | |
- name: Build | |
run: | | |
cd ReleaseTooling | |
swift build -v | |
package-head: | |
# Don't run on private repo. | |
if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' | |
needs: build | |
strategy: | |
matrix: | |
linking_type: [static, dynamic] | |
runs-on: macos-13 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 | |
with: | |
cache_key: package-head | |
- name: Xcode 15.2 | |
run: sudo xcode-select -s /Applications/Xcode_15.2.app/Contents/Developer | |
- uses: ruby/setup-ruby@v1 | |
- name: Setup Bundler | |
run: ./scripts/setup_bundler.sh | |
- name: ZipBuildingTest | |
run: | | |
mkdir -p zip_output_dir | |
sh -x scripts/build_zip.sh \ | |
zip_output_dir "${{ github.event.inputs.custom_spec_repos || 'https://github.com/firebase/SpecsStaging.git,https://github.com/firebase/SpecsDev.git' }}" \ | |
build-head \ | |
${{ matrix.linking_type }} | |
- uses: actions/upload-artifact@v4 | |
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 | |
quickstart_framework_abtesting: | |
# Don't run on private repo. | |
if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' | |
needs: package-head | |
env: | |
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} | |
signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} | |
SDK: "ABTesting" | |
strategy: | |
matrix: | |
os: [macos-13, macos-14] | |
artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] | |
include: | |
- os: macos-13 | |
xcode: Xcode_15.2 | |
- os: macos-14 | |
xcode: Xcode_16 | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Get framework dir | |
uses: actions/[email protected] | |
with: | |
name: ${{ matrix.artifact }} | |
- uses: ruby/setup-ruby@v1 | |
- name: Setup Bundler | |
run: ./scripts/setup_bundler.sh | |
- 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: Xcode | |
run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer | |
- name: Setup quickstart | |
env: | |
LEGACY: true | |
run: SAMPLE="$SDK" TARGET="${SDK}Example" scripts/setup_quickstart_framework.sh \ | |
"${HOME}"/ios_frameworks/Firebase/FirebaseRemoteConfig/* \ | |
"${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/FirebaseCore.xcframework \ | |
"${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/FirebaseCoreInternal.xcframework \ | |
"${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/FBLPromises.xcframework \ | |
"${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/FirebaseInstallations.xcframework \ | |
"${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/GoogleUtilities.xcframework | |
- name: Install Secret GoogleService-Info.plist | |
run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-abtesting.plist.gpg \ | |
quickstart-ios/abtesting/GoogleService-Info.plist "$plist_secret" | |
- name: Test Quickstart | |
env: | |
LEGACY: true | |
run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}") | |
- name: Remove data before upload | |
env: | |
LEGACY: true | |
if: ${{ failure() }} | |
run: scripts/remove_data.sh abtesting | |
- uses: actions/upload-artifact@v4 | |
if: ${{ failure() }} | |
with: | |
name: quickstart_artifacts_abtesting | |
path: quickstart-ios/ | |
quickstart_framework_auth: | |
# Don't run on private repo. | |
if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' | |
needs: package-head | |
env: | |
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} | |
signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} | |
SDK: "Authentication" | |
strategy: | |
matrix: | |
os: [macos-14] | |
artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] | |
include: | |
- os: macos-14 | |
xcode: Xcode_16 | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Get framework dir | |
uses: actions/[email protected] | |
with: | |
name: ${{ matrix.artifact }} | |
- uses: ruby/setup-ruby@v1 | |
- name: Setup Bundler | |
run: ./scripts/setup_bundler.sh | |
- name: Move frameworks | |
run: | | |
mkdir -p "${HOME}"/ios_frameworks/ | |
find "${GITHUB_WORKSPACE}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} + | |
- name: Xcode | |
run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer | |
- name: Setup Swift Quickstart | |
run: SAMPLE="$SDK" TARGET="${SDK}Example" NON_FIREBASE_SDKS="FBSDKLoginKit FBSDKCoreKit FBSDKCoreKit_Basics FBAEMKit" scripts/setup_quickstart_framework.sh \ | |
"${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/* \ | |
"${HOME}"/ios_frameworks/Firebase/FirebaseDynamicLinks/* \ | |
"${HOME}"/ios_frameworks/Firebase/GoogleSignIn/* \ | |
"${HOME}"/ios_frameworks/Firebase/FirebaseAuth/* \ | |
"${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* | |
- name: Install Secret GoogleService-Info.plist | |
run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-auth.plist.gpg \ | |
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/ | |
quickstart_framework_config: | |
# Don't run on private repo. | |
if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' | |
needs: package-head | |
env: | |
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} | |
signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} | |
SDK: "Config" | |
strategy: | |
matrix: | |
os: [macos-13, macos-14] | |
artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] | |
include: | |
- os: macos-13 | |
xcode: Xcode_15.2 | |
- os: macos-14 | |
xcode: Xcode_16 | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Get framework dir | |
uses: actions/[email protected] | |
with: | |
name: ${{ matrix.artifact }} | |
- uses: ruby/setup-ruby@v1 | |
- name: Setup Bundler | |
run: ./scripts/setup_bundler.sh | |
- name: Move frameworks | |
run: | | |
mkdir -p "${HOME}"/ios_frameworks/ | |
find "${GITHUB_WORKSPACE}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} + | |
- name: Xcode | |
run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer | |
- name: Setup Swift Quickstart | |
run: SAMPLE="$SDK" TARGET="${SDK}Example" scripts/setup_quickstart_framework.sh \ | |
"${HOME}"/ios_frameworks/Firebase/FirebaseRemoteConfig/* \ | |
"${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* | |
- name: Install Secret GoogleService-Info.plist | |
run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-config.plist.gpg \ | |
quickstart-ios/config/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 config | |
- uses: actions/upload-artifact@v4 | |
if: ${{ failure() }} | |
with: | |
name: quickstart_artifacts_config | |
path: quickstart-ios/ | |
quickstart_framework_crashlytics: | |
# Don't run on private repo. | |
if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' | |
needs: package-head | |
env: | |
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} | |
signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} | |
SDK: "Crashlytics" | |
strategy: | |
matrix: | |
os: [macos-13, macos-14] | |
artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] | |
include: | |
- os: macos-13 | |
xcode: Xcode_15.2 | |
- os: macos-14 | |
xcode: Xcode_16 | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Get framework dir | |
uses: actions/[email protected] | |
with: | |
name: ${{ matrix.artifact }} | |
- uses: ruby/setup-ruby@v1 | |
- name: Setup Bundler | |
run: ./scripts/setup_bundler.sh | |
- 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: Xcode | |
run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer | |
- name: Setup quickstart | |
env: | |
LEGACY: true | |
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 | |
# TODO(#8057): Restore Swift Quickstart | |
# - name: Setup swift quickstart | |
# env: | |
# LEGACY: true | |
# run: | | |
# SAMPLE="$SDK" TARGET="${SDK}ExampleSwift" NON_FIREBASE_SDKS="ReachabilitySwift" scripts/setup_quickstart_framework.sh \ | |
# "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/* | |
- name: Install Secret GoogleService-Info.plist | |
run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-crashlytics.plist.gpg \ | |
quickstart-ios/crashlytics/GoogleService-Info.plist "$plist_secret" | |
- name: Test Quickstart | |
env: | |
LEGACY: true | |
run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}") | |
# TODO(#8057): Restore Swift Quickstart | |
# - name: Test Swift Quickstart | |
# 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 | |
env: | |
LEGACY: true | |
if: ${{ failure() }} | |
run: scripts/remove_data.sh crashlytics | |
- uses: actions/upload-artifact@v4 | |
if: ${{ failure() }} | |
with: | |
name: quickstart_artifacts_crashlytics | |
path: quickstart-ios/ | |
quickstart_framework_database: | |
# Don't run on private repo. | |
if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' | |
needs: package-head | |
env: | |
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} | |
signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} | |
SDK: "Database" | |
strategy: | |
matrix: | |
os: [macos-13] | |
xcode: [Xcode_15.2] | |
artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Get framework dir | |
uses: actions/[email protected] | |
with: | |
name: ${{ matrix.artifact }} | |
- uses: ruby/setup-ruby@v1 | |
- name: Setup Bundler | |
run: ./scripts/setup_bundler.sh | |
- 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: Xcode | |
run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer | |
- name: Setup quickstart | |
run: SAMPLE="$SDK" TARGET="${SDK}Example" NON_FIREBASE_SDKS="FirebaseDatabaseUI" scripts/setup_quickstart_framework.sh \ | |
"${HOME}"/ios_frameworks/Firebase/FirebaseDatabase/* \ | |
"${HOME}"/ios_frameworks/Firebase/FirebaseStorage/* \ | |
"${HOME}"/ios_frameworks/Firebase/FirebaseFirestore/* \ | |
"${HOME}"/ios_frameworks/Firebase/FirebaseAuth/* \ | |
"${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/* \ | |
"${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* | |
- name: Install Secret GoogleService-Info.plist | |
run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-database.plist.gpg \ | |
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/ | |
quickstart_framework_dynamiclinks: | |
# Don't run on private repo. | |
if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' | |
needs: package-head | |
env: | |
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} | |
signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} | |
SDK: "DynamicLinks" | |
strategy: | |
matrix: | |
os: [macos-13, macos-14] | |
artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] | |
include: | |
- os: macos-13 | |
xcode: Xcode_15.2 | |
- os: macos-14 | |
xcode: Xcode_16 | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Get framework dir | |
uses: actions/[email protected] | |
with: | |
name: ${{ matrix.artifact }} | |
- uses: ruby/setup-ruby@v1 | |
- name: Setup Bundler | |
run: ./scripts/setup_bundler.sh | |
- name: Move frameworks | |
run: | | |
mkdir -p "${HOME}"/ios_frameworks/ | |
find "${GITHUB_WORKSPACE}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} + | |
- name: Setup Objc Quickstart | |
run: SAMPLE="$SDK" TARGET="${SDK}Example" scripts/setup_quickstart_framework.sh \ | |
"${HOME}"/ios_frameworks/Firebase/FirebaseDynamicLinks/* \ | |
"${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* | |
- name: Xcode | |
run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer | |
- name: Setup Swift Quickstart | |
run: SAMPLE="$SDK" TARGET="${SDK}ExampleSwift" scripts/setup_quickstart_framework.sh | |
- name: Update Environment Variable For DynamicLinks | |
run: | | |
sed -i '' 's#DYNAMIC_LINK_DOMAIN#https://qpf6m.app.goo.gl#' quickstart-ios/dynamiclinks/DynamicLinksExample/DynamicLinksExample.entitlements | |
sed -i '' 's#YOUR_DOMAIN_URI_PREFIX";#https://qpf6m.app.goo.gl";#' quickstart-ios/dynamiclinks/DynamicLinksExample/ViewController.m | |
sed -i '' 's#YOUR_DOMAIN_URI_PREFIX";#https://qpf6m.app.goo.gl";#' quickstart-ios/dynamiclinks/DynamicLinksExampleSwift/ViewController.swift | |
- name: Install Secret GoogleService-Info.plist | |
run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-dynamiclinks.plist.gpg \ | |
quickstart-ios/dynamiclinks/GoogleService-Info.plist "$plist_secret" | |
- name: Test Objc 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 dynamiclinks | |
- uses: actions/upload-artifact@v4 | |
if: ${{ failure() }} | |
with: | |
name: quickstart_artifacts_dynamiclinks | |
path: quickstart-ios/ | |
quickstart_framework_firestore: | |
# Don't run on private repo. | |
if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' | |
needs: package-head | |
env: | |
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} | |
signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} | |
SDK: "Firestore" | |
strategy: | |
matrix: | |
os: [macos-13, macos-14] | |
artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] | |
include: | |
- os: macos-13 | |
xcode: Xcode_15.2 | |
- os: macos-14 | |
xcode: Xcode_16 | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Get framework dir | |
uses: actions/[email protected] | |
with: | |
name: ${{ matrix.artifact }} | |
- uses: ruby/setup-ruby@v1 | |
- name: Setup Bundler | |
run: ./scripts/setup_bundler.sh | |
- 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: Setup quickstart | |
run: SAMPLE="$SDK" TARGET="${SDK}Example" NON_FIREBASE_SDKS="SDWebImage FirebaseAuthUI FirebaseEmailAuthUI" scripts/setup_quickstart_framework.sh \ | |
"${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/* \ | |
"${HOME}"/ios_frameworks/Firebase/FirebaseFirestore/* \ | |
"${HOME}"/ios_frameworks/Firebase/FirebaseAuth/* \ | |
"${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* | |
- name: Xcode | |
run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer | |
- name: Install Secret GoogleService-Info.plist | |
run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-firestore.plist.gpg \ | |
quickstart-ios/firestore/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 and zip directory to reduce upload size. | |
if: ${{ failure() }} | |
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.os }} | |
path: quickstart_artifacts_firestore.zip | |
check_framework_firestore_symbols: | |
# Don't run on private repo. | |
if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' | |
needs: package-head | |
env: | |
FIREBASECI_USE_LATEST_GOOGLEAPPMEASUREMENT: 1 | |
runs-on: macos-13 | |
steps: | |
- name: Xcode 15.2 | |
run: sudo xcode-select -s /Applications/Xcode_15.2.app/Contents/Developer | |
- uses: actions/checkout@v4 | |
- name: Get framework dir | |
uses: actions/[email protected] | |
with: | |
name: Firebase-actions-dir | |
- uses: ruby/setup-ruby@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_inappmessaging: | |
# Don't run on private repo. | |
if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' | |
needs: package-head | |
env: | |
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} | |
signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} | |
SDK: "InAppMessaging" | |
strategy: | |
matrix: | |
os: [macos-13, macos-14] | |
artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] | |
include: | |
- os: macos-13 | |
xcode: Xcode_15.2 | |
- os: macos-14 | |
xcode: Xcode_16 | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Get framework dir | |
uses: actions/[email protected] | |
with: | |
name: ${{ matrix.artifact }} | |
- uses: ruby/setup-ruby@v1 | |
- name: Setup Bundler | |
run: ./scripts/setup_bundler.sh | |
- 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: Setup quickstart | |
run: SAMPLE="$SDK" TARGET="${SDK}Example" scripts/setup_quickstart_framework.sh \ | |
"${HOME}"/ios_frameworks/Firebase/FirebaseDynamicLinks/* \ | |
"${HOME}"/ios_frameworks/Firebase/FirebaseInAppMessaging/* \ | |
"${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* | |
- name: Xcode | |
run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer | |
- name: Setup swift quickstart | |
run: SAMPLE="$SDK" TARGET="${SDK}ExampleSwift" scripts/setup_quickstart_framework.sh | |
- name: Install Secret GoogleService-Info.plist | |
run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-inappmessaging.plist.gpg \ | |
quickstart-ios/inappmessaging/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 inappmessaging | |
- uses: actions/upload-artifact@v4 | |
if: ${{ failure() }} | |
with: | |
name: quickstart_artifacts_inappmessaging | |
path: quickstart-ios/ | |
quickstart_framework_messaging: | |
# Don't run on private repo. | |
if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' | |
needs: package-head | |
env: | |
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} | |
signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} | |
SDK: "Messaging" | |
strategy: | |
matrix: | |
os: [macos-13, macos-14] | |
artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] | |
include: | |
- os: macos-13 | |
xcode: Xcode_15.2 | |
- os: macos-14 | |
xcode: Xcode_16 | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Get framework dir | |
uses: actions/[email protected] | |
with: | |
name: ${{ matrix.artifact }} | |
- uses: ruby/setup-ruby@v1 | |
- name: Setup Bundler | |
run: ./scripts/setup_bundler.sh | |
- 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: Setup quickstart | |
run: SAMPLE="$SDK" TARGET="${SDK}Example" scripts/setup_quickstart_framework.sh \ | |
"${HOME}"/ios_frameworks/Firebase/FirebaseMessaging/* \ | |
"${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* | |
- name: Xcode | |
run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer | |
- name: Setup swift quickstart | |
run: SAMPLE="$SDK" TARGET="${SDK}ExampleSwift" scripts/setup_quickstart_framework.sh | |
- name: Install Secret GoogleService-Info.plist | |
run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-messaging.plist.gpg \ | |
quickstart-ios/messaging/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 messaging | |
- uses: actions/upload-artifact@v4 | |
if: ${{ failure() }} | |
with: | |
name: quickstart_artifacts_messaging | |
path: quickstart-ios/ | |
quickstart_framework_storage: | |
# Don't run on private repo. | |
if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' | |
needs: package-head | |
env: | |
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} | |
signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} | |
SDK: "Storage" | |
strategy: | |
matrix: | |
os: [macos-13, macos-14] | |
artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] | |
include: | |
- os: macos-13 | |
xcode: Xcode_15.2 | |
- os: macos-14 | |
xcode: Xcode_16 | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Get framework dir | |
uses: actions/[email protected] | |
with: | |
name: ${{ matrix.artifact }} | |
- uses: ruby/setup-ruby@v1 | |
- name: Setup Bundler | |
run: ./scripts/setup_bundler.sh | |
- 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: Setup quickstart | |
env: | |
LEGACY: true | |
run: SAMPLE="$SDK" TARGET="${SDK}Example" scripts/setup_quickstart_framework.sh \ | |
"${HOME}"/ios_frameworks/Firebase/FirebaseStorage/* \ | |
"${HOME}"/ios_frameworks/Firebase/FirebaseAuth/* \ | |
"${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* | |
- name: Xcode | |
run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer | |
- name: Setup swift quickstart | |
env: | |
LEGACY: true | |
run: SAMPLE="$SDK" TARGET="${SDK}ExampleSwift" scripts/setup_quickstart_framework.sh | |
- name: Install Secret GoogleService-Info.plist | |
run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-storage.plist.gpg \ | |
quickstart-ios/storage/GoogleService-Info.plist "$plist_secret" | |
- name: Test Quickstart | |
env: | |
LEGACY: true | |
run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}") | |
- name: Test Swift Quickstart | |
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 | |
env: | |
LEGACY: true | |
if: ${{ failure() }} | |
run: scripts/remove_data.sh storage | |
- uses: actions/upload-artifact@v4 | |
if: ${{ failure() }} | |
with: | |
name: quickstart_artifacts_storage | |
path: quickstart-ios/ |