Skip to content

infra: move CI to use Xcode 26 and macOS 26#15997

Merged
ncooke3 merged 40 commits intomainfrom
nc/ci26
Mar 31, 2026
Merged

infra: move CI to use Xcode 26 and macOS 26#15997
ncooke3 merged 40 commits intomainfrom
nc/ci26

Conversation

@ncooke3
Copy link
Copy Markdown
Member

@ncooke3 ncooke3 commented Mar 27, 2026

Fast-Follow TODOs

CI & Infrastructure

  • Workflow Updates: Update the release.zip.yml workflow to point to the new macos-26 and Xcode_26.4 defaults once these changes are merged.
  • WatchOS Testing: Re-enable the MessagingSampleStandaloneWatchApp target in the sdk.messaging.yml workflow.

Authentication

  • Quickstart Branch Cleanup: Remove the temporary nc/fix-auth branch reference in sdk.auth.yml after the fix is merged.
  • Test Restoration: Restore and re-enable the commented-out Authentication quickstart tests in the CI pipeline.

Performance & Quality

  • Quickstart Testing: Address the run_tests: false setting in sdk.performance.yml to get Performance quickstart tests running again.
  • Reachability Migration: A note remains in connectivity_monitor_apple.mm regarding the future migration from SCNetworkReachability to NWPathMonitor (tracked via [Firestore] SCNetworkReachability API deprecations. #12593).

#no-changelog

@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.

ncooke3 added 6 commits March 30, 2026 11:28
When linting with Xcode 26.4, CI reported:

This commit addresses these warnings along with a detected memory leak.

  Summary
  Resolves a static analysis failure on tvOS by correcting nullability mismatches and fixing a kernel memory leak in the CPU gauge collection path.

  Fixed Warnings
  The following static analysis errors were reported during pod lib lint:
   * warning: nil returned from a function that is expected to return a non-null value [nullability.NullReturnedFromNonnull]
   * error: [tvOS] build_pod: Static Analysis failed.

  Changes
   * Fixed Memory Leak: Added a missing vm_deallocate call in fprCollectCPUMetric to ensure kernel-allocated thread lists are freed if thread_info fails inside the collection loop.
   * Corrected Nullability:
       * Marked fprCollectCPUMetric as returning _Nullable to accurately reflect its behavior when system calls (e.g., task_info, task_threads) fail.
       * Updated the FPRGaugeManager API (dispatchMetric:) to accept nullable metrics, as it already internally handled nil via type checks.
       * Added a safety check in FPRCPUGaugeCollector to prevent passing nil data to its delegate.
   * Improved Stability: Ensured that failing to collect CPU metrics no longer triggers static analysis warnings or leaks system resources.
@ncooke3 ncooke3 requested a review from a team as a code owner March 30, 2026 21:55
@ncooke3 ncooke3 requested a review from andrewheard March 30, 2026 21:56
Copy link
Copy Markdown
Member

@paulb777 paulb777 left a comment

Choose a reason for hiding this comment

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

LGTM on acceptable CI and PINNED suggestion merge

Copy link
Copy Markdown
Contributor

@andrewheard andrewheard left a comment

Choose a reason for hiding this comment

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

Note: If CI passes I'd prefer to handle these suggestions separately in #16011 to get them merged.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

@ncooke3 ncooke3 requested a review from paulb777 March 31, 2026 17:16
@ncooke3
Copy link
Copy Markdown
Member Author

ncooke3 commented Mar 31, 2026

There are still some persistent failures. I'll work on them in smaller PRs that to reduce CI load.

@ncooke3 ncooke3 merged commit 75efc03 into main Mar 31, 2026
710 of 737 checks passed
@ncooke3 ncooke3 deleted the nc/ci26 branch March 31, 2026 21:36
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