Skip to content

Build with Xcode 27 in the browser build workflows - #511

Merged
marionbarker merged 1 commit into
update_dev_to_3.14.9from
ci/xcode-27-browser-build
Sep 27, 2026
Merged

marionbarker merged 1 commit into
update_dev_to_3.14.9from
ci/xcode-27-browser-build

Conversation

@ps2

@ps2 ps2 commented Sep 27, 2026

Copy link
Copy Markdown
Contributor

Switches build_loop.yml and build_loop_auto.yml from the macos-26 runner with Xcode 26.5 to GitHub's xcode-27 runner image (macOS 27, Xcode 27.0 build 27A266a, public preview since 2026-07-16; macOS 27 base since 2026-09-16).

Why: browser builds currently link against the iOS 26 SDK, while local Xcode 27 builds link against iOS 27. LoopKit/Loop#2524's toolbar fix (isPaddingRemoved, visibilityPriority) is gated on compiler(>=6.4), so browser builds have been shipping without it. Building everyone with the same SDK also means iOS 27 behaviour gets exercised by the majority of users, rather than only by local builders.

Notes:

  • The image is marked "preview" by GitHub: possible instability and queueing while capacity is balanced. Pinning Xcode_27.0.app explicitly keeps the build stable if the image's default moves to 27.1/27.2.
  • The workspace builds with Xcode 27.0 locally (device and simulator); Xcode 27 Fixes Loop#2498 (Xcode 27 fixes) is on dev and main.
  • Forks pick this up when users sync their branch, since the workflow file lives in each branch.

Use GitHub's xcode-27 runner image (macOS 27, Xcode 27.0 27A266a) so
browser builds link against the iOS 27 SDK, matching local Xcode 27
builds. Loop#2524's toolbar padding fix is compiled only under Xcode 27,
so browser builds have been shipping without it.
@marionbarker

Copy link
Copy Markdown
Contributor

Test

✅ successful test
moved target branch to update_dev_to_3.14.9 to bring this into LoopWorkspace with PR #504

Configuration

Started with update_dev_to_3.14.9 and then created test branch: xcode17-runner-test with this PR cherry-picked in.
Pushed that branch to docs-test organization, made it the default branch and ran a browser build.

Test Narrative

I was not able to reproduce the toolbar issue with my SE 3rd gen iPhone running iOS27.0, but I confirmed you must have Xcode 27 to support compiler(>=6.4).

@marionbarker
marionbarker changed the base branch from dev to update_dev_to_3.14.9 September 27, 2026 15:44

@marionbarker marionbarker left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Approve by code review and test. Installed browser built code to an iOS 27.0 phone

@marionbarker
marionbarker merged commit c4b60dd into update_dev_to_3.14.9 Sep 27, 2026
1 check passed
marionbarker pushed a commit that referenced this pull request Sep 27, 2026
Use GitHub's xcode-27 runner image (macOS 27, Xcode 27.0 27A266a) so
browser builds link against the iOS 27 SDK, matching local Xcode 27
builds. Loop#2524's toolbar padding fix is compiled only under Xcode 27,
so browser builds have been shipping without it.
@ps2
ps2 deleted the ci/xcode-27-browser-build branch October 3, 2026 19:52
marionbarker added a commit that referenced this pull request Oct 4, 2026
* Bump version to 3.14.9

* update LoopKit: Make InsulinSensitivityScheduleTests independent of time of day

* update OmnipodKit: fix for too many pods when other pods are already paired

* updated EversenseKit: fix DMS upload, crashes, battery upload, E3 alarms

* update LoopKit: fix test (pr617), fix crash (pr619)

* update import localization Scripts to work with Xcode 27

* update submodules: Updated translations from lokalise on Fri Sep 25 13:06:28 PDT 2026

* update Loop: Add missing translations string, update WatchApp.xcscheme for Xcode 27

* update Scripts for Xcode 27,
* use SUPPORTS_MACCATALYST=NO to prevent macos deployment error in multiple submodules

* Build with Xcode 27 in the browser build workflows (#511)

Use GitHub's xcode-27 runner image (macOS 27, Xcode 27.0 27A266a) so
browser builds link against the iOS 27 SDK, matching local Xcode 27
builds. Loop#2524's toolbar padding fix is compiled only under Xcode 27,
so browser builds have been shipping without it.

* update LoopKit: Resolve carb-entry row labels for localization

* update MedtrumKit: several updates; * report state of patch if not ready to prime * fix crash, detect when delivery halts * check patch status * add machine translations for new strings

* update OmnipodKit: fix Silence End time UI #172 & #173; localize tab colors

* update Loop: fix crash on restart, wait until files and APNS registration are available

* update EversenseKit: PR #60, #63 and #62;
* fix: restore transmitter across app launches;
* configure a restored peripheral once the central is powered on
* log missing delegate at debug level
* fix: make the test target compile again
* fix: vibration toggles for Transmitter

* updated OmnipodKit: fix eager-connect, when-open, noticed with 1-min Eversense BLE waking of app

* update LoopKit: Let device managers record analytics events through their delegate

* update Loop: Forward device manager analytics events to the analytics services

* update to fastlane 2.240.1, fixes security warning for rubyzip

* update GitHub actions: use xcode-27 and ubuntu-26.04 for all yml files

* update Eversense: fix 365 handshake recovery PR 65

* update submodule translations: from lokalise on Sat Oct  3 09:14:39 PDT 2026

* update Scripts to used OmnipodKit dev branch for releases

* update OmnipodKit, translations from lokalise on Sat Oct  3 09:14:39 PDT 2026

* update OmnipodKit: Report pod pairing and pod end as analytics and pump events

---------

Co-authored-by: Pete Schwamb <pete@schwamb.net>
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.

2 participants