From 268250d47caf33b9ae7f2bef0a240a3588eee59a Mon Sep 17 00:00:00 2001 From: Nick Cooke <36927374+ncooke3@users.noreply.github.com> Date: Tue, 24 Mar 2026 11:30:56 -0400 Subject: [PATCH] dnm: build zip with Xcode 26.2 x macOS 26 (#15786) --- .github/workflows/release.zip.yml | 16 +++++++--------- CONTRIBUTING.md | 2 +- FirebaseCore/CHANGELOG.md | 5 +++++ README.md | 2 +- ReleaseTooling/Template/README.md | 2 +- SwiftPackageManager.md | 2 +- agents.md | 2 +- 7 files changed, 17 insertions(+), 14 deletions(-) diff --git a/.github/workflows/release.zip.yml b/.github/workflows/release.zip.yml index e80455b5c2..6db9679d6a 100644 --- a/.github/workflows/release.zip.yml +++ b/.github/workflows/release.zip.yml @@ -22,7 +22,7 @@ env: # Firebase's minimum supported Xcode. This is what the binary artifacts are # built with. Changing this version must only be done in alignment with # updates to the minimum supported Xcode supported for App Store submissions. - MIN_XCODE: Xcode_16.2 # WARNING: Read above comment. + MIN_XCODE: Xcode_26.2 # WARNING: Read above comment. on: pull_request: @@ -84,7 +84,7 @@ jobs: github.repository == 'firebase/firebase-ios-sdk' && contains(fromJSON('["schedule", "pull_request", "workflow_dispatch"]'), github.event_name) && needs.should_package.outputs.should_package == 'true' - runs-on: macos-14 + runs-on: macos-26 steps: - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 with: @@ -117,7 +117,7 @@ jobs: github.repository == 'firebase/firebase-ios-sdk' && contains(fromJSON('["schedule", "pull_request", "workflow_dispatch"]'), github.event_name) && needs.should_package.outputs.should_package == 'true' - runs-on: macos-14 + runs-on: macos-15 steps: - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 with: @@ -135,7 +135,7 @@ jobs: strategy: matrix: linking_type: [static, dynamic] - runs-on: macos-14 + runs-on: macos-26 steps: - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 with: @@ -192,7 +192,7 @@ jobs: if: ${{ !cancelled() }} env: FIREBASECI_USE_LATEST_GOOGLEAPPMEASUREMENT: 1 - runs-on: macos-14 + runs-on: macos-15 steps: - name: Xcode run: sudo xcode-select -s /Applications/${{ env.MIN_XCODE }}.app/Contents/Developer @@ -280,8 +280,6 @@ jobs: - product: "Database" plist_src: "scripts/gha-encrypted/qs-database.plist.gpg" plist_dst: "quickstart-ios/database/GoogleService-Info.plist" - os: "macos-14" # Override default - xcode: "Xcode_16.2" # Override default command: | SAMPLE="Database" TARGET="DatabaseExample" NON_FIREBASE_SDKS="FirebaseDatabaseUI" \ scripts/zip/setup_quickstart_framework.sh \ @@ -349,9 +347,9 @@ jobs: product: ${{ matrix.config.product }} zip_run_id: ${{ needs.packaging_done.outputs.run_id }} artifact_name: ${{ matrix.artifact }} - # Use defaults for most, override for Database + # Use defaults with option to override os: ${{ matrix.config.os || 'macos-15' }} - xcode: ${{ matrix.config.xcode || 'Xcode_16.4' }} + xcode: ${{ matrix.config.xcode || 'Xcode_26.3' }} # Optional scheme (only used by FirebaseAI) scheme: ${{ matrix.config.scheme }} plist_src_path: ${{ matrix.config.plist_src }} diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 9eea80d03b..a649d2e1d8 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -119,7 +119,7 @@ the preferred workflow for Firebase development. To develop Firebase software, **install**: -* [Xcode] (v16.2 or later) (for Googlers, visit [go/xcode](go/xcode)) to +* [Xcode] (v26.2 or later) (for Googlers, visit [go/xcode](go/xcode)) to download. *
Code styling tools: clang-format, swiftformat and diff --git a/FirebaseCore/CHANGELOG.md b/FirebaseCore/CHANGELOG.md index fc01595ba4..c5957d4d0a 100644 --- a/FirebaseCore/CHANGELOG.md +++ b/FirebaseCore/CHANGELOG.md @@ -1,3 +1,8 @@ +# Unreleased +- [changed] Firebase now requires at least Xcode 26.2 and the Swift + 6.2.3+ toolchain. See https://developer.apple.com/news/?id=ueeok6yw for + more info. + # Firebase 12.7.0 - [fixed] [CocoaPods] Enable module map generation for Firebase pods. This resolves build failures when using static linking diff --git a/README.md b/README.md index b8a2350c0f..13f3de75d1 100644 --- a/README.md +++ b/README.md @@ -86,7 +86,7 @@ For details on using Firebase from a Framework or a library, refer to [firebase_ To develop Firebase software in this repository, ensure that you have at least the following software: -* Xcode 16.2 (or later) +* Xcode 26.2 (or later) CocoaPods is still the canonical way to develop, but much of the repo now supports development with Swift Package Manager. diff --git a/ReleaseTooling/Template/README.md b/ReleaseTooling/Template/README.md index 495301380e..efd7411b08 100644 --- a/ReleaseTooling/Template/README.md +++ b/ReleaseTooling/Template/README.md @@ -19,7 +19,7 @@ Each Firebase component requires several xcframeworks in order to function properly. Each section below lists the xcframeworks you'll need to include in your project in order to use that Firebase SDK in your application. -Xcode 16.2 or newer is required. +Xcode 26.2 or newer is required. To integrate a Firebase SDK with your app: diff --git a/SwiftPackageManager.md b/SwiftPackageManager.md index d94a651748..2fd7db0aca 100644 --- a/SwiftPackageManager.md +++ b/SwiftPackageManager.md @@ -2,7 +2,7 @@ ## Requirements -- Requires Xcode 16.2 or above +- Requires Xcode 26.2 or above - Analytics requires clients to add `-ObjC` linker option. - See [Package.swift](Package.swift) for supported platform versions. diff --git a/agents.md b/agents.md index 46df803073..df25125eaa 100644 --- a/agents.md +++ b/agents.md @@ -12,7 +12,7 @@ following setup is beneficial. ### Prerequisites -1. **Xcode**: The development environment relies on Xcode 16.2 or above. +1. **Xcode**: The development environment relies on Xcode 26.2 or above. 2. **Command-Line Tools**: * `clang-format`: Used for C, C++, and Objective-C code formatting. Version 20 is specifically mentioned.