Skip to content

Commit 9685284

Browse files
committed
merge in main
2 parents 7c1bbd4 + a74e021 commit 9685284

File tree

294 files changed

+5829
-3551
lines changed

Some content is hidden

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

294 files changed

+5829
-3551
lines changed

.github/workflows/abtesting.yml

Lines changed: 17 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,11 @@ on:
1313
- '.github/workflows/common.yml'
1414
- '.github/workflows/common_cocoapods.yml'
1515
- '.github/workflows/common_catalyst.yml'
16+
- '.github/workflows/common_quickstart.yml'
17+
- '.github/workflows/common_cocoapods_cron.yml'
1618
- 'Gemfile*'
1719
schedule:
18-
# Run every day at 1am(PST) - cron uses UTC times
20+
# Run every day at 2am (PDT) / 5am (EDT) - cron uses UTC times
1921
- cron: '0 9 * * *'
2022

2123
concurrency:
@@ -40,37 +42,22 @@ jobs:
4042
product: FirebaseABTesting
4143

4244
quickstart:
43-
# Don't run on private repo unless it is a PR.
44-
if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request'
45-
46-
env:
45+
uses: ./.github/workflows/common_quickstart.yml
46+
with:
47+
product: ABTesting
48+
is_legacy: true
49+
setup_command: scripts/setup_quickstart.sh abtesting
50+
plist_src_path: scripts/gha-encrypted/qs-database.plist.gpg
51+
plist_dst_path: quickstart-ios/database/GoogleService-Info.plist
52+
secrets:
4753
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
48-
signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
49-
runs-on: macos-15
50-
steps:
51-
- uses: actions/checkout@v4
52-
- uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1
53-
- name: Xcode
54-
run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer
55-
- name: Setup quickstart
56-
env:
57-
LEGACY: true
58-
run: scripts/setup_quickstart.sh abtesting
59-
- name: Install Secret GoogleService-Info.plist
60-
run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-abtesting.plist.gpg \
61-
quickstart-ios/abtesting/GoogleService-Info.plist "$plist_secret"
62-
- name: Test swift quickstart
63-
env:
64-
LEGACY: true
65-
run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart.sh ABTesting true)
6654

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

7159
env:
7260
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
73-
signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
7461
runs-on: macos-15
7562
steps:
7663
- uses: actions/checkout@v4
@@ -86,7 +73,7 @@ jobs:
8673
run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-abtesting.plist.gpg \
8774
quickstart-ios/abtesting/GoogleService-Info.plist "$plist_secret"
8875
- name: Xcode
89-
run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer
76+
run: sudo xcode-select -s /Applications/Xcode_16.4.app/Contents/Developer
9077
- name: Build swift quickstart
9178
env:
9279
LEGACY: true
@@ -99,25 +86,9 @@ jobs:
9986
test_type: "xctest"
10087

10188
abtesting-cron-only:
102-
# Don't run on private repo.
103-
if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk'
104-
105-
runs-on: macos-15
106-
strategy:
107-
matrix:
108-
target: [ios, tvos, macos]
109-
flags: [
110-
'--use-static-frameworks'
111-
]
11289
needs: pod_lib_lint
113-
steps:
114-
- uses: actions/checkout@v4
115-
- uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1
116-
- name: Setup Bundler
117-
run: scripts/setup_bundler.sh
118-
- name: Xcode
119-
run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer
120-
- name: PodLibLint ABTesting Cron
121-
run: |
122-
scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb \
123-
FirebaseABTesting.podspec --platforms=${{ matrix.target }} ${{ matrix.flags }}
90+
uses: ./.github/workflows/common_cocoapods_cron.yml
91+
with:
92+
product: FirebaseABTesting
93+
platforms: '[ "ios", "tvos", "macos" ]'
94+
flags: '[ "--use-static-frameworks" ]'

.github/workflows/analytics.yml

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ on:
99
- '.github/workflows/analytics.yml'
1010
- 'Gemfile*'
1111
schedule:
12-
# Run every day at 1am (PST) - cron uses UTC times
12+
# Run every day at 2am (PDT) / 5am (EDT) - cron uses UTC times
1313
- cron: '0 9 * * *'
1414

1515
concurrency:
@@ -43,11 +43,6 @@ jobs:
4343
run: scripts/third_party/travis/retry.sh pod spec lint GoogleAppMeasurement.podspec --platforms=${{ matrix.target }} --sources=https://github.com/firebase/SpecsDev.git,https://github.com/firebase/SpecsStaging.git,https://cdn.cocoapods.org/
4444
- name: FirebaseAnalytics
4545
run: scripts/third_party/travis/retry.sh pod spec lint FirebaseAnalytics.podspec --platforms=${{ matrix.target }} --sources=https://github.com/firebase/SpecsDev.git,https://github.com/firebase/SpecsStaging.git,https://cdn.cocoapods.org/
46-
# The following steps are only run on `ios` due to product availability.
47-
- name: GoogleAppMeasurementOnDeviceConversion
48-
run: scripts/third_party/travis/retry.sh pod spec lint GoogleAppMeasurementOnDeviceConversion.podspec --platforms=ios --sources=https://github.com/firebase/SpecsDev.git,https://github.com/firebase/SpecsStaging.git,https://cdn.cocoapods.org/
49-
- name: FirebaseAnalyticsOnDeviceConversion
50-
run: scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseAnalyticsOnDeviceConversion.podspec --platforms=ios
5146

5247
# TODO: Consider pushing GoogleAppMeasurement.podspec to SpecsDev to enable similar test
5348
# for FirebaseAnalytics.podspec

.github/workflows/appdistribution.yml

Lines changed: 7 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,10 @@ on:
1212
- '.github/workflows/common.yml'
1313
- '.github/workflows/common_cocoapods.yml'
1414
- '.github/workflows/common_catalyst.yml'
15+
- '.github/workflows/common_cocoapods_cron.yml'
1516
- 'Gemfile*'
1617
schedule:
17-
# Run every day at 1am (PST) - cron uses UTC times
18+
# Run every day at 2am (PDT) / 5am (EDT) - cron uses UTC times
1819
- cron: '0 9 * * *'
1920

2021
concurrency:
@@ -41,22 +42,9 @@ jobs:
4142
platforms: iOS # App Distro only supports iOS.
4243

4344
appdistribution-cron-only:
44-
if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk'
45-
46-
runs-on: macos-15
47-
strategy:
48-
matrix:
49-
target: [ios]
50-
flags: [
51-
'--use-static-frameworks'
52-
]
5345
needs: pod_lib_lint
54-
steps:
55-
- uses: actions/checkout@v4
56-
- uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1
57-
- name: Setup Bundler
58-
run: scripts/setup_bundler.sh
59-
- name: PodLibLint App Distribution Cron
60-
run: |
61-
scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseAppDistribution.podspec \
62-
--platforms=${{ matrix.target }} ${{ matrix.flags }}
46+
uses: ./.github/workflows/common_cocoapods_cron.yml
47+
with:
48+
product: FirebaseAppDistribution
49+
platforms: '[ "ios" ]'
50+
flags: '[ "--use-static-frameworks" ]'

.github/workflows/archiving.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ on:
66
paths:
77
- '.github/workflows/archiving.yml'
88
schedule:
9-
# Run every day at 2am (PST) - cron uses UTC times
9+
# Run every day at 3am (PDT) / 6am (EDT) - cron uses UTC times
1010
# This is set to 3 hours after zip workflow finishes so zip testing can run after.
1111
- cron: '0 10 * * *'
1212

@@ -27,6 +27,8 @@ jobs:
2727
pod: ["FirebaseAppDistribution", "FirebaseInAppMessaging", "FirebasePerformance"]
2828
steps:
2929
- uses: actions/checkout@v4
30+
- name: Set Xcode version
31+
run: sudo xcode-select -s /Applications/Xcode_16.4.app
3032
- uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126
3133
with:
3234
cache_key: cron-${{ matrix.os }}
@@ -50,6 +52,8 @@ jobs:
5052
pod: ["FirebaseABTesting", "FirebaseAuth", "FirebaseCore", "FirebaseCrashlytics", "FirebaseDatabase", "FirebaseFirestore", "FirebaseFunctions", "FirebaseMessaging", "FirebaseRemoteConfig", "FirebaseStorage"]
5153
steps:
5254
- uses: actions/checkout@v4
55+
- name: Set Xcode version
56+
run: sudo xcode-select -s /Applications/Xcode_16.4.app
5357
- uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126
5458
with:
5559
cache_key: pods-${{ matrix.os }}

.github/workflows/auth.yml

Lines changed: 23 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,12 @@ on:
1313
- '.github/workflows/common.yml'
1414
- '.github/workflows/common_cocoapods.yml'
1515
- '.github/workflows/common_catalyst.yml'
16+
- '.github/workflows/common_quickstart.yml'
17+
- '.github/workflows/common_cocoapods_cron.yml'
1618
- 'scripts/gha-encrypted/AuthSample/SwiftApplication.plist.gpg'
1719
- 'Gemfile*'
1820
schedule:
19-
# Run every day at 1am (PST) - cron uses UTC times
21+
# Run every day at 2am (PDT) / 5am (EDT) - cron uses UTC times
2022
- cron: '0 9 * * *'
2123

2224
env:
@@ -86,30 +88,22 @@ jobs:
8688
run: sudo xcode-select -s /Applications/Xcode_16.4.app/Contents/Developer
8789
- uses: nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 # v3
8890
with:
89-
timeout_minutes: 120
91+
timeout_minutes: 15
9092
max_attempts: 3
91-
retry_on: error
9293
retry_wait_seconds: 120
9394
command: ([ -z $plist_secret ] || scripts/build.sh Auth iOS ${{ matrix.scheme }})
9495

9596
quickstart:
96-
# Don't run on private repo unless it is a PR.
97-
if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request'
98-
99-
env:
97+
uses: ./.github/workflows/common_quickstart.yml
98+
with:
99+
product: Authentication
100+
is_legacy: false
101+
setup_command: scripts/setup_quickstart.sh authentication
102+
plist_src_path: scripts/gha-encrypted/qs-authentication.plist.gpg
103+
plist_dst_path: quickstart-ios/authentication/GoogleService-Info.plist
104+
run_tests: false
105+
secrets:
100106
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
101-
signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
102-
runs-on: macos-15
103-
steps:
104-
- uses: actions/checkout@v4
105-
- uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1
106-
- name: Setup quickstart
107-
run: scripts/setup_quickstart.sh authentication
108-
- name: Install Secret GoogleService-Info.plist
109-
run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-auth.plist.gpg \
110-
quickstart-ios/authentication/GoogleService-Info.plist "$plist_secret"
111-
- name: Test swift quickstart
112-
run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart.sh Authentication false)
113107

114108
# TODO(@sunmou99): currently have issue with this job, will re-enable it once the issue resolved.
115109
# quickstart-ftl-cron-only:
@@ -118,7 +112,6 @@ jobs:
118112

119113
# env:
120114
# plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
121-
# signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
122115
# runs-on: macos-14
123116
# steps:
124117
# - uses: actions/checkout@v4
@@ -129,7 +122,7 @@ jobs:
129122
# - name: Setup quickstart
130123
# run: scripts/setup_quickstart.sh authentication
131124
# - name: Install Secret GoogleService-Info.plist
132-
# run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-auth.plist.gpg \
125+
# run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-authentication.plist.gpg \
133126
# quickstart-ios/authentication/GoogleService-Info.plist "$plist_secret"
134127
# - name: Build swift quickstart
135128
# run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_ftl.sh Authentication)
@@ -141,29 +134,12 @@ jobs:
141134
# test_type: "xctest"
142135

143136
auth-cron-only:
144-
# Don't run on private repo.
145-
if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk'
146-
147-
runs-on: macos-15
148-
strategy:
149-
matrix:
150-
# The macos and tvos tests can hang, and watchOS doesn't have tests.
151-
target: [ios, tvos --skip-tests, macos --skip-tests, watchos --skip-tests]
152-
flags: [
153-
'--use-static-frameworks'
154-
]
155-
needs: pod_lib_lint
156-
steps:
157-
- uses: actions/checkout@v4
158-
- uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1
159-
- name: Setup Bundler
160-
run: scripts/setup_bundler.sh
161-
- name: Configure test keychain
162-
run: scripts/configure_test_keychain.sh
163-
- uses: nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 # v3
164-
with:
165-
timeout_minutes: 120
166-
max_attempts: 3
167-
retry_on: error
168-
retry_wait_seconds: 120
169-
command: scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseAuth.podspec --platforms=${{ matrix.target }} ${{ matrix.flags }}
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 }}

.github/workflows/client_app.yml

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ on:
1313
- "IntegrationTesting/ClientApp/**"
1414
- "Gemfile*"
1515
schedule:
16-
# Run every day at 12am (PST) - cron uses UTC times
16+
# Run every day at 1am (PDT) / 4am (EDT) - cron uses UTC times
1717
- cron: "0 8 * * *"
1818

1919
env:
@@ -27,21 +27,25 @@ jobs:
2727
client-app-spm:
2828
if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request'
2929
strategy:
30-
# TODO: Add Xcode matrix when Xcode 16 is ubiquitous on CI runners.
3130
matrix:
3231
#TODO(ncooke3): Add multi-platform support: tvOS, macOS, catalyst
3332
platform: [iOS]
3433
scheme: [ClientApp]
3534
os: [macos-14, macos-15]
35+
include:
36+
- os: macos-14
37+
xcode: Xcode_16.2
38+
- os: macos-15
39+
xcode: Xcode_16.4
3640
runs-on: ${{ matrix.os }}
3741
steps:
3842
- uses: actions/checkout@v4
3943
- uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126
4044
with:
4145
cache_key: ${{ matrix.os }}
4246
- name: Xcode
43-
run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer
44-
- name: Build Client App –– ${{ matrix.platform }}
47+
run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer
48+
- name: Build Client App - ${{ matrix.platform }}
4549
run: scripts/third_party/travis/retry.sh ./scripts/build.sh ${{ matrix.scheme }} ${{ matrix.platform }} xcodebuild
4650

4751
client-app-spm-source-firestore:
@@ -50,31 +54,39 @@ jobs:
5054
FIREBASECI_USE_LATEST_GOOGLEAPPMEASUREMENT: 1
5155
FIREBASE_SOURCE_FIRESTORE: 1
5256
strategy:
53-
# TODO: Add Xcode matrix when Xcode 16 is ubiquitous on CI runners.
5457
matrix:
5558
#TODO(ncooke3): Add multi-platform support: tvOS, macOS, catalyst
5659
platform: [iOS]
5760
scheme: [ClientApp]
5861
os: [macos-14, macos-15]
62+
include:
63+
- os: macos-14
64+
xcode: Xcode_16.2
65+
- os: macos-15
66+
xcode: Xcode_16.4
5967
runs-on: ${{ matrix.os }}
6068
steps:
6169
- uses: actions/checkout@v4
6270
- uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126
6371
with:
6472
cache_key: ${{ matrix.os }}
6573
- name: Xcode
66-
run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer
67-
- name: Build Client App –– ${{ matrix.platform }}
74+
run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer
75+
- name: Build Client App - ${{ matrix.platform }}
6876
run: scripts/third_party/travis/retry.sh ./scripts/build.sh ${{ matrix.scheme }} ${{ matrix.platform }} xcodebuild
6977

7078
client-app-cocoapods:
7179
# Don't run on private repo unless it is a PR.
7280
if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request'
7381
strategy:
74-
# TODO: Add Xcode matrix when Xcode 16 is ubiquitous on CI runners.
7582
matrix:
7683
scheme: [ClientApp-CocoaPods]
7784
os: [macos-14, macos-15]
85+
include:
86+
- os: macos-14
87+
xcode: Xcode_16.2
88+
- os: macos-15
89+
xcode: Xcode_16.4
7890
runs-on: ${{ matrix.os }}
7991
steps:
8092
- uses: actions/checkout@v4
@@ -85,7 +97,7 @@ jobs:
8597
- name: Setup Bundler
8698
run: scripts/setup_bundler.sh
8799
- name: Xcode
88-
run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer
100+
run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer
89101
- name: Prereqs
90102
run: scripts/install_prereqs.sh ClientApp iOS xcodebuild
91103
- name: Build

0 commit comments

Comments
 (0)