[Infra] Update zip workflow to use macOS 15 for Xcode 16 jobs #3350
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: 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: | |
artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] | |
build-env: | |
- os: macos-13 | |
xcode: Xcode_15.2 | |
- os: macos-15 | |
xcode: Xcode_16.1 | |
runs-on: ${{ matrix.build-env.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Get framework dir | |
uses: actions/download-artifact@v4.1.7 | |
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.build-env.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-15] | |
artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] | |
include: | |
- os: macos-15 | |
xcode: Xcode_16.1 | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Get framework dir | |
uses: actions/download-artifact@v4.1.7 | |
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: | |
artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] | |
build-env: | |
- os: macos-13 | |
xcode: Xcode_15.2 | |
- os: macos-15 | |
xcode: Xcode_16.1 | |
runs-on: ${{ matrix.build-env.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Get framework dir | |
uses: actions/download-artifact@v4.1.7 | |
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.build-env.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: | |
artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] | |
build-env: | |
- os: macos-13 | |
xcode: Xcode_15.2 | |
- os: macos-15 | |
xcode: Xcode_16.1 | |
runs-on: ${{ matrix.build-env.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Get framework dir | |
uses: actions/download-artifact@v4.1.7 | |
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.build-env.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/download-artifact@v4.1.7 | |
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: | |
artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] | |
build-env: | |
- os: macos-13 | |
xcode: Xcode_15.2 | |
- os: macos-15 | |
xcode: Xcode_16.1 | |
runs-on: ${{ matrix.build-env.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Get framework dir | |
uses: actions/download-artifact@v4.1.7 | |
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.build-env.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: | |
artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] | |
build-env: | |
- os: macos-13 | |
xcode: Xcode_15.2 | |
- os: macos-15 | |
xcode: Xcode_16.1 | |
runs-on: ${{ matrix.build-env.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Get framework dir | |
uses: actions/download-artifact@v4.1.7 | |
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.build-env.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.build-env.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/download-artifact@v4.1.7 | |
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: | |
artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] | |
build-env: | |
- os: macos-13 | |
xcode: Xcode_15.2 | |
- os: macos-15 | |
xcode: Xcode_16.1 | |
runs-on: ${{ matrix.build-env.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Get framework dir | |
uses: actions/download-artifact@v4.1.7 | |
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.build-env.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: | |
artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] | |
build-env: | |
- os: macos-13 | |
xcode: Xcode_15.2 | |
- os: macos-15 | |
xcode: Xcode_16.1 | |
runs-on: ${{ matrix.build-env.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Get framework dir | |
uses: actions/download-artifact@v4.1.7 | |
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.build-env.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: | |
artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] | |
build-env: | |
- os: macos-13 | |
xcode: Xcode_15.2 | |
- os: macos-15 | |
xcode: Xcode_16.1 | |
runs-on: ${{ matrix.build-env.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Get framework dir | |
uses: actions/download-artifact@v4.1.7 | |
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.build-env.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/ |