Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
d381418
fix: cron job migration to SPM QS
ncooke3 Nov 25, 2025
5e78c38
Update .github/workflows/abtesting.yml
ncooke3 Nov 25, 2025
686217a
Update .github/workflows/installations.yml
ncooke3 Nov 25, 2025
fa74c0c
Update .github/workflows/performance.yml
ncooke3 Nov 25, 2025
e9aad7d
Update .github/workflows/storage.yml
ncooke3 Nov 25, 2025
0874778
Update .github/workflows/crashlytics.yml
ncooke3 Nov 25, 2025
71fa906
comment out
ncooke3 Nov 25, 2025
fd3db2d
Apply suggestion from @ncooke3
ncooke3 Nov 25, 2025
78533b1
syntax fixes
ncooke3 Nov 25, 2025
ff3cdc8
disable more
ncooke3 Nov 25, 2025
18b4ecc
debug workflows
ncooke3 Nov 25, 2025
54d818c
install xcpretty
ncooke3 Nov 25, 2025
eede435
work
ncooke3 Nov 25, 2025
f4d7481
fix installations
ncooke3 Nov 25, 2025
cb811a3
fix: abtesting cron
ncooke3 Nov 25, 2025
8db776c
Apply suggestion from @ncooke3
ncooke3 Nov 25, 2025
ac580e2
checkout main of files moved
ncooke3 Nov 25, 2025
a08c448
Apply suggestion from @ncooke3
ncooke3 Nov 25, 2025
518a334
Apply suggestion from @ncooke3
ncooke3 Nov 26, 2025
6aa7fad
install xcpretty
ncooke3 Nov 26, 2025
221164a
fix: performance cron (#15537)
ncooke3 Nov 25, 2025
d14eea3
[Performance] Fix build warning (#15538)
paulb777 Nov 25, 2025
75284d2
fix: fail scheduled builds if pinned run is set (#15543)
ncooke3 Nov 25, 2025
5d83cca
fix: abtesting cron (#15542)
ncooke3 Nov 25, 2025
cfe1706
fix: installations cron (#15541)
ncooke3 Nov 25, 2025
6dcfaf3
refactor: add .github/workflows/common_quickstart_framework.yml (#15540)
ncooke3 Nov 25, 2025
313ed5e
[Infra] Build with Xcode 26.1 (#15544)
paulb777 Nov 25, 2025
795e388
revertable: performance
ncooke3 Nov 26, 2025
6123787
revert?
ncooke3 Nov 26, 2025
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
6 changes: 5 additions & 1 deletion .github/workflows/abtesting.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,11 +61,15 @@ jobs:
steps:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1
- name: Setup Bundler
run: scripts/setup_bundler.sh
- name: Install xcpretty
run: gem install xcpretty
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Setup quickstart
run: scripts/setup_quickstart.sh abtesting
run: scripts/setup_quickstart_spm.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"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/common.yml
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ jobs:
xcode: Xcode_16.2
platform: iOS
- os: macos-26
xcode: Xcode_26.0
xcode: Xcode_26.1
platform: iOS
runs-on: ${{ matrix.os }}
steps:
Expand Down
93 changes: 93 additions & 0 deletions .github/workflows/common_quickstart_framework.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
name: common_quickstart_framework

permissions:
contents: read

on:
workflow_call:
inputs:
# The product to test be tested (e.g. `ABTesting`).
product:
required: true
type: string
# The Run ID of a successful zip packaging workflow.
zip_run_id:
required: true
type: string
# The name of the artifact from the zip packaging workflow to download.
artifact_name:
required: true
type: string
# A command to execute before testing.
#
# Example: `scripts/setup_quickstart.sh functions`
setup_command:
required: true
type: string
# The path to the encrypted `GoogleService-Info.plist` file.
plist_src_path:
required: true
type: string
# The destination path for the decrypted `GoogleService-Info.plist` file.
plist_dst_path:
required: true
type: string
# The runner to use.
os:
required: false
type: string
default: macos-15
# The version of Xcode to use.
xcode:
required: false
type: string
default: Xcode_16.4
secrets:
# The passphrase for decrypting the GoogleService-Info.plist.
plist_secret:
required: true

jobs:
quickstart_framework:
if: ${{ !cancelled() }}
env:
plist_secret: ${{ secrets.plist_secret }}
SDK: ${{ inputs.product }}
runs-on: ${{ inputs.os }}
steps:
- uses: actions/checkout@v4
- name: Get framework dir
uses: actions/download-artifact@v4.1.7
with:
name: ${{ inputs.artifact_name }}
run-id: ${{ inputs.zip_run_id }}
github-token: ${{ secrets.github_token }}
- uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1
- name: Xcode
run: sudo xcode-select -s /Applications/${{ inputs.xcode }}.app/Contents/Developer
- 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 quickstart
run: ${{ inputs.setup_command }}
- name: Install Secret GoogleService-Info.plist
run: scripts/decrypt_gha_secret.sh ${{ inputs.plist_src_path }} \
${{ inputs.plist_dst_path }} "$plist_secret"
- name: Test Quickstart
uses: nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 # v3
with:
timeout_minutes: 15
max_attempts: 2
retry_wait_seconds: 120
command: ([ -z $plist_secret ] || scripts/test_quickstart_framework.sh "${SDK}")
# Failure sequence to upload artifact.
- uses: actions/upload-artifact@v4
if: failure()
with:
name: quickstart_artifacts_${{ inputs.product }}_${{ inputs.artifact_name }}
path: |
quickstart-ios/
!quickstart-ios/**/GoogleService-Info.plist
77 changes: 41 additions & 36 deletions .github/workflows/crashlytics.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,51 +25,56 @@ concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
cancel-in-progress: true

jobs:
spm:
uses: ./.github/workflows/common.yml
with:
target: FirebaseCrashlyticsUnit

catalyst:
uses: ./.github/workflows/common_catalyst.yml
with:
product: FirebaseCrashlytics
target: FirebaseCrashlytics-Unit-unit

pod_lib_lint:
uses: ./.github/workflows/common_cocoapods.yml
with:
product: FirebaseCrashlytics
buildonly_platforms: tvOS, macOS, watchOS

quickstart:
uses: ./.github/workflows/common_quickstart.yml
with:
product: Crashlytics
setup_command: scripts/setup_quickstart_spm.sh crashlytics
plist_src_path: scripts/gha-encrypted/qs-crashlytics.plist.gpg
plist_dst_path: quickstart-ios/crashlytics/GoogleService-Info.plist
secrets:
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
#jobs:
# spm:
# uses: ./.github/workflows/common.yml
# with:
# target: FirebaseCrashlyticsUnit
#
# catalyst:
# uses: ./.github/workflows/common_catalyst.yml
# with:
# product: FirebaseCrashlytics
# target: FirebaseCrashlytics-Unit-unit
#
# pod_lib_lint:
# uses: ./.github/workflows/common_cocoapods.yml
# with:
# product: FirebaseCrashlytics
# buildonly_platforms: tvOS, macOS, watchOS
#
# quickstart:
# uses: ./.github/workflows/common_quickstart.yml
# with:
# product: Crashlytics
# setup_command: scripts/setup_quickstart_spm.sh crashlytics
# plist_src_path: scripts/gha-encrypted/qs-crashlytics.plist.gpg
# plist_dst_path: quickstart-ios/crashlytics/GoogleService-Info.plist
# secrets:
# plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}

jobs:
quickstart-ftl-cron-only:
# Don't run on private repo.
if: github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule'
if: github.repository == 'Firebase/firebase-ios-sdk'

env:
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
runs-on: macos-15
steps:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1
- name: Setup Bundler
run: scripts/setup_bundler.sh
- name: Install xcpretty
run: gem install xcpretty
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Xcode
run: sudo xcode-select -s /Applications/Xcode_16.4.app/Contents/Developer
- name: Setup quickstart
run: scripts/setup_quickstart.sh crashlytics
run: QUICKSTART_BRANCH=nc/strg-tests scripts/setup_quickstart_spm.sh crashlytics
- 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"
Expand All @@ -83,10 +88,10 @@ jobs:
testapp_dir: quickstart-ios/build-for-testing
test_type: "xctest"

crashlytics-cron-only:
needs: pod_lib_lint
uses: ./.github/workflows/common_cocoapods_cron.yml
with:
product: FirebaseCrashlytics
platforms: '[ "ios", "tvos", "macos", "watchos --skip-tests" ]'
flags: '[ "--use-static-frameworks", "--use-modular-headers --skip-tests" ]'
# crashlytics-cron-only:
# needs: pod_lib_lint
# uses: ./.github/workflows/common_cocoapods_cron.yml
# with:
# product: FirebaseCrashlytics
# platforms: '[ "ios", "tvos", "macos", "watchos --skip-tests" ]'
# flags: '[ "--use-static-frameworks", "--use-modular-headers --skip-tests" ]'
4 changes: 2 additions & 2 deletions .github/workflows/firebaseai.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ jobs:
xcode: Xcode_16.4
- os: macos-26
target: iOS
xcode: Xcode_26.0
xcode: Xcode_26.1
runs-on: ${{ matrix.os }}
needs: spm
env:
Expand Down Expand Up @@ -88,7 +88,7 @@ jobs:
- os: macos-15
xcode: Xcode_16.4
- os: macos-26
xcode: Xcode_26.0
xcode: Xcode_26.1
runs-on: ${{ matrix.os }}
env:
BRANCH_NAME: ${{ github.head_ref || github.ref_name || 'main' }}
Expand Down
11 changes: 6 additions & 5 deletions .github/workflows/installations.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,24 +62,25 @@ jobs:
quickstart-ftl-cron-only:
# Don't run on private repo.
if: github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule'

runs-on: macos-15
steps:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1
- name: Setup Bundler
run: scripts/setup_bundler.sh
- name: Install xcpretty
run: gem install xcpretty
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Xcode
run: sudo xcode-select -s /Applications/Xcode_16.4.app/Contents/Developer
- name: Setup quickstart
run: scripts/setup_quickstart.sh installations
run: scripts/setup_quickstart_spm.sh installations
- name: Copy mock plist
run: cp quickstart-ios/mock-GoogleService-Info.plist quickstart-ios/installations/GoogleService-Info.plist
- name: Build objc quickstart
- name: Build quickstart
run: scripts/third_party/travis/retry.sh scripts/test_quickstart_ftl.sh Installations
- name: Build swift quickstart
run: scripts/third_party/travis/retry.sh scripts/test_quickstart_ftl.sh Installations swift
- id: ftl_test
uses: FirebaseExtended/github-actions/firebase-test-lab@v1.4
with:
Expand Down
Loading
Loading