Skip to content

Cap CI Xcode version at 26.3 to fix iOS build#802

Merged
CassioMG merged 1 commit intomainfrom
cg-cap-xcode-version
Apr 3, 2026
Merged

Cap CI Xcode version at 26.3 to fix iOS build#802
CassioMG merged 1 commit intomainfrom
cg-cap-xcode-version

Conversation

@CassioMG
Copy link
Copy Markdown
Contributor

@CassioMG CassioMG commented Apr 3, 2026

What

Cap the auto-selected Xcode version at 26.3 in the CI setup script.

Why

Xcode 26.4 (recently launched on March 24, 2026) ships a stricter Clang that breaks the fmt CocoaPod with consteval errors:

ios/Pods/fmt/include/fmt/format-inl.h:59:24: error: call to consteval function
'fmt::basic_format_string<...>::basic_format_string<FMT_COMPILE_STRING, 0>'
is not a constant expression

The setup-xcode-latest-stable script auto-selects the highest non-beta Xcode on the runner. Since 26.4 is now available on CI runners, all iOS builds fail.

Changes

Added a MAX_XCODE_VERSION variable at the top of scripts/setup-xcode-latest-stable that caps selection at 26.3. Versions above the cap are excluded before the sort, so CI will pick 26.3.x as the latest allowed version.

To bump later, just change the single variable at the top of the script once the fmt pod (or its consumer) is updated.

Known limitations

N/A — this is a temporary cap until pod compatibility is resolved.

Checklist

PR structure

  • This PR does not mix refactoring changes with feature changes.
  • This PR has reasonably narrow scope.
  • This PR includes relevant before and after screenshots/videos highlighting these changes.
  • I took the time to review my own PR.

Testing

  • Version comparison logic tested locally (26.4 excluded, 26.3 included, 26.2 included).

Release

  • This is not a breaking change.

Xcode 26.4 ships a stricter Clang that breaks the `fmt` CocoaPod with
consteval errors. Cap the auto-selected Xcode at 26.3 until the Pod is
updated. The cap is a single variable (MAX_XCODE_VERSION) at the top of
the script for easy bumping.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings April 3, 2026 22:40
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the CI Xcode selection helper to prevent iOS builds from picking a newer Xcode that breaks CocoaPods compilation (notably fmt) by capping the auto-selected version.

Changes:

  • Introduced a MAX_XCODE_VERSION constant to cap selection to a maximum major.minor Xcode version.
  • Added exclusion logic to skip any stable Xcode installations whose major.minor version is above the cap, before sorting to pick the latest allowed version.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@CassioMG CassioMG self-assigned this Apr 3, 2026
@CassioMG CassioMG merged commit a6c917a into main Apr 3, 2026
28 of 31 checks passed
@CassioMG CassioMG deleted the cg-cap-xcode-version branch April 3, 2026 23:28
@CassioMG CassioMG requested a review from leofelix077 April 3, 2026 23:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants