Skip to content
Merged
Show file tree
Hide file tree
Changes from 27 commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
d7e966a
fix: Address flaky dispatch
ncooke3 Dec 15, 2025
a4ec6e5
Wrap it
ncooke3 Dec 15, 2025
ab1c16a
add error checks. will revert
ncooke3 Dec 15, 2025
a2bac89
fix logic
ncooke3 Dec 15, 2025
49fcbc6
pass
ncooke3 Dec 15, 2025
18dce0e
Apply suggestion from @ncooke3
ncooke3 Dec 15, 2025
665e35b
Merge branch 'main' into nc/csh-flaky
ncooke3 Dec 15, 2025
8d7e4b4
fix
ncooke3 Dec 15, 2025
2a32ccc
Update .github/workflows/common.yml
ncooke3 Dec 15, 2025
226f1be
Update .github/workflows/common.yml
ncooke3 Dec 15, 2025
47842c3
Update .github/workflows/crashlytics.yml
ncooke3 Dec 15, 2025
540d7df
Update Crashlytics/Crashlytics/Models/FIRCLSSettings.m
ncooke3 Dec 15, 2025
f3c0fc1
Update Crashlytics/Crashlytics/Models/FIRCLSSettings.m
ncooke3 Dec 15, 2025
b88fc76
Update scripts/build.sh
ncooke3 Dec 15, 2025
b8b0871
wire up package.swift
ncooke3 Dec 15, 2025
005687b
done
ncooke3 Dec 15, 2025
67e327a
Apply suggestion from @ncooke3
ncooke3 Dec 15, 2025
4405176
Apply suggestion from @ncooke3
ncooke3 Dec 15, 2025
62ceb78
Apply suggestion from @ncooke3
ncooke3 Dec 15, 2025
da9fc93
Update crashlytics.yml
ncooke3 Dec 15, 2025
a4ba4a1
Apply suggestion from @ncooke3
ncooke3 Dec 15, 2025
06e42f0
will revert: disable triggers
ncooke3 Dec 15, 2025
18cca44
will revert: disable triggers
ncooke3 Dec 15, 2025
3cda91f
Update .github/workflows/storage.yml
ncooke3 Dec 15, 2025
167928a
Apply suggestions from code review
ncooke3 Dec 15, 2025
038d1d3
Apply suggestion from @ncooke3
ncooke3 Dec 15, 2025
ff27f60
Apply suggestion from @ncooke3
ncooke3 Dec 16, 2025
ec89300
Apply suggestion from @ncooke3
ncooke3 Dec 16, 2025
972971a
Apply suggestion from @ncooke3
ncooke3 Dec 16, 2025
870f4e9
Update Package.swift
ncooke3 Dec 16, 2025
d55cb98
fix?
ncooke3 Dec 16, 2025
0d86275
fix??
ncooke3 Dec 16, 2025
322e4af
Update .github/workflows/crashlytics.yml
ncooke3 Dec 16, 2025
dafa9f5
re-enable
ncooke3 Dec 16, 2025
3c79b4e
Update .github/workflows/spm.yml
ncooke3 Dec 16, 2025
36a3405
Update .github/workflows/firestore.yml
ncooke3 Dec 16, 2025
5e79ff3
Apply suggestion from @ncooke3
ncooke3 Dec 16, 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
4 changes: 2 additions & 2 deletions .github/workflows/abtesting.yml
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note: Revert all commented out triggers.

Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ on:
paths:
- 'FirebaseABTesting**'
- 'Interop/Analytics/Public/*.h'
- '.github/workflows/abtesting.yml'
- '.github/workflows/common.yml'
# - '.github/workflows/abtesting.yml'
# - '.github/workflows/common.yml'
- '.github/workflows/common_cocoapods.yml'
- '.github/workflows/common_catalyst.yml'
- '.github/workflows/common_quickstart.yml'
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/appdistribution.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ on:
pull_request:
paths:
- 'FirebaseAppDistribution**'
- '.github/workflows/appdistribution.yml'
- '.github/workflows/common.yml'
# - '.github/workflows/appdistribution.yml'
# - '.github/workflows/common.yml'
- '.github/workflows/common_cocoapods.yml'
- '.github/workflows/common_catalyst.yml'
- '.github/workflows/common_cocoapods_cron.yml'
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/auth.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ on:
paths:
- 'FirebaseAuth**'
- 'FirebaseAuth/Interop/*.h'
- '.github/workflows/auth.yml'
- '.github/workflows/common.yml'
# - '.github/workflows/auth.yml'
# - '.github/workflows/common.yml'
- '.github/workflows/common_cocoapods.yml'
- '.github/workflows/common_catalyst.yml'
- '.github/workflows/common_quickstart.yml'
Expand Down
10 changes: 10 additions & 0 deletions .github/workflows/common.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,12 @@ on:
required: false
default: ""

# Whether the job is scheduled. Defaults to false.
is_nightly:
type: boolean
required: false
default: false

outputs:
cache_key:
description: "The cache key for the Swift package resolution."
Expand Down Expand Up @@ -86,6 +92,8 @@ jobs:
# 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)
needs: [spm-package-resolved]
env:
FIREBASE_IS_NIGHTLY_TESTING: ${{ inputs.is_nightly && '1' || '' }}
strategy:
matrix:
os: [macos-15]
Expand Down Expand Up @@ -114,6 +122,8 @@ jobs:
run: scripts/setup_spm_tests.sh
- uses: nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 # v3
if: contains(join(inputs.platforms), matrix.platform) || matrix.os == 'macos-14'
env:
FIREBASE_IS_NIGHTLY_TESTING: ${{ inputs.is_nightly && '1' || '' }}
with:
timeout_minutes: 15
max_attempts: 3
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/core.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ on:
pull_request:
paths:
- 'FirebaseCore**'
- '.github/workflows/core.yml'
- '.github/workflows/common.yml'
# - '.github/workflows/core.yml'
# - '.github/workflows/common.yml'
- '.github/workflows/common_cocoapods.yml'
- '.github/workflows/common_catalyst.yml'
- '.github/workflows/common_cocoapods_cron.yml'
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/core_extension.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ on:
paths:
- 'FirebaseCoreExtension.podspec'
- 'FirebaseCore/Extension/**'
- '.github/workflows/core_extension.yml'
- '.github/workflows/common.yml'
# - '.github/workflows/core_extension.yml'
# - '.github/workflows/common.yml'
- '.github/workflows/common_cocoapods.yml'
- '.github/workflows/common_cocoapods_cron.yml'
- 'Gemfile*'
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/core_internal.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ on:
paths:
- 'FirebaseCoreInternal.podspec'
- 'FirebaseCore/Internal/**'
- '.github/workflows/core_internal.yml'
- '.github/workflows/common.yml'
# - '.github/workflows/core_internal.yml'
# - '.github/workflows/common.yml'
- '.github/workflows/common_cocoapods.yml'
- '.github/workflows/common_catalyst.yml'
- '.github/workflows/common_cocoapods_cron.yml'
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/crashlytics.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ on:
- 'Crashlytics**'
- 'FirebaseCrashlytics.podspec'
- '.github/workflows/crashlytics.yml'
- '.github/workflows/common.yml'
# - '.github/workflows/common.yml'
- '.github/workflows/common_cocoapods.yml'
- '.github/workflows/common_catalyst.yml'
- '.github/workflows/common_quickstart.yml'
Expand All @@ -30,6 +30,8 @@ jobs:
uses: ./.github/workflows/common.yml
with:
target: FirebaseCrashlyticsUnit
# is_nightly: ${{ github.event_name == 'schedule' }}
is_nightly: ${{ github.event_name == 'pull_request' }}

catalyst:
uses: ./.github/workflows/common_catalyst.yml
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/database.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ on:
- 'FirebaseSharedSwift**'
- 'Example/Database/**'
- 'FirebaseAuth/Interop/*.h'
- '.github/workflows/database.yml'
- '.github/workflows/common.yml'
# - '.github/workflows/database.yml'
# - '.github/workflows/common.yml'
- '.github/workflows/common_cocoapods.yml'
- '.github/workflows/common_catalyst.yml'
- '.github/workflows/common_quickstart.yml'
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/firebase_app_check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ on:
pull_request:
paths:
- 'FirebaseAppCheck**'
- '.github/workflows/firebase_app_check.yml'
- '.github/workflows/common.yml'
# - '.github/workflows/firebase_app_check.yml'
# - '.github/workflows/common.yml'
- '.github/workflows/common_cocoapods.yml'
- '.github/workflows/common_catalyst.yml'
- '.github/workflows/common_cocoapods_cron.yml'
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/firebaseai.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ on:
pull_request:
paths:
- 'FirebaseAI**'
- '.github/workflows/firebaseai.yml'
- '.github/workflows/common.yml'
# - '.github/workflows/firebaseai.yml'
# - '.github/workflows/common.yml'
- '.github/workflows/common_cocoapods.yml'
- 'scripts/build.sh'
- 'scripts/quickstart_build_spm.sh'
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/firestore.yml
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note: Revert all commented out triggers.

Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ jobs:
- 'FirebaseFirestore.podspec'

# Package.swift
- 'Package.swift'
# - 'Package.swift'

# CMake
- '**CMakeLists.txt'
Expand All @@ -81,10 +81,10 @@ jobs:
- 'scripts/xcresult_logs.py'

# This workflow
- '.github/workflows/firestore.yml'
# - '.github/workflows/firestore.yml'

# Workflows this one depends on.
- '.github/workflows/common.yml'
# - '.github/workflows/common.yml'
- '.github/workflows/common_cocoapods.yml'

# Rebuild on Ruby infrastructure changes.
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/functions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ on:
paths:
- 'FirebaseFunctions**'
- 'FirebaseSharedSwift**'
- '.github/workflows/functions.yml'
- '.github/workflows/common.yml'
# - '.github/workflows/functions.yml'
# - '.github/workflows/common.yml'
- '.github/workflows/common_cocoapods.yml'
- '.github/workflows/common_cocoapods_cron.yml'
- 'FirebaseAuth/Interop/*.h'
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/inappmessaging.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ on:
paths:
- 'FirebaseInAppMessaging**'
- 'Interop/Analytics/Public/*.h'
- '.github/workflows/inappmessaging.yml'
- '.github/workflows/common.yml'
# - '.github/workflows/inappmessaging.yml'
# - '.github/workflows/common.yml'
- '.github/workflows/common_cocoapods.yml'
- '.github/workflows/common_quickstart.yml'
- '.github/workflows/common_cocoapods_cron.yml'
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/installations.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ on:
pull_request:
paths:
- 'FirebaseInstallations**'
- '.github/workflows/installations.yml'
- '.github/workflows/common.yml'
# - '.github/workflows/installations.yml'
# - '.github/workflows/common.yml'
- '.github/workflows/common_cocoapods.yml'
- '.github/workflows/common_catalyst.yml'
- '.github/workflows/common_quickstart.yml'
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/messaging.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@ on:
# Podspec
- 'FirebaseMessaging.podspec'
# This file
- '.github/workflows/messaging.yml'
# - '.github/workflows/messaging.yml'
# Re-usable workflows being used by this file.
- '.github/workflows/common.yml'
# - '.github/workflows/common.yml'
- '.github/workflows/common_cocoapods.yml'
- '.github/workflows/common_catalyst.yml'
- '.github/workflows/common_quickstart.yml'
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/mlmodeldownloader.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ on:
pull_request:
paths:
- 'FirebaseMLModelDownloader**'
- '.github/workflows/mlmodeldownloader.yml'
- '.github/workflows/common.yml'
# - '.github/workflows/mlmodeldownloader.yml'
# - '.github/workflows/common.yml'
- '.github/workflows/common_cocoapods.yml'
- '.github/workflows/common_catalyst.yml'
- '.github/workflows/common_cocoapods_cron.yml'
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/performance.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@ on:
# Podspec
- 'FirebasePerformance.podspec'
# YML configuration file
- '.github/workflows/performance.yml'
# - '.github/workflows/performance.yml'
# Re-usable workflows depended on by this file.
- '.github/workflows/common.yml'
# - '.github/workflows/common.yml'
- '.github/workflows/common_cocoapods.yml'
- '.github/workflows/common_catalyst.yml'
- '.github/workflows/common_quickstart.yml'
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/remoteconfig.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ on:
paths:
- 'FirebaseRemoteConfig**'
- 'Interop/Analytics/Public/*.h'
- '.github/workflows/remoteconfig.yml'
- '.github/workflows/common.yml'
# - '.github/workflows/remoteconfig.yml'
# - '.github/workflows/common.yml'
- '.github/workflows/common_cocoapods.yml'
- '.github/workflows/common_catalyst.yml'
- '.github/workflows/common_quickstart.yml'
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/sessions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ on:
paths:
- 'FirebaseSessions**'
- 'FirebaseSessions.podspec'
- '.github/workflows/sessions.yml'
- '.github/workflows/common.yml'
# - '.github/workflows/sessions.yml'
# - '.github/workflows/common.yml'
- '.github/workflows/common_cocoapods.yml'
- '.github/workflows/common_catalyst.yml'
- 'Gemfile*'
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/shared-swift.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ on:
pull_request:
paths:
- 'FirebaseSharedSwift**'
- '.github/workflows/shared-swift.yml'
- '.github/workflows/common.yml'
# - '.github/workflows/shared-swift.yml'
# - '.github/workflows/common.yml'
- '.github/workflows/common_cocoapods.yml'
- 'Gemfile*'

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/spm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ on:
workflow_dispatch:
pull_request:
paths:
- '.github/workflows/spm.yml'
- 'Package.swift'
# - '.github/workflows/spm.yml'
# - 'Package.swift'
- '.swiftpm/*'
- 'scripts/build.sh'
- 'SwiftPMTests/*'
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/storage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ on:
paths:
- 'FirebaseStorage**'
- 'FirebaseAuth/Interop/*.h'
- '.github/workflows/storage.yml'
- '.github/workflows/common.yml'
# - '.github/workflows/storage.yml'
# - '.github/workflows/common.yml'
- '.github/workflows/common_cocoapods.yml'
- '.github/workflows/common_catalyst.yml'
- '.github/workflows/common_quickstart.yml'
Expand Down
6 changes: 6 additions & 0 deletions Crashlytics/Crashlytics/Models/FIRCLSSettings.m
Original file line number Diff line number Diff line change
Expand Up @@ -190,15 +190,21 @@ - (NSDictionary *)loadCacheKey {

- (void)deleteCachedSettings {
__weak FIRCLSSettings *weakSelf = self;
#ifndef FIREBASE_IS_NIGHTLY_TESTING
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{
#else
#error "Mango"
#endif
__strong FIRCLSSettings *strongSelf = weakSelf;
if ([strongSelf.fileManager fileExistsAtPath:strongSelf.fileManager.settingsFilePath]) {
[strongSelf.fileManager removeItemAtPath:strongSelf.fileManager.settingsFilePath];
}
if ([strongSelf.fileManager fileExistsAtPath:strongSelf.fileManager.settingsCacheKeyPath]) {
[strongSelf.fileManager removeItemAtPath:strongSelf.fileManager.settingsCacheKeyPath];
}
#ifndef FIREBASE_IS_NIGHTLY_TESTING
});
#endif

@synchronized(self) {
self.isCacheKeyExpired = YES;
Expand Down
4 changes: 4 additions & 0 deletions Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -636,6 +636,10 @@ let package = Package(
],
cSettings: [
.headerSearchPath("../.."),
.define(
"FIREBASE_IS_NIGHTLY_TESTING",
to: Context.environment["FIREBASE_IS_NIGHTLY_TESTING", default: ""]
),
.define("DISPLAY_VERSION", to: firebaseVersion),
.define("CLS_SDK_NAME", to: "Crashlytics iOS SDK", .when(platforms: [.iOS])),
.define(
Expand Down
Loading