Skip to content
Closed
Show file tree
Hide file tree
Changes from 15 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
8 changes: 6 additions & 2 deletions .github/workflows/abtesting.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,19 +53,23 @@ 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: 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
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: 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" ]'
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/[email protected]
with:
Expand Down
159 changes: 82 additions & 77 deletions .github/workflows/storage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,85 +25,90 @@ concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
cancel-in-progress: true

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

catalyst:
uses: ./.github/workflows/common_catalyst.yml
with:
product: FirebaseStorage
target: FirebaseStorage-Unit-unit
#jobs:
# spm:
# uses: ./.github/workflows/common.yml
# with:
# target: FirebaseStorageUnit
#
# catalyst:
# uses: ./.github/workflows/common_catalyst.yml
# with:
# product: FirebaseStorage
# target: FirebaseStorage-Unit-unit
#
# storage-integration-tests:
# # 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'
# strategy:
# matrix:
# language: [Swift, ObjC]
# include:
# - os: macos-15
# xcode: Xcode_16.4
# env:
# plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
# runs-on: ${{ matrix.os }}
# steps:
# - uses: actions/checkout@v4
# - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126
# with:
# cache_key: integration${{ matrix.os }}
# - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1
# - name: Setup Bundler
# run: scripts/setup_bundler.sh
# - name: Install xcpretty
# run: gem install xcpretty
# - name: Install Secret GoogleService-Info.plist
# run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/storage-db-plist.gpg \
# FirebaseStorage/Tests/Integration/Resources/GoogleService-Info.plist "$plist_secret"
# - name: Install Credentials.h
# run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/Storage/Credentials.h.gpg \
# FirebaseStorage/Tests/ObjCIntegration/Credentials.h "$plist_secret"
# - name: Install Credentials.swift
# run: |
# scripts/decrypt_gha_secret.sh scripts/gha-encrypted/Storage/Credentials.swift.gpg \
# FirebaseStorage/Tests/Integration/Credentials.swift "$plist_secret"
# - name: Xcode
# run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer
# - uses: nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 # v3
# with:
# timeout_minutes: 15
# max_attempts: 3
# retry_wait_seconds: 120
# command: ([ -z $plist_secret ] || scripts/build.sh Storage${{ matrix.language }} all)
#
# quickstart:
# # TODO: See #12399 and restore Objective-C testing for Xcode 15 if GHA is fixed.
# uses: ./.github/workflows/common_quickstart.yml
# with:
# product: Storage
# setup_command: scripts/setup_quickstart_spm.sh storage
# plist_src_path: scripts/gha-encrypted/qs-storage.plist.gpg
# plist_dst_path: quickstart-ios/storage/GoogleService-Info.plist
# run_tests: false
# secrets:
# plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}

storage-integration-tests:
# 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'
strategy:
matrix:
language: [Swift, ObjC]
include:
- os: macos-15
xcode: Xcode_16.4
jobs:
quickstart-ftl-cron-only:
# Don't run on private repo.
if: github.repository == 'Firebase/firebase-ios-sdk'
env:
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
runs-on: ${{ matrix.os }}
runs-on: macos-15
steps:
- uses: actions/checkout@v4
- uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126
with:
cache_key: integration${{ matrix.os }}
- uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1
- name: Setup Bundler
run: scripts/setup_bundler.sh
- name: Install xcpretty
run: gem install xcpretty
- name: Install Secret GoogleService-Info.plist
run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/storage-db-plist.gpg \
FirebaseStorage/Tests/Integration/Resources/GoogleService-Info.plist "$plist_secret"
- name: Install Credentials.h
run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/Storage/Credentials.h.gpg \
FirebaseStorage/Tests/ObjCIntegration/Credentials.h "$plist_secret"
- name: Install Credentials.swift
run: |
scripts/decrypt_gha_secret.sh scripts/gha-encrypted/Storage/Credentials.swift.gpg \
FirebaseStorage/Tests/Integration/Credentials.swift "$plist_secret"
- name: Xcode
run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer
- uses: nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 # v3
with:
timeout_minutes: 15
max_attempts: 3
retry_wait_seconds: 120
command: ([ -z $plist_secret ] || scripts/build.sh Storage${{ matrix.language }} all)

quickstart:
# TODO: See #12399 and restore Objective-C testing for Xcode 15 if GHA is fixed.
uses: ./.github/workflows/common_quickstart.yml
with:
product: Storage
setup_command: scripts/setup_quickstart_spm.sh storage
plist_src_path: scripts/gha-encrypted/qs-storage.plist.gpg
plist_dst_path: quickstart-ios/storage/GoogleService-Info.plist
run_tests: false
secrets:
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}

quickstart-ftl-cron-only:
# Don't run on private repo.
if: github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule'
env:
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
runs-on: macos-15
steps:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Setup quickstart
run: scripts/setup_quickstart.sh storage
run: scripts/setup_quickstart_spm.sh storage
- 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"
Expand All @@ -118,16 +123,16 @@ jobs:
testapp_dir: quickstart-ios/build-for-testing
test_type: "xctest"

pod_lib_lint:
uses: ./.github/workflows/common_cocoapods.yml
with:
product: FirebaseStorage
test_specs: unit
# pod_lib_lint:
# uses: ./.github/workflows/common_cocoapods.yml
# with:
# product: FirebaseStorage
# test_specs: unit

storage-cron-only:
needs: pod_lib_lint
uses: ./.github/workflows/common_cocoapods_cron.yml
with:
product: FirebaseStorage
platforms: '[ "ios", "tvos", "macos", "watchos" ]'
flags: '[ "--use-static-frameworks --skip-tests" ]'
# storage-cron-only:
# needs: pod_lib_lint
# uses: ./.github/workflows/common_cocoapods_cron.yml
# with:
# product: FirebaseStorage
# platforms: '[ "ios", "tvos", "macos", "watchos" ]'
# flags: '[ "--use-static-frameworks --skip-tests" ]'
Loading