diff --git a/.circleci/config.yml b/.circleci/config.yml index 95a0473a37..511896a994 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -516,7 +516,7 @@ jobs: Check Swift formatting: macos: - xcode: "16.4" + xcode: "26.2" resource_class: "m4pro.medium" steps: - checkout @@ -534,7 +534,7 @@ jobs: iOS build and test: macos: - xcode: "16.4" + xcode: "26.2" resource_class: "m4pro.medium" steps: - checkout @@ -548,16 +548,16 @@ jobs: - setup-rust-toolchain - restore_cache: name: Restore rubygems cache - key: swift-docs-gems-v22 + key: swift-docs-gems-v23 - run: name: Install jazzy command: gem install --no-document jazzy - save_cache: name: Save rubygems cache # NEEDS TO CHANGE WHEN JAZZY OR RUBY IS UPDATED - key: swift-docs-gems-v22 + key: swift-docs-gems-v23 paths: - - ~/.rbenv/versions/3.4.3/lib/ruby/gems/3.4.0 + - ~/.rbenv/versions/3.4.7/lib/ruby/gems/3.4.0 - run: name: Setup build environment command: | @@ -573,7 +573,7 @@ jobs: DEVICES=$(xcrun xctrace list devices 2>&1) echo "$DEVICES" # Pick a device and start it - UUID=$(echo "$DEVICES" | grep --max-count=1 'iPhone 16 Simulator (18' | awk -F'[()]' '{print $4}') + UUID=$(echo "$DEVICES" | grep --max-count=1 'iPhone 17 Simulator (26' | awk -F'[()]' '{print $4}') xcrun simctl boot "$UUID" # Store build type for use in cache key if [ -z "${CIRCLE_TAG}" ]; then @@ -635,7 +635,7 @@ jobs: iOS integration test: macos: - xcode: "16.4" + xcode: "26.2" resource_class: "m4pro.medium" steps: - checkout @@ -657,7 +657,7 @@ jobs: DEVICES=$(xcrun xctrace list devices 2>&1) echo "$DEVICES" # Pick a device and start it - UUID=$(echo "$DEVICES" | grep --max-count=1 'iPhone 16 Simulator (18' | awk -F'[()]' '{print $4}') + UUID=$(echo "$DEVICES" | grep --max-count=1 'iPhone 17 Simulator (26' | awk -F'[()]' '{print $4}') xcrun simctl boot "$UUID" - run: name: Build XCFramework archive @@ -680,7 +680,7 @@ jobs: iOS Framework release: macos: - xcode: "16.4" + xcode: "26.2" resource_class: "m4pro.medium" steps: - checkout @@ -923,7 +923,7 @@ jobs: pypi-macos-release: macos: - xcode: "16.4" + xcode: "26.2" resource_class: "m4pro.medium" steps: - install-rustup diff --git a/CHANGELOG.md b/CHANGELOG.md index 33481498b4..c2b1a43d57 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ * Tiny performance improvement for putting tasks on the dispatcher ([#3318](https://github.com/mozilla/glean/pull/3318)) * Instrument the case when the `client_id.txt` file does not exist yet ([#3339](https://github.com/mozilla/glean/pull/3339)) * When a missing client ID in the database is detected, Glean now restores the backup client ID ([#3334](https://github.com/mozilla/glean/pull/3334)) +* iOS + * Glean for iOS is now being built with Xcode 26.2 ([#3350](https://github.com/mozilla/glean/pull/3350)) # v66.1.2 (2025-11-25) diff --git a/bin/run-ios-build.sh b/bin/run-ios-build.sh index 1e3ba06bcf..d8bfa0f867 100755 --- a/bin/run-ios-build.sh +++ b/bin/run-ios-build.sh @@ -11,7 +11,7 @@ xcodebuild \ -workspace ./glean-core/ios/Glean.xcodeproj/project.xcworkspace \ -scheme Glean \ -sdk iphonesimulator \ - -destination 'platform=iOS Simulator,name=iPhone 16' \ + -destination 'platform=iOS Simulator,name=iPhone 17' \ build | \ tee raw_xcodebuild.log | \ xcpretty && exit "${PIPESTATUS[0]}" diff --git a/bin/run-ios-sample-app-build.sh b/bin/run-ios-sample-app-build.sh index 4516108fc8..8d7e9a989f 100755 --- a/bin/run-ios-sample-app-build.sh +++ b/bin/run-ios-sample-app-build.sh @@ -11,7 +11,7 @@ xcodebuild \ -workspace ./samples/ios/app/glean-sample-app.xcodeproj/project.xcworkspace \ -scheme glean-sample-app \ -sdk iphonesimulator \ - -destination 'platform=iOS Simulator,name=iPhone 16' \ + -destination 'platform=iOS Simulator,name=iPhone 17' \ build | \ tee raw_sample_xcodebuild.log | \ xcpretty && exit "${PIPESTATUS[0]}" diff --git a/bin/run-ios-sample-app-test.sh b/bin/run-ios-sample-app-test.sh index 27d5664cda..a7e7ebfa03 100755 --- a/bin/run-ios-sample-app-test.sh +++ b/bin/run-ios-sample-app-test.sh @@ -11,7 +11,7 @@ xcodebuild \ -workspace ./samples/ios/app/glean-sample-app.xcodeproj/project.xcworkspace \ -scheme glean-sample-app \ -sdk iphonesimulator \ - -destination 'platform=iOS Simulator,name=iPhone 16' \ + -destination 'platform=iOS Simulator,name=iPhone 17' \ test | \ tee raw_sample_xcodetest.log | \ xcpretty && exit "${PIPESTATUS[0]}" diff --git a/bin/run-ios-tests.sh b/bin/run-ios-tests.sh index e5e1e3e302..19e5704214 100755 --- a/bin/run-ios-tests.sh +++ b/bin/run-ios-tests.sh @@ -11,7 +11,7 @@ xcodebuild \ -workspace ./glean-core/ios/Glean.xcodeproj/project.xcworkspace \ -scheme Glean \ -sdk iphonesimulator \ - -destination 'platform=iOS Simulator,name=iPhone 16' \ + -destination 'platform=iOS Simulator,name=iPhone 17' \ test | \ tee raw_xcodetest.log | \ xcpretty && exit "${PIPESTATUS[0]}" diff --git a/docs/dev/ios/setup-ios-build-environment.md b/docs/dev/ios/setup-ios-build-environment.md index 1d950ba8ea..15cec700be 100644 --- a/docs/dev/ios/setup-ios-build-environment.md +++ b/docs/dev/ios/setup-ios-build-environment.md @@ -2,7 +2,7 @@ ## Prepare your build environment -1. Install Xcode 16.4 or higher. +1. Install Xcode 26.2 or higher. 2. Ensure you have Python 3 installed: `brew install python` 3. Install linting and formatting tools: `brew install swiftlint` 4. (Optional, only required for building on the CLI) Install [xcpretty](https://github.com/xcpretty/xcpretty): `gem install xcpretty` diff --git a/samples/ios/app/README.md b/samples/ios/app/README.md index 16833eb4c8..81e6f0b6b3 100644 --- a/samples/ios/app/README.md +++ b/samples/ios/app/README.md @@ -9,7 +9,7 @@ Glean sends a [`baseline`][] ping when the app is sent to background. ## Build -1. Install Xcode 16.4 or higher. +1. Install Xcode 26.2 or higher. 2. Install the latest [Xcode developer tools](https://developer.apple.com/xcode/downloads/) from Apple.