Skip to content

Conversation

@ncooke3
Copy link
Member

@ncooke3 ncooke3 commented Dec 15, 2025

Goal: When nightly testing, disable a dispatch_async to observe whether that makes a difference.

Context: I saw promising results in reducing test flakiness when making removing an async dispatch in CLSSettings. Before updating the tests or SDK to address this more robustly, I'd like to test disabling the async dispatch for a few nights to see if this actually makes a difference.

#no-changelog

@gemini-code-assist
Copy link
Contributor

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

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.

@ncooke3 ncooke3 merged commit c427593 into main Dec 16, 2025
207 of 219 checks passed
@ncooke3 ncooke3 deleted the nc/csh-flaky branch December 16, 2025 03:39
@ncooke3
Copy link
Member Author

ncooke3 commented Dec 16, 2025

/gemini review

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 aims to address test flakiness by disabling an asynchronous dispatch during nightly tests. This is achieved by introducing a FIREBASE_IS_NIGHTLY_TESTING preprocessor macro. The changes in Package.swift correctly set up this macro based on an environment variable and refactor the FirebaseCrashlytics target definition into a helper function for better organization. The change in FIRCLSSettings.m uses this macro to conditionally compile out the dispatch_async call. My feedback focuses on improving the readability of the conditional compilation in FIRCLSSettings.m. Overall, the changes are logical and achieve the stated goal.

@ncooke3
Copy link
Member Author

ncooke3 commented Dec 16, 2025

cc: @themiswang

@ncooke3
Copy link
Member Author

ncooke3 commented Dec 16, 2025

So far, no flakes from this test file in the SPM nightly workflows: https://github.com/firebase/firebase-ios-sdk/actions/runs/20258318035

Will give it a few more days before making fix more robust.

JesusRojass pushed a commit to JesusRojass/firebase-ios-sdk that referenced this pull request Dec 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants