release #2549
This file contains hidden or 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: release | |
on: | |
pull_request: | |
paths: | |
- 'scripts/release_testing_setup.sh' | |
- '.github/workflows/release.yml' | |
- 'Gemfile*' | |
workflow_dispatch: | |
schedule: | |
# Run every day at 10pm (PDT) / 1am (EDT) - cron uses UTC times | |
- cron: '0 5 * * *' | |
env: | |
FIREBASE_CI: true | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
specs_checking: | |
# 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 == 'workflow_dispatch' | |
runs-on: macos-14 | |
env: | |
botaccess: ${{ secrets.RELEASE_TESTING_PAT }} | |
local_repo: specsreleasing | |
podspec_repo_branch: main | |
outputs: | |
matrix: ${{ steps.generate_matrix.outputs.matrix }} | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Generate matrix | |
id: generate_matrix | |
run: | | |
cd "${GITHUB_WORKSPACE}/ReleaseTooling" | |
swift run manifest --sdk-repo-url "${GITHUB_WORKSPACE}" --output-file-path ./output.json --for-gha-matrix-generation | |
echo "::set-output name=matrix::{\"include\":$( cat output.json )}" | |
- name: Update SpecsReleasing repo setup | |
run: | | |
podspec_repo_branch="${podspec_repo_branch}" \ | |
scripts/release_testing_setup.sh release_testing | |
- name: Clean spec repo | |
run: | | |
git clone --quiet https://"$botaccess"@github.com/Firebase/SpecsReleasing.git "${local_repo}" | |
cd "${local_repo}" | |
# Remove all unhidden dirs, i.e. all podspec dir from the spec repo. | |
rm -Rf -- */ | |
git add . | |
# commit without diff will throw an error. `git diff --exit-code` can avoid such error. | |
git diff --staged --exit-code || git commit -m "Empty spec repo." | |
# Attempt to push. If it fails, print a detailed error message and exit. | |
git push || { | |
echo "--------------------------------------------------------------------------------" | |
echo "ERROR: Failed to push to Firebase/SpecsReleasing." | |
echo "This is likely due to an expired Personal Access Token (PAT)." | |
echo "Please take the following steps to resolve this:" | |
echo "1. Refresh the OSS bot's scoped access token for the Firebase/SpecsReleasing repo." | |
echo " This can be done in the OSS bot's GitHub account settings. Ensure the token " | |
echo " has the 'public_repo' scope." | |
echo "2. Update the 'RELEASE_TESTING_PAT' secret in this repo's settings." | |
echo " (https://github.com/Firebase/firebase-ios-sdk/settings/secrets/actions)" | |
echo "--------------------------------------------------------------------------------" | |
exit 1 | |
} | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: firebase-ios-sdk | |
path: | | |
*.podspec | |
*.podspec.json | |
buildup_SpecsReleasing_repo_FirebaseCore: | |
needs: specs_checking | |
# Don't run on private repo unless it is a PR. | |
if: github.repository == 'Firebase/firebase-ios-sdk' | |
runs-on: macos-15 | |
env: | |
botaccess: ${{ secrets.RELEASE_TESTING_PAT }} | |
local_repo: specsreleasing | |
local_sdk_repo_dir: /tmp/test/firebase-ios-sdk | |
targeted_pod: FirebaseCore | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set Xcode version | |
run: sudo xcode-select -s /Applications/Xcode_16.4.app | |
- uses: actions/[email protected] | |
with: | |
name: firebase-ios-sdk | |
path: ${{ env.local_sdk_repo_dir }} | |
- name: Update SpecsReleasing repo | |
run: | | |
cd scripts/create_spec_repo/ | |
swift build | |
pod repo add --silent "${local_repo}" https://"$botaccess"@github.com/Firebase/SpecsReleasing.git | |
BOT_TOKEN="${botaccess}" ${GITHUB_WORKSPACE}/scripts/third_party/travis/retry.sh .build/debug/spec-repo-builder \ | |
--sdk-repo "${local_sdk_repo_dir}" \ | |
--local-spec-repo-name "${local_repo}" \ | |
--pod-sources 'https://github.com/Firebase/SpecsReleasing' "https://github.com/firebase/SpecsStaging.git" "https://github.com/CocoaPods/Specs.git" \ | |
--include-pods "${targeted_pod}" --keep-repo | |
- name: Clean Artifacts | |
if: ${{ always() }} | |
run: pod repo remove "${local_repo}" | |
buildup_SpecsReleasing_repo: | |
needs: [buildup_SpecsReleasing_repo_FirebaseCore, specs_checking] | |
# Don't run on private repo unless it is a PR. | |
if: github.repository == 'Firebase/firebase-ios-sdk' || github.event_name == 'workflow_dispatch' | |
runs-on: macos-15 | |
strategy: | |
fail-fast: false | |
matrix: ${{fromJson(needs.specs_checking.outputs.matrix)}} | |
env: | |
botaccess: ${{ secrets.RELEASE_TESTING_PAT }} | |
local_repo: specsreleasing | |
local_sdk_repo_dir: /tmp/test/firebase-ios-sdk | |
targeted_pod: ${{ matrix.podspec }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set Xcode version | |
run: sudo xcode-select -s /Applications/Xcode_16.4.app | |
- uses: actions/[email protected] | |
with: | |
name: firebase-ios-sdk | |
path: ${{ env.local_sdk_repo_dir }} | |
# Addresses flaky pushes due to missing git config on runner. | |
- name: Set git config | |
run: | | |
git config --global user.email "[email protected]" | |
git config --global user.name "google-oss-bot" | |
- name: Update SpecsReleasing repo | |
run: | | |
[[ ${{ matrix.allowwarnings }} == true ]] && ALLOWWARNINGS=true | |
cd scripts/create_spec_repo/ | |
swift build | |
pod repo add --silent "${local_repo}" https://"$botaccess"@github.com/Firebase/SpecsReleasing.git | |
# ${ALLOWWARNINGS:+--allow-warnings} will add --allow-warnings to the | |
# command if ${ALLOWWARNINGS} is not null. | |
BOT_TOKEN="${botaccess}" ${GITHUB_WORKSPACE}/scripts/third_party/travis/retry.sh .build/debug/spec-repo-builder \ | |
--sdk-repo "${local_sdk_repo_dir}" \ | |
--local-spec-repo-name "${local_repo}" \ | |
--pod-sources 'https://github.com/Firebase/SpecsReleasing' "https://github.com/firebase/SpecsStaging.git" "https://github.com/CocoaPods/Specs.git" \ | |
--include-pods "${targeted_pod}" \ | |
--keep-repo ${ALLOWWARNINGS:+--allow-warnings} | |
- name: Clean Artifacts | |
if: ${{ always() }} | |
run: pod repo remove "${local_repo}" | |
abtesting_quickstart: | |
# 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' | |
needs: buildup_SpecsReleasing_repo | |
env: | |
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} | |
botaccess: ${{ secrets.RELEASE_TESTING_PAT }} | |
runs-on: macos-15 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set Xcode version | |
run: sudo xcode-select -s /Applications/Xcode_16.4.app | |
- uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 | |
- name: Setup testing repo and quickstart | |
env: | |
LEGACY: true | |
run: BOT_TOKEN="${botaccess}" scripts/setup_quickstart.sh abtesting nightly_release_testing | |
- 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 swift quickstart | |
env: | |
LEGACY: true | |
run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart.sh ABTesting true) | |
- name: Remove data before upload | |
env: | |
LEGACY: true | |
if: ${{ failure() }} | |
run: scripts/remove_data.sh config | |
- uses: actions/upload-artifact@v4 | |
if: ${{ failure() }} | |
with: | |
name: quickstart_artifacts_abtesting | |
path: quickstart-ios/ | |
auth_quickstart: | |
# 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' | |
needs: buildup_SpecsReleasing_repo | |
env: | |
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} | |
botaccess: ${{ secrets.RELEASE_TESTING_PAT }} | |
runs-on: macos-15 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set Xcode version | |
run: sudo xcode-select -s /Applications/Xcode_16.4.app | |
- uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 | |
- name: Setup testing repo and quickstart | |
run: BOT_TOKEN="${botaccess}" scripts/setup_quickstart.sh Authentication nightly_release_testing | |
- name: Install Secret GoogleService-Info.plist | |
run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-authentication.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.sh Authentication false) | |
- name: Remove data before upload | |
if: ${{ failure() }} | |
run: scripts/remove_data.sh authentication | |
- uses: actions/upload-artifact@v4 | |
if: ${{ failure() }} | |
with: | |
name: quickstart_artifacts_auth | |
path: quickstart-ios/ | |
crashlytics_quickstart: | |
# 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' | |
needs: buildup_SpecsReleasing_repo | |
env: | |
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} | |
botaccess: ${{ secrets.RELEASE_TESTING_PAT }} | |
runs-on: macos-15 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set Xcode version | |
run: sudo xcode-select -s /Applications/Xcode_16.4.app | |
- uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 | |
- name: Setup testing repo and quickstart | |
env: | |
LEGACY: true | |
run: BOT_TOKEN="${botaccess}" scripts/setup_quickstart.sh Crashlytics nightly_release_testing | |
- 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 swift quickstart | |
env: | |
LEGACY: true | |
run: | | |
mkdir -p quickstart-ios/crashlytics/LegacyCrashlyticsQuickstart/Pods/FirebaseCrashlytics | |
# Set the deployed pod location of run and upload-symbols with the development pod version. | |
cp Crashlytics/run quickstart-ios/crashlytics/LegacyCrashlyticsQuickstart/Pods/FirebaseCrashlytics/ | |
cp Crashlytics/upload-symbols quickstart-ios/crashlytics/LegacyCrashlyticsQuickstart/Pods/FirebaseCrashlytics/ | |
([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart.sh Crashlytics true 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/ | |
database_quickstart: | |
# 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' | |
needs: buildup_SpecsReleasing_repo | |
env: | |
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} | |
botaccess: ${{ secrets.RELEASE_TESTING_PAT }} | |
runs-on: macos-15 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set Xcode version | |
run: sudo xcode-select -s /Applications/Xcode_16.4.app | |
- uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 | |
- name: Setup testing repo and quickstart | |
run: BOT_TOKEN="${botaccess}" scripts/setup_quickstart.sh database nightly_release_testing | |
- 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 objc quickstart | |
run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart.sh Database false) | |
- name: Test swift quickstart | |
run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart.sh Database false swift) | |
- 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/ | |
firestore_quickstart: | |
# 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' | |
needs: buildup_SpecsReleasing_repo | |
env: | |
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} | |
botaccess: ${{ secrets.RELEASE_TESTING_PAT }} | |
runs-on: macos-15 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set Xcode version | |
run: sudo xcode-select -s /Applications/Xcode_16.4.app | |
- uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 | |
- name: Setup testing repo and quickstart | |
run: BOT_TOKEN="${botaccess}" scripts/setup_quickstart.sh firestore nightly_release_testing | |
- 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 swift quickstart | |
run: ([ -z $plist_secret ] || | |
scripts/third_party/travis/retry.sh scripts/test_quickstart.sh Firestore false) | |
- name: Remove data before upload | |
if: ${{ failure() }} | |
run: scripts/remove_data.sh firestore | |
- uses: actions/upload-artifact@v4 | |
if: ${{ failure() }} | |
with: | |
name: quickstart_artifacts_firestore | |
path: quickstart-ios/ | |
# TODO: The functions quickstart uses Material which isn't supported by Xcode 15 | |
# functions_quickstart: | |
# # 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' | |
# needs: buildup_SpecsReleasing_repo | |
# env: | |
# plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} | |
# botaccess: ${{ secrets.RELEASE_TESTING_PAT }} | |
# LEGACY: true | |
# runs-on: macos-12 | |
# steps: | |
# - uses: actions/checkout@v4 | |
# - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 | |
# - name: Setup testing repo and quickstart | |
# run: BOT_TOKEN="${botaccess}" scripts/setup_quickstart.sh functions nightly_release_testing | |
# - name: install secret googleservice-info.plist | |
# run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-functions.plist.gpg \ | |
# quickstart-ios/functions/GoogleService-Info.plist "$plist_secret" | |
# - name: Setup custom URL scheme | |
# run: sed -i '' 's/REVERSED_CLIENT_ID/com.googleusercontent.apps.1025801074639-6p6ebi8amuklcjrto20gvpe295smm8u6/' quickstart-ios/functions/LegacyFunctionsQuickstart/FunctionsExample/Info.plist | |
# - name: Test objc quickstart | |
# run: ([ -z $plist_secret ] || | |
# scripts/third_party/travis/retry.sh scripts/test_quickstart.sh Functions true) | |
# - name: Test swift quickstart | |
# run: ([ -z $plist_secret ] || | |
# scripts/third_party/travis/retry.sh scripts/test_quickstart.sh Functions true swift) | |
# - name: Remove data before upload | |
# if: ${{ failure() }} | |
# run: scripts/remove_data.sh functions | |
# - uses: actions/upload-artifact@v4 | |
# if: ${{ failure() }} | |
# with: | |
# name: quickstart_artifacts_functions | |
# path: quickstart-ios/ | |
inappmessaging_quickstart: | |
# 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' | |
needs: buildup_SpecsReleasing_repo | |
env: | |
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} | |
botaccess: ${{ secrets.RELEASE_TESTING_PAT }} | |
runs-on: macos-15 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set Xcode version | |
run: sudo xcode-select -s /Applications/Xcode_16.4.app | |
- uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 | |
- name: Setup testing repo and quickstart | |
run: BOT_TOKEN="${botaccess}" scripts/setup_quickstart.sh inappmessaging nightly_release_testing | |
- 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 objc quickstart | |
run: ([ -z $plist_secret ] || | |
scripts/third_party/travis/retry.sh scripts/test_quickstart.sh InAppMessaging true) | |
- name: Test swift quickstart | |
run: ([ -z $plist_secret ] || | |
scripts/third_party/travis/retry.sh scripts/test_quickstart.sh InAppMessaging true 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/ | |
messaging_quickstart: | |
# 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' | |
needs: buildup_SpecsReleasing_repo | |
env: | |
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} | |
botaccess: ${{ secrets.RELEASE_TESTING_PAT }} | |
runs-on: macos-15 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set Xcode version | |
run: sudo xcode-select -s /Applications/Xcode_16.4.app | |
- uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 | |
- name: Setup testing repo and quickstart | |
run: BOT_TOKEN="${botaccess}" scripts/setup_quickstart.sh messaging nightly_release_testing | |
- 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 objc quickstart | |
run: ([ -z $plist_secret ] || | |
scripts/third_party/travis/retry.sh scripts/test_quickstart.sh Messaging false) | |
- name: Test swift quickstart | |
run: ([ -z $plist_secret ] || | |
scripts/third_party/travis/retry.sh scripts/test_quickstart.sh Messaging false 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/ | |
remoteconfig_quickstart: | |
# 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' | |
needs: buildup_SpecsReleasing_repo | |
env: | |
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} | |
botaccess: ${{ secrets.RELEASE_TESTING_PAT }} | |
runs-on: macos-15 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set Xcode version | |
run: sudo xcode-select -s /Applications/Xcode_16.4.app | |
- uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 | |
- name: Setup testing repo and quickstart | |
run: BOT_TOKEN="${botaccess}" scripts/setup_quickstart.sh config nightly_release_testing | |
- 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.sh Config true) | |
- 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/ | |
storage_quickstart: | |
# 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' | |
needs: buildup_SpecsReleasing_repo | |
env: | |
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} | |
botaccess: ${{ secrets.RELEASE_TESTING_PAT }} | |
LEGACY: true | |
runs-on: macos-15 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set Xcode version | |
run: sudo xcode-select -s /Applications/Xcode_16.4.app | |
- uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 | |
- name: Setup testing repo and quickstart | |
run: BOT_TOKEN="${botaccess}" scripts/setup_quickstart.sh storage nightly_release_testing | |
- 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 swift quickstart | |
run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart.sh Storage true 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/ | |
performance_quickstart: | |
# 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' | |
needs: buildup_SpecsReleasing_repo | |
env: | |
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} | |
botaccess: ${{ secrets.RELEASE_TESTING_PAT }} | |
runs-on: macos-15 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set Xcode version | |
run: sudo xcode-select -s /Applications/Xcode_16.4.app | |
- uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 | |
- name: Setup testing repo and quickstart | |
run: BOT_TOKEN="${botaccess}" scripts/setup_quickstart.sh Performance nightly_release_testing | |
- name: Install Secret GoogleService-Info.plist | |
run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-performance.plist.gpg \ | |
quickstart-ios/performance/GoogleService-Info.plist "$plist_secret" | |
- name: Test swift quickstart | |
run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart.sh Performance true swift) | |
- name: Remove data before upload | |
if: ${{ failure() }} | |
run: scripts/remove_data.sh performance | |
- uses: actions/upload-artifact@v4 | |
if: ${{ failure() }} | |
with: | |
name: quickstart_artifacts_performance | |
path: quickstart-ios/ |