From 8e0648e231901e43c58f11ae14aec0819c198c83 Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Thu, 20 Nov 2025 10:29:34 -0500 Subject: [PATCH 1/6] fix: Resolve build warnings --- .../Swift/Tests/Unit/AsyncAwait/AsyncSequenceTests.swift | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Firestore/Swift/Tests/Unit/AsyncAwait/AsyncSequenceTests.swift b/Firestore/Swift/Tests/Unit/AsyncAwait/AsyncSequenceTests.swift index 4fdb05fae73..37f454a4c56 100644 --- a/Firestore/Swift/Tests/Unit/AsyncAwait/AsyncSequenceTests.swift +++ b/Firestore/Swift/Tests/Unit/AsyncAwait/AsyncSequenceTests.swift @@ -123,7 +123,7 @@ private struct Swizzler: ~Copyable { swizzledSelector: Selector) { guard let originalMethod = class_getInstanceMethod(cls, originalSelector), let swizzledMethod = class_getInstanceMethod(cls, swizzledSelector) else { - #expect(false, "Failed to get methods for swizzling") + #expect(Bool(false), "Failed to get methods for swizzling") return } method_exchangeImplementations(originalMethod, swizzledMethod) @@ -230,7 +230,7 @@ struct QueryAsyncSequenceTests { let task = Task { for try await _ in query.snapshots { - #expect(false, "The stream should not have produced any values.") + #expect(Bool(false), "The stream should not have produced any values.") } } @@ -350,7 +350,7 @@ struct DocumentReferenceAsyncSequenceTests { let task = Task { for try await _ in docRef.snapshots { - #expect(false, "The stream should not have produced any values.") + #expect(Bool(false), "The stream should not have produced any values.") } } @@ -398,4 +398,4 @@ extension DocumentReference { } } -extension String: Error {} +extension String: @retroactive Error {} From a174a6f9ca1d4dedfc9daee859b2d962a0b6d2a3 Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Thu, 20 Nov 2025 10:30:55 -0500 Subject: [PATCH 2/6] fix: Run new SPM unit test target for both source and binary FST --- Package.swift | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/Package.swift b/Package.swift index 5288224f44b..dde00688e98 100644 --- a/Package.swift +++ b/Package.swift @@ -1377,6 +1377,18 @@ let package = Package( .headerSearchPath("../../.."), ] ), + .testTarget( + name: "FirebaseFirestoreTests", + dependencies: [ + "Firebase", + "FirebaseCore", + "FirebaseFirestoreTarget", + ], + path: "Firestore/Swift/Tests/Unit", + cSettings: [ + .headerSearchPath("../../../"), + ], + ), ] + firestoreTargets(), cxxLanguageStandard: CXXLanguageStandard.gnucxx14 ) @@ -1552,18 +1564,6 @@ func firestoreTargets() -> [Target] { .swiftLanguageMode(SwiftLanguageMode.v5), ] ), - .testTarget( - name: "FirebaseFirestoreTests", - dependencies: [ - "Firebase", - "FirebaseCore", - "FirebaseFirestoreTarget", - ], - path: "Firestore/Swift/Tests/Unit", - cSettings: [ - .headerSearchPath("../../../"), - ] - ), ] } From 258f05a3516716583a1541bcc69964c198873e4a Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Thu, 20 Nov 2025 10:34:00 -0500 Subject: [PATCH 3/6] chore: check-in new Firestore SPM testing scheme --- .../FirebaseFirestoreTests.xcscheme | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 scripts/spm_test_schemes/FirebaseFirestoreTests.xcscheme diff --git a/scripts/spm_test_schemes/FirebaseFirestoreTests.xcscheme b/scripts/spm_test_schemes/FirebaseFirestoreTests.xcscheme new file mode 100644 index 00000000000..4dcedcdd29d --- /dev/null +++ b/scripts/spm_test_schemes/FirebaseFirestoreTests.xcscheme @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + From 526779923e56a6baa4dfb80afc8e03609c5098ce Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Thu, 20 Nov 2025 10:39:08 -0500 Subject: [PATCH 4/6] fix: syntax error --- Package.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Package.swift b/Package.swift index dde00688e98..5308702e539 100644 --- a/Package.swift +++ b/Package.swift @@ -1388,7 +1388,7 @@ let package = Package( cSettings: [ .headerSearchPath("../../../"), ], - ), + ) ] + firestoreTargets(), cxxLanguageStandard: CXXLanguageStandard.gnucxx14 ) From 840bd3945317cfd0723d0193ce0565c485d542dc Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Thu, 20 Nov 2025 10:40:46 -0500 Subject: [PATCH 5/6] fix: syntax error (1) --- Package.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Package.swift b/Package.swift index 5308702e539..c8eb1117d02 100644 --- a/Package.swift +++ b/Package.swift @@ -1387,8 +1387,8 @@ let package = Package( path: "Firestore/Swift/Tests/Unit", cSettings: [ .headerSearchPath("../../../"), - ], - ) + ] + ), ] + firestoreTargets(), cxxLanguageStandard: CXXLanguageStandard.gnucxx14 ) From 9d94ea07a01983a8ea8d467630d1893914b66bb5 Mon Sep 17 00:00:00 2001 From: Nick Cooke <36927374+ncooke3@users.noreply.github.com> Date: Thu, 20 Nov 2025 11:58:16 -0500 Subject: [PATCH 6/6] feat: Run Firestore SPM tests for SPM binary job (#15520) --- .github/workflows/firestore.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/firestore.yml b/.github/workflows/firestore.yml index 548153496f4..613b1a292d4 100644 --- a/.github/workflows/firestore.yml +++ b/.github/workflows/firestore.yml @@ -514,9 +514,8 @@ jobs: spm-binary: uses: ./.github/workflows/common.yml with: - target: FirebaseFirestore + target: FirebaseFirestoreTests platforms: iOS - buildonly_platforms: iOS check-firestore-internal-public-headers: needs: check