Skip to content

Commit e31449e

Browse files
committed
merge in main
2 parents 56a44fa + 37715f0 commit e31449e

File tree

205 files changed

+6899
-624
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

205 files changed

+6899
-624
lines changed

.github/actions/notices_generation/Gemfile.lock

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ GEM
9898
sawyer (~> 0.8.0, >= 0.5.3)
9999
plist (3.6.0)
100100
public_suffix (4.0.6)
101-
rexml (3.4.1)
101+
rexml (3.4.2)
102102
ruby-macho (2.5.1)
103103
ruby2_keywords (0.0.2)
104104
sawyer (0.8.2)

.github/workflows/auth.yml

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -134,12 +134,13 @@ jobs:
134134
# test_type: "xctest"
135135

136136
auth-cron-only:
137-
needs: pod_lib_lint
138-
uses: ./.github/workflows/common_cocoapods_cron.yml
139-
with:
140-
product: FirebaseAuth
141-
platforms: '[ "ios", "tvos --skip-tests", "macos --skip-tests", "watchos --skip-tests" ]'
142-
flags: '[ "--use-static-frameworks" ]'
143-
setup_command: scripts/configure_test_keychain.sh
144-
secrets:
145-
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
137+
needs: pod_lib_lint
138+
uses: ./.github/workflows/common_cocoapods_cron.yml
139+
with:
140+
product: FirebaseAuth
141+
platforms: '[ "ios", "tvos --skip-tests", "macos --skip-tests", "watchos --skip-tests" ]'
142+
flags: '[ "--use-static-frameworks" ]'
143+
setup_command: scripts/configure_test_keychain.sh
144+
ignore_deprecation_warnings: true
145+
secrets:
146+
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}

.github/workflows/common.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,9 @@ jobs:
9595
- os: macos-14
9696
xcode: Xcode_16.2
9797
platform: iOS
98+
- os: macos-26
99+
xcode: Xcode_26.0
100+
platform: iOS
98101
runs-on: ${{ matrix.os }}
99102
steps:
100103
- uses: actions/checkout@v4

.github/workflows/common_cocoapods.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,12 @@ on:
7575
required: false
7676
default: true
7777

78+
# Whether to lint with `--verbose`. Defaults to false.
79+
verbose:
80+
type: boolean
81+
required: false
82+
default: false
83+
7884
# Whether to additionally build with Swift 6. Defaults to false.
7985
supports_swift6:
8086
type: boolean
@@ -151,6 +157,7 @@ jobs:
151157
command: |
152158
scripts/pod_lib_lint.rb ${{ inputs.product }}.podspec --platforms=${{ matrix.platform }} \
153159
${{ inputs.allow_warnings == true && '--allow-warnings' || '' }} \
160+
${{ inputs.verbose == true && '--verbose' || '' }} \
154161
${{ inputs.analyze == false && '--no-analyze' || '' }} \
155162
${{ inputs.test_specs != '' && format('--test-specs={0}', inputs.test_specs) || '' }} \
156163
${{ (contains(inputs.buildonly_platforms, matrix.platform) || contains(inputs.buildonly_platforms, 'all')) && '--skip-tests' || '' }}

.github/workflows/common_cocoapods_cron.yml

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,16 @@ on:
4646
required: false
4747
default: "macos-15"
4848

49+
# Whether to ignore deprecation warnings by setting FIREBASE_CI.
50+
ignore_deprecation_warnings:
51+
type: boolean
52+
required: false
53+
default: false
54+
4955
jobs:
5056
cron-job:
5157
if: |
52-
github.repository == 'firebase/firebase-ios-sdk' && \
58+
github.repository == 'firebase/firebase-ios-sdk' &&
5359
(github.event_name == 'schedule' || github.event_name == 'workflow_dispatch')
5460
runs-on: ${{ inputs.runs_on }}
5561
strategy:
@@ -64,6 +70,9 @@ jobs:
6470
run: scripts/setup_bundler.sh
6571
- name: Xcode
6672
run: sudo xcode-select -s /Applications/${{ inputs.xcode }}.app/Contents/Developer
73+
- name: Set FIREBASE_CI, if needed.
74+
if: inputs.ignore_deprecation_warnings == true
75+
run: echo "FIREBASE_CI=true" >> $GITHUB_ENV
6776
- name: Run setup command, if needed.
6877
if: inputs.setup_command != ''
6978
env:

.github/workflows/firebaseai.yml

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,12 @@ permissions:
2727

2828
jobs:
2929
spm:
30+
strategy:
31+
matrix:
32+
target: [FirebaseAILogicUnit, FirebaseAIUnit]
3033
uses: ./.github/workflows/common.yml
3134
with:
32-
target: FirebaseAIUnit
35+
target: ${{ matrix.target }}
3336
setup_command: scripts/update_vertexai_responses.sh
3437

3538
testapp-integration:
@@ -40,6 +43,8 @@ jobs:
4043
include:
4144
- os: macos-15
4245
xcode: Xcode_16.4
46+
- os: macos-26
47+
xcode: Xcode_26.0
4348
runs-on: ${{ matrix.os }}
4449
needs: spm
4550
env:
@@ -54,13 +59,13 @@ jobs:
5459
path: .build
5560
key: ${{ needs.spm.outputs.cache_key }}
5661
- name: Install Secret GoogleService-Info.plist
57-
run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/VertexAI/TestApp-GoogleService-Info.plist.gpg \
62+
run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/FirebaseAI/TestApp-GoogleService-Info.plist.gpg \
5863
FirebaseAI/Tests/TestApp/Resources/GoogleService-Info.plist "$secrets_passphrase"
5964
- name: Install Secret GoogleService-Info-Spark.plist
60-
run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/VertexAI/TestApp-GoogleService-Info-Spark.plist.gpg \
65+
run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/FirebaseAI/TestApp-GoogleService-Info-Spark.plist.gpg \
6166
FirebaseAI/Tests/TestApp/Resources/GoogleService-Info-Spark.plist "$secrets_passphrase"
6267
- name: Install Secret Credentials.swift
63-
run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/VertexAI/TestApp-Credentials.swift.gpg \
68+
run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/FirebaseAI/TestApp-Credentials.swift.gpg \
6469
FirebaseAI/Tests/TestApp/Tests/Integration/Credentials.swift "$secrets_passphrase"
6570
- name: Xcode
6671
run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer
@@ -75,9 +80,12 @@ jobs:
7580
retention-days: 2
7681

7782
pod_lib_lint:
83+
strategy:
84+
matrix:
85+
product: [FirebaseAILogic, FirebaseAI]
7886
uses: ./.github/workflows/common_cocoapods.yml
7987
with:
80-
product: FirebaseAI
88+
product: ${{ matrix.product }}
8189
supports_swift6: true
8290
setup_command: scripts/update_vertexai_responses.sh
8391

@@ -87,6 +95,8 @@ jobs:
8795
include:
8896
- os: macos-15
8997
xcode: Xcode_16.4
98+
- os: macos-26
99+
xcode: Xcode_26.0
90100
runs-on: ${{ matrix.os }}
91101
env:
92102
BRANCH_NAME: ${{ github.head_ref || github.ref_name || 'main' }}

.github/workflows/spm.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,12 @@ jobs:
8585
max_attempts: 3
8686
retry_wait_seconds: 120
8787
command: scripts/build.sh Firebase-Package iOS ${{ matrix.test }}
88+
- uses: actions/upload-artifact@v4
89+
if: ${{ failure() }}
90+
with:
91+
name: spm-build-run-${{ matrix.os }}-${{ matrix.xcode }}-logs
92+
path: xcodebuild-*.log
93+
if-no-files-found: error
8894

8995
# Test iOS Device build since some Firestore dependencies build different files.
9096
iOS-Device:
@@ -113,6 +119,12 @@ jobs:
113119
run: scripts/setup_spm_tests.sh
114120
- name: iOS Device and Test Build
115121
run: scripts/third_party/travis/retry.sh ./scripts/build.sh Firebase-Package iOS-device spmbuildonly
122+
- uses: actions/upload-artifact@v4
123+
if: ${{ failure() }}
124+
with:
125+
name: spm-ios-device-${{ matrix.os }}-${{ matrix.xcode }}-logs
126+
path: xcodebuild-*.log
127+
if-no-files-found: error
116128

117129
platforms:
118130
# Don't run on private repo unless it is a PR.
@@ -148,3 +160,10 @@ jobs:
148160
run: scripts/third_party/travis/retry.sh ./scripts/build.sh version-test ${{ matrix.target }} spm
149161
- name: Analytics Build Tests
150162
run: scripts/third_party/travis/retry.sh ./scripts/build.sh analytics-import-test ${{ matrix.target }} spm
163+
- uses: actions/upload-artifact@v4
164+
if: ${{ failure() }}
165+
with:
166+
name: spm-platforms-${{ matrix.target }}-${{ matrix.os }}-${{ matrix.xcode }}-logs
167+
path: xcodebuild-*.log
168+
if-no-files-found: error
169+

.github/workflows/zip.yml

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -398,6 +398,57 @@ jobs:
398398
name: quickstart_artifacts database
399399
path: quickstart-ios/
400400

401+
quickstart_framework_firebaseai:
402+
needs: package-head
403+
if: ${{ !cancelled() && (success() || github.event.inputs.zip_run_id != '') }}
404+
env:
405+
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
406+
SDK: "FirebaseAI"
407+
# This is a workaround to use the FirebaseAIExampleZip scheme that does not have the SPM dependency.
408+
SWIFT_SUFFIX: "Zip"
409+
strategy:
410+
matrix:
411+
artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic]
412+
build-env:
413+
- os: macos-15
414+
xcode: Xcode_16.4
415+
runs-on: ${{ matrix.build-env.os }}
416+
steps:
417+
- uses: actions/checkout@v4
418+
- name: Get framework dir
419+
uses: actions/[email protected]
420+
with:
421+
name: ${{ matrix.artifact }}
422+
run-id: ${{ github.event.inputs.zip_run_id || github.run_id }}
423+
github-token: ${{ secrets.GITHUB_TOKEN }}
424+
- uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1
425+
- name: Xcode
426+
run: sudo xcode-select -s /Applications/${{ matrix.build-env.xcode }}.app/Contents/Developer
427+
- name: Setup Bundler
428+
run: ./scripts/setup_bundler.sh
429+
- name: Move frameworks
430+
run: |
431+
mkdir -p "${HOME}"/ios_frameworks/
432+
find "${GITHUB_WORKSPACE}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} +
433+
- uses: actions/checkout@v4
434+
- name: Setup quickstart
435+
run: SAMPLE="$SDK" TARGET="${SDK}ExampleZip" scripts/setup_quickstart_framework.sh \
436+
"${HOME}"/ios_frameworks/Firebase/FirebaseAILogic/* \
437+
"${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/*
438+
- name: Install Secret GoogleService-Info.plist
439+
run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/FirebaseAI/TestApp-GoogleService-Info.plist.gpg \
440+
quickstart-ios/firebaseai/GoogleService-Info.plist "$plist_secret"
441+
- name: Test Quickstart
442+
run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}")
443+
- name: Remove data before upload
444+
if: ${{ failure() }}
445+
run: scripts/remove_data.sh firebaseai
446+
- uses: actions/upload-artifact@v4
447+
if: ${{ failure() }}
448+
with:
449+
name: quickstart_artifacts_firebaseai
450+
path: quickstart-ios/
451+
401452
quickstart_framework_firestore:
402453
needs: package-head
403454
if: ${{ !cancelled() && (success() || github.event.inputs.zip_run_id != '') }}
@@ -577,6 +628,10 @@ jobs:
577628
"${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/*
578629
- name: Setup swift quickstart
579630
run: SAMPLE="$SDK" TARGET="${SDK}ExampleSwift" scripts/setup_quickstart_framework.sh
631+
- name: Add frameworks to Crashlytics watchOS target
632+
run: |
633+
cd quickstart-ios/messaging
634+
"${GITHUB_WORKSPACE}"/quickstart-ios/scripts/add_framework_script.rb --sdk Messaging --target NotificationServiceExtension --framework_path Firebase/
580635
- name: Install Secret GoogleService-Info.plist
581636
run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-messaging.plist.gpg \
582637
quickstart-ios/messaging/GoogleService-Info.plist "$plist_secret"

Carthage.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ Firebase components that you want to include in your app. Note that
3131

3232
```
3333
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseABTestingBinary.json"
34-
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseAIBinary.json"
34+
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseAILogicBinary.json"
3535
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseAdMobBinary.json"
3636
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseAnalyticsBinary.json"
3737
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseAppCheckBinary.json"

CoreOnly/NOTICES

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ AppCheckCore
22
Firebase
33
FirebaseABTesting
44
FirebaseAI
5+
FirebaseAILogic
56
FirebaseAppCheck
67
FirebaseAppCheckInterop
78
FirebaseAppDistribution

0 commit comments

Comments
 (0)