Skip to content

Update to c++ 17#1837

Draft
AustinBenoit wants to merge 2 commits intomainfrom
cpp-17-updates
Draft

Update to c++ 17#1837
AustinBenoit wants to merge 2 commits intomainfrom
cpp-17-updates

Conversation

@AustinBenoit
Copy link
Contributor

Description

Provide details of the change, and generalize the change in the PR title above.

Update to c++ 17


Testing

Describe how you've tested these changes. Link any manually triggered Integration tests or CPP binary SDK Packaging Github Action workflows, if applicable.

Currently running all test apps on desktop, iOS and android


Type of Change

Place an x the applicable box:

  • Bug fix. Add the issue # below if applicable.
  • New feature. A non-breaking change which adds functionality.
  • Other, such as a build process or documentation change.

Notes

  • Bug fixes and feature changes require an update to the Release Notes section of release_build_files/readme.md.
  • Read the contribution guidelines CONTRIBUTING.md.
  • Changes to the public API require an internal API review. If you'd like to help us make Firebase APIs better, please propose your change in a feature request so that we can discuss it together.

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request modernizes the project's build configuration by upgrading the required C++ standard from C++14 to C++17. This change allows the codebase to leverage newer language features and improvements available in C++17, potentially enhancing code quality, performance, and developer productivity. The update is applied consistently across the main project and all integration test modules.

Highlights

  • C++ Standard Update: The project's C++ standard has been updated from C++14 to C++17 across all relevant CMakeLists.txt files, including the main project, integration tests for various Firebase services (Analytics, App, App Check, Auth, Database, Firestore, Functions, Installations, Messaging, Remote Config, Storage, UMP), and the testing module.
  • Build Configuration: All CMake configurations now explicitly require C++17, preventing fallback to earlier versions, ensuring consistency in the build environment.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • CMakeLists.txt
    • Updated CMAKE_CXX_STANDARD from 14 to 17.
  • analytics/integration_test/CMakeLists.txt
    • Updated CMAKE_CXX_STANDARD from 14 to 17.
  • app/integration_test/CMakeLists.txt
    • Updated CMAKE_CXX_STANDARD from 14 to 17.
  • app/rest/CMakeLists.txt
    • Updated CMAKE_CXX_STANDARD from 14 to 17.
  • app_check/integration_test/CMakeLists.txt
    • Updated CMAKE_CXX_STANDARD from 14 to 17.
  • auth/integration_test/CMakeLists.txt
    • Updated CMAKE_CXX_STANDARD from 14 to 17.
  • database/integration_test/CMakeLists.txt
    • Updated CMAKE_CXX_STANDARD from 14 to 17.
  • firestore/integration_test/CMakeLists.txt
    • Updated CMAKE_CXX_STANDARD from 14 to 17.
  • firestore/integration_test_internal/CMakeLists.txt
    • Updated CMAKE_CXX_STANDARD from 14 to 17.
  • functions/integration_test/CMakeLists.txt
    • Updated CMAKE_CXX_STANDARD from 14 to 17.
  • installations/integration_test/CMakeLists.txt
    • Updated CMAKE_CXX_STANDARD from 14 to 17.
  • messaging/integration_test/CMakeLists.txt
    • Updated CMAKE_CXX_STANDARD from 14 to 17.
  • remote_config/integration_test/CMakeLists.txt
    • Updated CMAKE_CXX_STANDARD from 14 to 17.
  • storage/integration_test/CMakeLists.txt
    • Updated CMAKE_CXX_STANDARD from 14 to 17.
  • testing/CMakeLists.txt
    • Updated CMAKE_CXX_STANDARD from 14 to 17.
  • ump/integration_test/CMakeLists.txt
    • Updated CMAKE_CXX_STANDARD from 14 to 17.
Activity
  • The author, AustinBenoit, has initiated testing across desktop, iOS, and Android platforms to validate the changes.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request updates the C++ standard from 14 to 17 across various CMakeLists.txt files. The changes are straightforward, but several files have outdated comments that still refer to C++14. I've added suggestions to update these comments for consistency and maintainability.

Comment on lines 87 to +88
# Firebase C++ SDK requires C++14.
set (CMAKE_CXX_STANDARD 14)
set (CMAKE_CXX_STANDARD 17)
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

This comment is outdated. With the C++ standard updated to 17, this should be updated as well for consistency.

# Firebase C++ SDK requires C++17.
set (CMAKE_CXX_STANDARD 17)

Comment on lines 87 to +88
# Firebase C++ SDK requires C++14.
set (CMAKE_CXX_STANDARD 14)
set (CMAKE_CXX_STANDARD 17)
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

This comment is outdated. With the C++ standard updated to 17, this should be updated as well for consistency.

# Firebase C++ SDK requires C++17.
set (CMAKE_CXX_STANDARD 17)

Comment on lines 18 to +19
# Firebase C++ SDK requires C++14.
set (CMAKE_CXX_STANDARD 14)
set (CMAKE_CXX_STANDARD 17)
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

This comment is outdated. With the C++ standard updated to 17, this should be updated as well for consistency.

# Firebase C++ SDK requires C++17.
set (CMAKE_CXX_STANDARD 17)

Comment on lines 87 to +88
# Firebase C++ SDK requires C++14.
set (CMAKE_CXX_STANDARD 14)
set (CMAKE_CXX_STANDARD 17)
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

This comment is outdated. With the C++ standard updated to 17, this should be updated as well for consistency.

# Firebase C++ SDK requires C++17.
set (CMAKE_CXX_STANDARD 17)

Comment on lines 87 to +88
# Firebase C++ SDK requires C++14.
set (CMAKE_CXX_STANDARD 14)
set (CMAKE_CXX_STANDARD 17)
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

This comment is outdated. With the C++ standard updated to 17, this should be updated as well for consistency.

# Firebase C++ SDK requires C++17.
set (CMAKE_CXX_STANDARD 17)

Comment on lines 87 to +88
# Firebase C++ SDK requires C++14.
set (CMAKE_CXX_STANDARD 14)
set (CMAKE_CXX_STANDARD 17)
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

This comment is outdated. With the C++ standard updated to 17, this should be updated as well for consistency.

# Firebase C++ SDK requires C++17.
set (CMAKE_CXX_STANDARD 17)

Comment on lines 87 to +88
# Firebase C++ SDK requires C++14.
set (CMAKE_CXX_STANDARD 14)
set (CMAKE_CXX_STANDARD 17)
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

This comment is outdated. With the C++ standard updated to 17, this should be updated as well for consistency.

# Firebase C++ SDK requires C++17.
set (CMAKE_CXX_STANDARD 17)

Comment on lines 87 to +88
# Firebase C++ SDK requires C++14.
set (CMAKE_CXX_STANDARD 14)
set (CMAKE_CXX_STANDARD 17)
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

This comment is outdated. With the C++ standard updated to 17, this should be updated as well for consistency.

# Firebase C++ SDK requires C++17.
set (CMAKE_CXX_STANDARD 17)

Comment on lines 87 to +88
# Firebase C++ SDK requires C++14.
set (CMAKE_CXX_STANDARD 14)
set (CMAKE_CXX_STANDARD 17)
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

This comment is outdated. With the C++ standard updated to 17, this should be updated as well for consistency.

# Firebase C++ SDK requires C++17.
set (CMAKE_CXX_STANDARD 17)

Comment on lines 87 to +88
# Firebase C++ SDK requires C++14.
set (CMAKE_CXX_STANDARD 14)
set (CMAKE_CXX_STANDARD 17)
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

This comment is outdated. With the C++ standard updated to 17, this should be updated as well for consistency.

# Firebase C++ SDK requires C++17.
set (CMAKE_CXX_STANDARD 17)

@AustinBenoit AustinBenoit marked this pull request as draft March 2, 2026 22:17
@AustinBenoit AustinBenoit added the tests-requested: full Trigger a FULL set of integration tests (uses expanded test matrix). label Mar 3, 2026
@github-actions github-actions bot added tests: in-progress This PR's integration tests are in progress. and removed tests-requested: full Trigger a FULL set of integration tests (uses expanded test matrix). labels Mar 3, 2026
@github-actions
Copy link

github-actions bot commented Mar 3, 2026

❌  Integration test FAILED

Requested by @AustinBenoit on commit f24017f
Last updated: Tue Mar 3 09:00 PST 2026
View integration test log & download artifacts

Failures Configs
missing_log [BUILD] [ERROR] [Linux] [1/2 ssl_lib: x86] [1/2 build_type: boringssl]
[BUILD] [ERROR] [MacOS] [x64] [boringssl]
auth [TEST] [FLAKINESS] [Android] [1/3 os: ubuntu] [1/4 android_device: android_latest]
(2 failed tests)  FirebaseAuthTest.TestCreateUserWithExistingEmailFails
  FirebaseAuthTest.TestSignInWithBadPasswordFails
database [TEST] [FLAKINESS] [Android] [1/3 os: windows] [1/4 android_device: android_latest]
(2 failed tests)  FirebaseDatabaseTest.TestCreateWorkingPath
  FirebaseDatabaseTest.TestSignIn
firestore
(6 items)[TEST] [FAILURE] [iOS] [macos] [1/2 ios_device: simulator_target]
(6 failed tests)  FirestoreTest.CanCreateMultipleFirestoreInstances
  FirestoreTest.CanKeepDocsSeparateWithMultiDBWhenOffline
  FirestoreTest.CanKeepDocsSeparateWithMultiDBWhenOnline
  FirestoreTest.CanReadDocsAfterRestartFirestoreAndCreateNewInstance
  FirestoreTest.CanTerminateMultipleFirestoreInstances
  FirestoreTest.ComprehensiveTestOnMultiDbCreationAndTermination
[TEST] [FAILURE] [iOS] [macos] [All 2 ios_device]
(171 failed tests)  ArrayTransformServerApplicationTest.MergeSetWithNoCachedBaseDoc
  ArrayTransformServerApplicationTest.SetWithNoCachedBaseDoc
  ArrayTransformServerApplicationTest.UpdateWithCachedBaseDocUsingArrayRemove
  ArrayTransformServerApplicationTest.UpdateWithCachedBaseDocUsingArrayUnion
  ArrayTransformTest.AppendObjectToArrayViaUpdate
  ArrayTransformTest.AppendToArrayViaMergeSet
  ArrayTransformTest.AppendToArrayViaUpdate
  ArrayTransformTest.CreateDocumentWithArrayUnion
  ArrayTransformTest.RemoveFromArrayViaMergeSet
  ArrayTransformTest.RemoveFromArrayViaUpdate
  ArrayTransformTest.RemoveObjectFromArrayViaUpdate
  BundleTest.CanLoadBundlesWithProgressUpdates
  BundleTest.CanLoadBundlesWithoutProgressUpdates
  BundleTest.LoadBundleWithDocumentsAlreadyPulledFromBackend
  BundleTest.LoadBundlesForASecondTimeSkips
  BundleTest.LoadedDocumentsShouldNotBeGarbageCollectedRightAway
  CleanupTest.FieldValueIsBlankAfterCleanup
  FieldsTest.TestFieldsWithSpecialCharsCanBeReadDirectly
  FieldsTest.TestFieldsWithSpecialCharsCanBeUpdated
  FieldsTest.TestFieldsWithSpecialCharsCanBeUsedInOrderBy
  FieldsTest.TestFieldsWithSpecialCharsCanBeUsedInQueryFilters
  FieldsTest.TestFieldsWithSpecialCharsCanBeWrittenWithSet
  FieldsTest.TestNestedFieldsCanBeReadDirectly
  FieldsTest.TestNestedFieldsCanBeReadDirectlyViaFieldPath
  FieldsTest.TestNestedFieldsCanBeUpdated
  FieldsTest.TestNestedFieldsCanBeUsedInOrderBy
  FieldsTest.TestNestedFieldsCanBeUsedInQueryFilters
  FieldsTest.TestNestedFieldsCanBeWrittenWithSet
  FieldsTest.TestTimestampsInSnapshots
  FilterTest.QueryEmptyWhereComposite
  FilterTest.QueryWhereComposite
  FirebaseFirestoreBasicTest.TestBatchWrite
  FirebaseFirestoreBasicTest.TestDocumentListener
  FirebaseFirestoreBasicTest.TestQuery
  FirebaseFirestoreBasicTest.TestRunTransaction
  FirebaseFirestoreBasicTest.TestSetGet
  FirebaseFirestoreBasicTest.TestSetUpdateGet
  FirestoreIntegrationTest.CanBeCreatedFromDocuments
  FirestoreIntegrationTest.CanBeCreatedFromValues
  FirestoreIntegrationTest.CanBeCreatedUsingDocumentId
  FirestoreIntegrationTest.CanBeUsedInDescendingQueries
  FirestoreIntegrationTest.CanBeUsedWithReferenceValues
  FirestoreIntegrationTest.CanPageThroughItems
  FirestoreTest.CanClearPersistenceTestHarnessVerification
  FirestoreTest.RestartFirestoreLeadsToNewInstance
  FirestoreTest.TestAddingToACollectionYieldsTheCorrectDocumentReference
  FirestoreTest.TestCanDeepMergeDataWithAnExistingDocumentUsingSet
  FirestoreTest.TestCanDeleteAFieldWithAnUpdate
  FirestoreTest.TestCanDeleteFieldUsingMerge
  FirestoreTest.TestCanDeleteFieldUsingMergeFields
  FirestoreTest.TestCanGetDocumentsWhileOffline
  FirestoreTest.TestCanMergeDataWithAnExistingDocumentUsingSet
  FirestoreTest.TestCanMergeEmptyObject
  FirestoreTest.TestCanMergeServerTimestamps
  FirestoreTest.TestCanOverwriteAnExistingDocumentUsingSet
  FirestoreTest.TestCanQueueWritesWhileOffline
  FirestoreTest.TestCanSetEmptyFieldMask
  FirestoreTest.TestCanSetServerTimestampsUsingMergeFields
  FirestoreTest.TestCanSpecifyFieldsMultipleTimesInFieldMask
  FirestoreTest.TestCanTraverseCollectionAndDocumentParents
  FirestoreTest.TestCanUpdateAnExistingDocument
  FirestoreTest.TestCanUpdateAnUnknownDocument
  FirestoreTest.TestCanUpdateFieldsWithDots
  FirestoreTest.TestCanUpdateFieldsWithMultipleDeletes
  FirestoreTest.TestCanUpdateNestedFields
  FirestoreTest.TestDeleteDocument
  FirestoreTest.TestDocumentReferenceEquality
  FirestoreTest.TestDocumentSnapshotEventsForAdd
  FirestoreTest.TestDocumentSnapshotEventsForChange
  FirestoreTest.TestDocumentSnapshotEventsForDelete
  FirestoreTest.TestFieldDeletesNotInFieldMaskAreIgnored
  FirestoreTest.TestFieldTransformsNotInFieldMaskAreIgnored
  FirestoreTest.TestFieldsNotInFieldMaskAreIgnored
  FirestoreTest.TestListenCanBeCalledMultipleTimes
  FirestoreTest.TestMergeReplacesArrays
  FirestoreTest.TestMetadataOnlyChangesAreNotFiredWhenNoOptionsProvided
  FirestoreTest.TestQuerySnapshotEventsForAdd
  FirestoreTest.TestQuerySnapshotEventsForChange
  FirestoreTest.TestQuerySnapshotEventsForDelete
  FirestoreTest.TestToString
  NumericTransformsTest.CreateDocumentWithIncrement
  NumericTransformsTest.DoubleIncrementWithExistingDouble
  NumericTransformsTest.DoubleIncrementWithExistingInteger
  NumericTransformsTest.DoubleIncrementWithExistingString
  NumericTransformsTest.IncrementDeleteIncrementInABatch
  NumericTransformsTest.IncrementTwiceInABatch
  NumericTransformsTest.IntegerIncrementWithExistingDouble
  NumericTransformsTest.IntegerIncrementWithExistingInteger
  NumericTransformsTest.IntegerIncrementWithExistingString
  NumericTransformsTest.MergeOnNonExistingDocumentWithIncrement
  NumericTransformsTest.MultipleDoubleIncrements
  NumericTransformsTest.ServerTimestampAndIncrement
  QueryNetworkTest.TestCanHaveMultipleMutationsWhileOffline
  QueryNetworkTest.TestQueriesFireFromCacheWhenOffline
  QueryTest.TestCanListenForTheSameQueryWithDifferentOptions
  QueryTest.TestFilterOnInfinity
  QueryTest.TestLimitQueries
  QueryTest.TestLimitQueriesUsingDescendingSortOrder
  QueryTest.TestListenUnlistenRelistenSequenceOfMirrorQueries
  QueryTest.TestQueriesCanUseArrayContainsAnyFilters
  QueryTest.TestQueriesCanUseArrayContainsFilters
  QueryTest.TestQueriesCanUseInFilters
  QueryTest.TestQueriesCanUseInFiltersWithDocIds
  QueryTest.TestQueriesCanUseNotEqualFilters
  QueryTest.TestQueriesCanUseNotEqualFiltersWithDocIds
  QueryTest.TestQueriesCanUseNotEqualFiltersWithNan
  QueryTest.TestQueriesCanUseNotEqualFiltersWithNull
  QueryTest.TestQueriesCanUseNotEqualFiltersWithObject
  QueryTest.TestQueriesCanUseNotInFilters
  QueryTest.TestQueriesCanUseNotInFiltersWithDocIds
  QueryTest.TestQueriesCanUseNotInFiltersWithNan
  QueryTest.TestQueriesCanUseNotInFiltersWithNanAndNumber
  QueryTest.TestQueriesCanUseNotInFiltersWithObject
  QueryTest.TestUnaryFilterQueries
  QueryTest.TestWillNotGetMetadataOnlyUpdates
  ServerTimestampTest.TestServerTimestampsCanRetainPreviousValueThroughConsecutiveUpdates
  ServerTimestampTest.TestServerTimestampsCanReturnEstimatedValue
  ServerTimestampTest.TestServerTimestampsCanReturnPreviousValue
  ServerTimestampTest.TestServerTimestampsCanReturnPreviousValueOfDifferentType
  ServerTimestampTest.TestServerTimestampsUsesPreviousValueFromLocalMutation
  ServerTimestampTest.TestServerTimestampsWorkViaSet
  ServerTimestampTest.TestServerTimestampsWorkViaTransactionSet
  ServerTimestampTest.TestServerTimestampsWorkViaTransactionUpdate
  ServerTimestampTest.TestServerTimestampsWorkViaUpdate
  SmokeTest.TestCanReadAWrittenDocument
  SmokeTest.TestGetCollectionQuery
  SmokeTest.TestObservesExistingDocument
  SmokeTest.TestObservesNewDocument
  SourceTest.GetCollectionWhileOfflineWithDefaultGetOptions
  SourceTest.GetCollectionWhileOfflineWithDifferentGetOptions
  SourceTest.GetCollectionWhileOfflineWithSourceEqualToCache
  SourceTest.GetCollectionWhileOnlineWithDefaultGetOptions
  SourceTest.GetCollectionWhileOnlineWithSourceEqualToCache
  SourceTest.GetCollectionWhileOnlineWithSourceEqualToServer
  SourceTest.GetDocumentWhileOfflineWithDefaultGetOptions
  SourceTest.GetDocumentWhileOfflineWithDifferentGetOptions
  SourceTest.GetDocumentWhileOfflineWithSourceEqualToCache
  SourceTest.GetDocumentWhileOnlineWithDefaultGetOptions
  SourceTest.GetDocumentWhileOnlineWithSourceEqualToCache
  SourceTest.GetDocumentWhileOnlineWithSourceEqualToServer
  TransactionExtraTest.TestRetriesWhenDocumentThatWasReadWithoutBeingWrittenChanges
  TransactionTest.TestCanHaveGetsWithoutMutations
  TransactionTest.TestGetNonexistentDocumentThenCreate
  TransactionTest.TestIncrementTransactionally
  TransactionTest.TestRunsTransactionsAfterGettingExistingDoc
  TransactionTest.TestRunsTransactionsAfterGettingNonexistentDoc
  TransactionTest.TestRunsTransactionsOnExistingDoc
  TransactionTest.TestRunsTransactionsOnNonexistentDoc
  TransactionTest.TestSetDocumentWithMerge
  TransactionTest.TestUpdateFieldsWithDotsTransactionally
  TransactionTest.TestUpdateNestedFieldsTransactionally
  TransactionTest.TestUpdateTransactionally
  TypeTest.TestCanReadAndWriteArrayFields
  TypeTest.TestCanReadAndWriteBlobFields
  TypeTest.TestCanReadAndWriteDateFields
  TypeTest.TestCanReadAndWriteDocumentReferences
  TypeTest.TestCanReadAndWriteDocumentReferencesInArrays
  TypeTest.TestCanReadAndWriteGeoPointFields
  TypeTest.TestCanReadAndWriteNullFields
  TypeTest.TestCanReadAndWriteTimestampFields
  ValidationTest.QueriesCannotBeCreatedFromDocumentsMissingSortValues
  ValidationTest.QueriesCannotBeSortedByAnUncommittedServerTimestamp
  WriteBatchTest.TestBatchesCommitAtomicallyRaisingCorrectEvents
  WriteBatchTest.TestBatchesFailAtomicallyRaisingCorrectEvents
  WriteBatchTest.TestCanWriteTheSameDocumentMultipleTimes
  WriteBatchTest.TestSetDocumentWithMerge
  WriteBatchTest.TestSetDocuments
  WriteBatchTest.TestUpdateDocuments
  WriteBatchTest.TestUpdateFieldsWithDots
  WriteBatchTest.TestUpdateNestedFields
  WriteBatchTest.TestWriteTheSameServerTimestampAcrossWrites
[TEST] [FAILURE] [tvOS] [macos] [tvos_simulator]
(172 failed tests)  ArrayTransformServerApplicationTest.MergeSetWithNoCachedBaseDoc
  ArrayTransformServerApplicationTest.SetWithNoCachedBaseDoc
  ArrayTransformServerApplicationTest.UpdateWithCachedBaseDocUsingArrayRemove
  ArrayTransformServerApplicationTest.UpdateWithCachedBaseDocUsingArrayUnion
  ArrayTransformTest.AppendObjectToArrayViaUpdate
  ArrayTransformTest.AppendToArrayViaMergeSet
  ArrayTransformTest.AppendToArrayViaUpdate
  ArrayTransformTest.CreateDocumentWithArrayUnion
  ArrayTransformTest.RemoveFromArrayViaMergeSet
  ArrayTransformTest.RemoveFromArrayViaUpdate
  ArrayTransformTest.RemoveObjectFromArrayViaUpdate
  CleanupTest.FieldValueIsBlankAfterCleanup
  FieldsTest.TestFieldsWithSpecialCharsCanBeReadDirectly
  FieldsTest.TestFieldsWithSpecialCharsCanBeUpdated
  FieldsTest.TestFieldsWithSpecialCharsCanBeUsedInOrderBy
  FieldsTest.TestFieldsWithSpecialCharsCanBeUsedInQueryFilters
  FieldsTest.TestFieldsWithSpecialCharsCanBeWrittenWithSet
  FieldsTest.TestNestedFieldsCanBeReadDirectly
  FieldsTest.TestNestedFieldsCanBeReadDirectlyViaFieldPath
  FieldsTest.TestNestedFieldsCanBeUpdated
  FieldsTest.TestNestedFieldsCanBeUsedInOrderBy
  FieldsTest.TestNestedFieldsCanBeUsedInQueryFilters
  FieldsTest.TestNestedFieldsCanBeWrittenWithSet
  FieldsTest.TestTimestampsInSnapshots
  FilterTest.QueryEmptyWhereComposite
  FilterTest.QueryWhereComposite
  FirebaseFirestoreBasicTest.TestBatchWrite
  FirebaseFirestoreBasicTest.TestDocumentListener
  FirebaseFirestoreBasicTest.TestQuery
  FirebaseFirestoreBasicTest.TestRunTransaction
  FirebaseFirestoreBasicTest.TestSetGet
  FirebaseFirestoreBasicTest.TestSetUpdateGet
  FirestoreIntegrationTest.CanBeCreatedFromDocuments
  FirestoreIntegrationTest.CanBeCreatedFromValues
  FirestoreIntegrationTest.CanBeCreatedUsingDocumentId
  FirestoreIntegrationTest.CanBeUsedInDescendingQueries
  FirestoreIntegrationTest.CanBeUsedWithReferenceValues
  FirestoreIntegrationTest.CanPageThroughItems
  FirestoreTest.CanClearPersistenceTestHarnessVerification
  FirestoreTest.CanCreateMultipleFirestoreInstances
  FirestoreTest.CanKeepDocsSeparateWithMultiDBWhenOffline
  FirestoreTest.CanKeepDocsSeparateWithMultiDBWhenOnline
  FirestoreTest.CanReadDocsAfterRestartFirestoreAndCreateNewInstance
  FirestoreTest.CanTerminateMultipleFirestoreInstances
  FirestoreTest.ComprehensiveTestOnMultiDbCreationAndTermination
  FirestoreTest.RestartFirestoreLeadsToNewInstance
  FirestoreTest.TestAddingToACollectionYieldsTheCorrectDocumentReference
  FirestoreTest.TestCanDeepMergeDataWithAnExistingDocumentUsingSet
  FirestoreTest.TestCanDeleteAFieldWithAnUpdate
  FirestoreTest.TestCanDeleteFieldUsingMerge
  FirestoreTest.TestCanDeleteFieldUsingMergeFields
  FirestoreTest.TestCanGetDocumentsWhileOffline
  FirestoreTest.TestCanMergeDataWithAnExistingDocumentUsingSet
  FirestoreTest.TestCanMergeEmptyObject
  FirestoreTest.TestCanMergeServerTimestamps
  FirestoreTest.TestCanOverwriteAnExistingDocumentUsingSet
  FirestoreTest.TestCanQueueWritesWhileOffline
  FirestoreTest.TestCanSetEmptyFieldMask
  FirestoreTest.TestCanSetServerTimestampsUsingMergeFields
  FirestoreTest.TestCanSpecifyFieldsMultipleTimesInFieldMask
  FirestoreTest.TestCanTraverseCollectionAndDocumentParents
  FirestoreTest.TestCanUpdateAnExistingDocument
  FirestoreTest.TestCanUpdateAnUnknownDocument
  FirestoreTest.TestCanUpdateFieldsWithDots
  FirestoreTest.TestCanUpdateFieldsWithMultipleDeletes
  FirestoreTest.TestCanUpdateNestedFields
  FirestoreTest.TestDeleteDocument
  FirestoreTest.TestDocumentReferenceEquality
  FirestoreTest.TestDocumentSnapshotEventsForAdd
  FirestoreTest.TestDocumentSnapshotEventsForChange
  FirestoreTest.TestDocumentSnapshotEventsForDelete
  FirestoreTest.TestFieldDeletesNotInFieldMaskAreIgnored
  FirestoreTest.TestFieldTransformsNotInFieldMaskAreIgnored
  FirestoreTest.TestFieldsNotInFieldMaskAreIgnored
  FirestoreTest.TestListenCanBeCalledMultipleTimes
  FirestoreTest.TestMergeReplacesArrays
  FirestoreTest.TestMetadataOnlyChangesAreNotFiredWhenNoOptionsProvided
  FirestoreTest.TestQuerySnapshotEventsForAdd
  FirestoreTest.TestQuerySnapshotEventsForChange
  FirestoreTest.TestQuerySnapshotEventsForDelete
  FirestoreTest.TestToString
  NumericTransformsTest.CreateDocumentWithIncrement
  NumericTransformsTest.DoubleIncrementWithExistingDouble
  NumericTransformsTest.DoubleIncrementWithExistingInteger
  NumericTransformsTest.DoubleIncrementWithExistingString
  NumericTransformsTest.IncrementDeleteIncrementInABatch
  NumericTransformsTest.IncrementTwiceInABatch
  NumericTransformsTest.IntegerIncrementWithExistingDouble
  NumericTransformsTest.IntegerIncrementWithExistingInteger
  NumericTransformsTest.IntegerIncrementWithExistingString
  NumericTransformsTest.MergeOnNonExistingDocumentWithIncrement
  NumericTransformsTest.MultipleDoubleIncrements
  NumericTransformsTest.ServerTimestampAndIncrement
  QueryNetworkTest.TestCanHaveMultipleMutationsWhileOffline
  QueryNetworkTest.TestQueriesFireFromCacheWhenOffline
  QueryTest.TestCanListenForTheSameQueryWithDifferentOptions
  QueryTest.TestFilterOnInfinity
  QueryTest.TestLimitQueries
  QueryTest.TestLimitQueriesUsingDescendingSortOrder
  QueryTest.TestListenUnlistenRelistenSequenceOfMirrorQueries
  QueryTest.TestQueriesCanUseArrayContainsAnyFilters
  QueryTest.TestQueriesCanUseArrayContainsFilters
  QueryTest.TestQueriesCanUseInFilters
  QueryTest.TestQueriesCanUseInFiltersWithDocIds
  QueryTest.TestQueriesCanUseNotEqualFilters
  QueryTest.TestQueriesCanUseNotEqualFiltersWithDocIds
  QueryTest.TestQueriesCanUseNotEqualFiltersWithNan
  QueryTest.TestQueriesCanUseNotEqualFiltersWithNull
  QueryTest.TestQueriesCanUseNotEqualFiltersWithObject
  QueryTest.TestQueriesCanUseNotInFilters
  QueryTest.TestQueriesCanUseNotInFiltersWithDocIds
  QueryTest.TestQueriesCanUseNotInFiltersWithNan
  QueryTest.TestQueriesCanUseNotInFiltersWithNanAndNumber
  QueryTest.TestQueriesCanUseNotInFiltersWithObject
  QueryTest.TestUnaryFilterQueries
  QueryTest.TestWillNotGetMetadataOnlyUpdates
  ServerTimestampTest.TestServerTimestampsCanRetainPreviousValueThroughConsecutiveUpdates
  ServerTimestampTest.TestServerTimestampsCanReturnEstimatedValue
  ServerTimestampTest.TestServerTimestampsCanReturnPreviousValue
  ServerTimestampTest.TestServerTimestampsCanReturnPreviousValueOfDifferentType
  ServerTimestampTest.TestServerTimestampsUsesPreviousValueFromLocalMutation
  ServerTimestampTest.TestServerTimestampsWorkViaSet
  ServerTimestampTest.TestServerTimestampsWorkViaTransactionSet
  ServerTimestampTest.TestServerTimestampsWorkViaTransactionUpdate
  ServerTimestampTest.TestServerTimestampsWorkViaUpdate
  SmokeTest.TestCanReadAWrittenDocument
  SmokeTest.TestGetCollectionQuery
  SmokeTest.TestObservesExistingDocument
  SmokeTest.TestObservesNewDocument
  SourceTest.GetCollectionWhileOfflineWithDefaultGetOptions
  SourceTest.GetCollectionWhileOfflineWithDifferentGetOptions
  SourceTest.GetCollectionWhileOfflineWithSourceEqualToCache
  SourceTest.GetCollectionWhileOnlineWithDefaultGetOptions
  SourceTest.GetCollectionWhileOnlineWithSourceEqualToCache
  SourceTest.GetCollectionWhileOnlineWithSourceEqualToServer
  SourceTest.GetDocumentWhileOfflineWithDefaultGetOptions
  SourceTest.GetDocumentWhileOfflineWithDifferentGetOptions
  SourceTest.GetDocumentWhileOfflineWithSourceEqualToCache
  SourceTest.GetDocumentWhileOnlineWithDefaultGetOptions
  SourceTest.GetDocumentWhileOnlineWithSourceEqualToCache
  SourceTest.GetDocumentWhileOnlineWithSourceEqualToServer
  TransactionExtraTest.TestRetriesWhenDocumentThatWasReadWithoutBeingWrittenChanges
  TransactionTest.TestCanHaveGetsWithoutMutations
  TransactionTest.TestGetNonexistentDocumentThenCreate
  TransactionTest.TestIncrementTransactionally
  TransactionTest.TestRunsTransactionsAfterGettingExistingDoc
  TransactionTest.TestRunsTransactionsAfterGettingNonexistentDoc
  TransactionTest.TestRunsTransactionsOnExistingDoc
  TransactionTest.TestRunsTransactionsOnNonexistentDoc
  TransactionTest.TestSetDocumentWithMerge
  TransactionTest.TestUpdateFieldsWithDotsTransactionally
  TransactionTest.TestUpdateNestedFieldsTransactionally
  TransactionTest.TestUpdateTransactionally
  TypeTest.TestCanReadAndWriteArrayFields
  TypeTest.TestCanReadAndWriteBlobFields
  TypeTest.TestCanReadAndWriteDateFields
  TypeTest.TestCanReadAndWriteDocumentReferences
  TypeTest.TestCanReadAndWriteDocumentReferencesInArrays
  TypeTest.TestCanReadAndWriteGeoPointFields
  TypeTest.TestCanReadAndWriteNullFields
  TypeTest.TestCanReadAndWriteTimestampFields
  ValidationTest.QueriesCannotBeCreatedFromDocumentsMissingSortValues
  ValidationTest.QueriesCannotBeSortedByAnUncommittedServerTimestamp
  WriteBatchTest.TestBatchesCommitAtomicallyRaisingCorrectEvents
  WriteBatchTest.TestBatchesFailAtomicallyRaisingCorrectEvents
  WriteBatchTest.TestCanWriteTheSameDocumentMultipleTimes
  WriteBatchTest.TestSetDocumentWithMerge
  WriteBatchTest.TestSetDocuments
  WriteBatchTest.TestUpdateDocuments
  WriteBatchTest.TestUpdateFieldsWithDots
  WriteBatchTest.TestUpdateNestedFields
  WriteBatchTest.TestWriteTheSameServerTimestampAcrossWrites
[TEST] [FLAKINESS] [Android] [1/3 os: macos] [1/4 android_device: android_target]
(1 failed tests)  CRASH/TIMEOUT
[TEST] [FLAKINESS] [Android] [1/3 os: ubuntu] [1/4 android_device: android_target]
(1 failed tests)  FirestoreTest.AuthWorks
[TEST] [FLAKINESS] [Android] [1/3 os: ubuntu] [1/4 android_device: emulator_ftl_latest]
(1 failed tests)  TaskTest.IsCompleteShouldReturnTrueForCanceledTask
functions [TEST] [FLAKINESS] [Android] [2/3 os: macos ubuntu] [1/4 android_device: android_latest]
(1 failed tests)  CRASH/TIMEOUT
installations [TEST] [FLAKINESS] [Android] [1/3 os: macos] [1/4 android_device: emulator_ftl_target]
(1 failed tests)  FirebaseInstallationsTest.TestCanGetToken
messaging [TEST] [FLAKINESS] [Android] [1/3 os: windows] [1/4 android_device: android_target]
(1 failed tests)  FirebaseMessagingTest.TestSendMessageToToken

Add flaky tests to go/fpl-cpp-flake-tracker

@github-actions github-actions bot added the tests: failed This PR's integration tests failed. label Mar 3, 2026
@firebase-workflow-trigger firebase-workflow-trigger bot removed the tests: in-progress This PR's integration tests are in progress. label Mar 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

tests: failed This PR's integration tests failed.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant