Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 8 additions & 3 deletions .github/workflows/abtesting.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,10 @@ jobs:
uses: ./.github/workflows/common_quickstart.yml
with:
product: ABTesting
setup_command: scripts/setup_quickstart_spm.sh abtesting
plist_src_path: scripts/gha-encrypted/qs-abtesting.plist.gpg
plist_dst_path: quickstart-ios/abtesting/GoogleService-Info.plist
is_legacy: true
setup_command: scripts/setup_quickstart.sh abtesting
plist_src_path: scripts/gha-encrypted/qs-database.plist.gpg
plist_dst_path: quickstart-ios/database/GoogleService-Info.plist
secrets:
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}

Expand All @@ -65,13 +66,17 @@ jobs:
with:
python-version: '3.11'
- name: Setup quickstart
env:
LEGACY: true
run: scripts/setup_quickstart.sh abtesting
- 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: Xcode
run: sudo xcode-select -s /Applications/Xcode_16.4.app/Contents/Developer
- name: Build swift quickstart
env:
LEGACY: true
run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_ftl.sh ABTesting)
- id: ftl_test
uses: FirebaseExtended/github-actions/firebase-test-lab@v1.4
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/auth.yml
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,8 @@ jobs:
uses: ./.github/workflows/common_quickstart.yml
with:
product: Authentication
setup_command: scripts/setup_quickstart_spm.sh authentication
is_legacy: false
setup_command: scripts/setup_quickstart.sh authentication
plist_src_path: scripts/gha-encrypted/qs-authentication.plist.gpg
plist_dst_path: quickstart-ios/authentication/GoogleService-Info.plist
run_tests: false
Expand Down Expand Up @@ -140,5 +141,6 @@ jobs:
platforms: '[ "ios", "tvos --skip-tests", "macos --skip-tests", "watchos --skip-tests" ]'
flags: '[ "--use-static-frameworks" ]'
setup_command: scripts/configure_test_keychain.sh
ignore_deprecation_warnings: true
secrets:
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
29 changes: 17 additions & 12 deletions .github/workflows/common_quickstart.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,10 @@ on:
type: string
required: true

# The branch to checkout in the quickstart repo.
quickstart_branch:
type: string
required: false
default: 'main'
# Whether to test the legacy version of the quickstart.
is_legacy:
type: boolean
required: true

# The path to the encrypted `GoogleService-Info.plist` file.
plist_src_path:
Expand All @@ -45,6 +44,14 @@ on:
type: string
required: true

# The type of quickstart to test.
#
# Options: [swift, objc]
quickstart_type:
type: string
required: false
default: objc

# Whether to run tests or just build. Defaults to true.
run_tests:
type: boolean
Expand All @@ -61,18 +68,15 @@ on:

jobs:
quickstart:
name: quickstart (${{ inputs.product }})
# Run on the main repo's scheduled jobs or pull requests and manual workflow invocations.
if: (github.repository == 'firebase/firebase-ios-sdk' && github.event_name == 'schedule') || contains(fromJSON('["pull_request", "workflow_dispatch"]'), github.event_name)
env:
plist_secret: ${{ secrets.plist_secret }}
QUICKSTART_BRANCH: ${{ inputs.quickstart_branch }}
LEGACY: ${{ inputs.is_legacy && true || '' }}
runs-on: macos-15
steps:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1
- name: Prereqs
run: gem install xcpretty
- name: Xcode
run: sudo xcode-select -s /Applications/Xcode_16.4.app/Contents/Developer
- name: Run setup command.
Expand All @@ -83,16 +87,17 @@ jobs:
${{ inputs.plist_src_path }} \
${{ inputs.plist_dst_path }} \
"$plist_secret"
- name: Build ${{ inputs.product }} Quickstart
- name: Build ${{ inputs.product }} Quickstart (${{ inputs.quickstart_type }} / ${{ inputs.is_legacy && 'Legacy' || 'Non-Legacy' }})
uses: nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 # v3
with:
timeout_minutes: 15
max_attempts: 3
retry_wait_seconds: 120
command: |
SPM=true DIR=${{ inputs.product }} scripts/test_quickstart.sh \
scripts/test_quickstart.sh \
${{ inputs.product }} \
${{ inputs.run_tests }}
${{ inputs.run_tests }} \
${{ inputs.quickstart_type }}
# Failure sequence to upload artifact.
- id: lowercase_product
if: failure()
Expand Down
17 changes: 16 additions & 1 deletion .github/workflows/crashlytics.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,14 @@ jobs:
uses: ./.github/workflows/common_quickstart.yml
with:
product: Crashlytics
setup_command: scripts/setup_quickstart_spm.sh crashlytics
is_legacy: true
quickstart_type: swift
setup_command: |
scripts/setup_quickstart.sh crashlytics
mkdir 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/
plist_src_path: scripts/gha-encrypted/qs-crashlytics.plist.gpg
plist_dst_path: quickstart-ios/crashlytics/GoogleService-Info.plist
secrets:
Expand All @@ -70,12 +77,20 @@ jobs:
run: sudo xcode-select -s /Applications/Xcode_16.4.app/Contents/Developer
- name: Setup quickstart
run: scripts/setup_quickstart.sh crashlytics
env:
LEGACY: true
- 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: Build swift quickstart
run: |
mkdir 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_ftl.sh Crashlytics swift)
env:
LEGACY: true
- id: ftl_test
uses: FirebaseExtended/github-actions/firebase-test-lab@v1.4
with:
Expand Down
7 changes: 6 additions & 1 deletion .github/workflows/database.yml
Original file line number Diff line number Diff line change
Expand Up @@ -72,11 +72,16 @@ jobs:

quickstart:
uses: ./.github/workflows/common_quickstart.yml
strategy:
matrix:
quickstart_type: [objc, swift]
with:
product: Database
setup_command: scripts/setup_quickstart_spm.sh database
is_legacy: false
setup_command: scripts/setup_quickstart.sh database
plist_src_path: scripts/gha-encrypted/qs-database.plist.gpg
plist_dst_path: quickstart-ios/database/GoogleService-Info.plist
quickstart_type: ${{ matrix.quickstart_type }}
run_tests: false
secrets:
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/firestore.yml
Original file line number Diff line number Diff line change
Expand Up @@ -605,7 +605,8 @@ jobs:
# uses: ./.github/workflows/common_quickstart.yml
# with:
# product: Firestore
# setup_command: scripts/setup_quickstart_spm.sh firestore
# is_legacy: true
# setup_command: scripts/setup_quickstart.sh firestore
# plist_src_path: scripts/gha-encrypted/qs-firestore.plist.gpg
# plist_dst_path: quickstart-ios/firestore/GoogleService-Info.plist
# run_tests: false
Expand Down
18 changes: 17 additions & 1 deletion .github/workflows/functions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,23 @@ jobs:
with:
target: FirebaseFunctionsUnit

# TODO(ncooke3): Add a Functions quickstart test.
# TODO: The legacy quickstart uses material which doesn't build on Xcode 15.
# quickstart:
# uses: ./.github/workflows/common_quickstart.yml
# strategy:
# matrix:
# quickstart_type: [objc, swift]
# with:
# product: Functions
# is_legacy: true
# setup_command: |
# scripts/setup_quickstart.sh functions
# sed -i '' 's/REVERSED_CLIENT_ID/com.googleusercontent.apps.1025801074639-6p6ebi8amuklcjrto20gvpe295smm8u6/' quickstart-ios/functions/LegacyFunctionsQuickstart/FunctionsExample/Info.plist
# plist_src_path: scripts/gha-encrypted/qs-functions.plist.gpg
# plist_dst_path: quickstart-ios/functions/GoogleService-Info.plist
# quickstart_type: ${{ matrix.quickstart_type }}
# secrets:
# plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}

# quickstart-ftl-cron-only:
# # Don't run on private repo
Expand Down
8 changes: 6 additions & 2 deletions .github/workflows/inappmessaging.yml
Original file line number Diff line number Diff line change
Expand Up @@ -74,11 +74,15 @@ jobs:

quickstart:
uses: ./.github/workflows/common_quickstart.yml
strategy:
matrix:
quickstart_type: [objc, swift]
with:
product: InAppMessaging
setup_command: scripts/setup_quickstart_spm.sh inappmessaging
is_legacy: false
quickstart_type: ${{ matrix.quickstart_type }}
setup_command: scripts/setup_quickstart.sh inappmessaging
plist_src_path: scripts/gha-encrypted/qs-inappmessaging.plist.gpg
plist_dst_path: quickstart-ios/inappmessaging/GoogleService-Info.plist
run_tests: false
secrets:
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
7 changes: 6 additions & 1 deletion .github/workflows/installations.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,11 +51,16 @@ jobs:

quickstart:
uses: ./.github/workflows/common_quickstart.yml
strategy:
matrix:
quickstart_type: [objc, swift]
with:
product: Installations
setup_command: scripts/setup_quickstart_spm.sh installations
is_legacy: false
setup_command: scripts/setup_quickstart.sh installations
plist_src_path: scripts/gha-encrypted/Installations/GoogleService-Info.plist.gpg
plist_dst_path: quickstart-ios/installations/GoogleService-Info.plist
quickstart_type: ${{ matrix.quickstart_type }}
secrets:
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}

Expand Down
7 changes: 6 additions & 1 deletion .github/workflows/messaging.yml
Original file line number Diff line number Diff line change
Expand Up @@ -83,9 +83,14 @@ jobs:

quickstart:
uses: ./.github/workflows/common_quickstart.yml
strategy:
matrix:
quickstart_type: [objc, swift]
with:
product: Messaging
setup_command: scripts/setup_quickstart_spm.sh messaging
is_legacy: false
quickstart_type: ${{ matrix.quickstart_type }}
setup_command: scripts/setup_quickstart.sh messaging
plist_src_path: scripts/gha-encrypted/qs-messaging.plist.gpg
plist_dst_path: quickstart-ios/messaging/GoogleService-Info.plist
run_tests: false
Expand Down
5 changes: 4 additions & 1 deletion .github/workflows/performance.yml
Original file line number Diff line number Diff line change
Expand Up @@ -78,11 +78,14 @@ jobs:
#TODO: tests are not supported with Xcode 15 because the test spec depends on the iOS 8 GDCWebServer
buildonly_platforms: iOS, tvOS

# TODO: The legacy ObjC quickstarts don't run with Xcode 15, re-able if we get these working.
quickstart:
uses: ./.github/workflows/common_quickstart.yml
with:
product: Performance
setup_command: scripts/setup_quickstart_spm.sh performance
is_legacy: false
quickstart_type: swift
setup_command: scripts/setup_quickstart.sh performance
plist_src_path: scripts/gha-encrypted/qs-performance.plist.gpg
plist_dst_path: quickstart-ios/performance/GoogleService-Info.plist
secrets:
Expand Down
Loading
Loading