Skip to content

Optimize Firestore CI and Migrate Test Retries to xcodebuild#16024

Merged
cherylEnkidu merged 12 commits intomainfrom
cheryl/fixTests
Apr 13, 2026
Merged

Optimize Firestore CI and Migrate Test Retries to xcodebuild#16024
cherylEnkidu merged 12 commits intomainfrom
cheryl/fixTests

Conversation

@cherylEnkidu
Copy link
Copy Markdown
Contributor

@cherylEnkidu cherylEnkidu commented Apr 1, 2026

This PR introduces optimizations to the Firestore CI workflows and refactors the test retry mechanism to use native Xcode features instead of a GitHub Action.

Key Changes

CI Optimization (.github/workflows/sdk.firestore.yml)

  • Added Pods Caching: Added CocoaPods caching for Firestore/Example/Pods in xcodetest, xcodetest_nightly, and xcodetest_emulator jobs to speed up CI runs.
  • Removed Workflow-Level Retries: Removed the nick-fields/retry GitHub Action for running tests. Tests are now executed directly via scripts/build.sh.

Build Script Updates (scripts/build.sh)

  • Native Test Retries: Migrated the retry logic to xcodebuild by adding -retry-tests-on-failure and -test-iterations 3 flags for Firestore integration tests. This allows individual failing tests to be retried rather than rerunning the entire suite via the CI workflow.

Project File Updates (Firestore/Example/Firestore.xcodeproj/project.pbxproj)

  • Added references to AsyncSequenceTests.swift in the project structure.

Test Fixes (Firestore/Swift/Tests/Integration/PipelineTests.swift)

  • testSupportsParent: Updated the test to use randomCol.firestore instead of creating a new instance with firestore(), ensuring the correct database instance is used.
  • Fixed minor indentation in a test case involving arrayTransform.

@gemini-code-assist
Copy link
Copy Markdown
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.

@danger-firebase-ios
Copy link
Copy Markdown

1 Warning
⚠️ Did you forget to add a changelog entry? (Add #no-changelog to the PR description to silence this warning.)

Generated by 🚫 Danger

@cherylEnkidu cherylEnkidu requested a review from a team as a code owner April 1, 2026 18:22
ncooke3
ncooke3 previously approved these changes Apr 1, 2026
@cherylEnkidu cherylEnkidu enabled auto-merge (squash) April 1, 2026 19:44
@cherylEnkidu cherylEnkidu disabled auto-merge April 1, 2026 19:45
@ncooke3 ncooke3 self-requested a review April 1, 2026 20:18
@ncooke3 ncooke3 dismissed their stale review April 1, 2026 20:18

For testing.

@ncooke3 ncooke3 removed their request for review April 1, 2026 20:18
@cherylEnkidu cherylEnkidu changed the title Fix tests in iOS Optimize Firestore CI and Migrate Test Retries to xcodebuild Apr 9, 2026
@cherylEnkidu cherylEnkidu merged commit 638a1b0 into main Apr 13, 2026
162 of 164 checks passed
@cherylEnkidu cherylEnkidu deleted the cheryl/fixTests branch April 13, 2026 14:39
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.

2 participants