Skip to content

Fix CircleCI config: declare version 2.1 and build with Xcode 27 - #520

Open
ps2 wants to merge 7 commits into
devfrom
ci/circleci-config-2.1
Open

ps2 wants to merge 7 commits into
devfrom
ci/circleci-config-2.1

Conversation

@ps2

@ps2 ps2 commented Oct 5, 2026 •

Copy link
Copy Markdown
Contributor

CircleCI retired configuration version 2 at the end of September. This repo's .circleci/config.yml never declared version: 2.1, so every pipeline since Sept 30 errored at config validation before running a step:

Config version 2 has reached end of life. Please upgrade to version 2.1.

That includes the pipelines for the 3.14.9 merge into dev (#504) and for every branch pushed since. LoopKit's config already declares 2.1, which is why its builds kept running.

Changes:

  • declare version: 2.1 and drop the obsolete workflows: version: 2 key

  • build with the Xcode 27.0 image, matching the browser build workflows and current development

  • bump LoopKit to include Adopt the scene lifecycle in the LoopKit Example app LoopKit#632, which adopts the scene lifecycle in the LoopKit Example test host; without it the iOS 27 SDK traps that app at launch and LoopKitHostedTests never runs

  • keep the raw xcodebuild logs as artifacts, since xcbeautify hides xcodebuild's own messages

  • pass -collect-test-diagnostics never: with every test passing, xcodebuild still spent 600 seconds failing to collect simulator diagnostics, and CircleCI's ten-minute no-output limit killed the step one second before it would have exited (builds 1223 to 1225)

  • keep simulator crash reports as artifacts, for the intermittent host crash seen in build 1228 (being hardened in Fail hosted store tests on a short result instead of crashing the host LoopKit#633)

Status (build 1229): green. All eleven test bundles pass and the job completes in 4 minutes.

CircleCI retired configuration version 2 at the end of September, so
every pipeline since then has errored before running a single step.
Declaring version 2.1 restores the builds. The image moves to Xcode 27
to match the browser build and local development.
marionbarker and others added 2 commits October 6, 2026 15:33
xcbeautify hides xcodebuild's own progress messages, so when the test
step went silent for ten minutes after the last bundle finished there
was nothing to say why. Tee the raw output to files and store them.
With every test passing, xcodebuild still spent 600 seconds trying to
collect simulator diagnostics and timed out, and CircleCI's ten-minute
no-output limit killed the step one second earlier. The raw log from
the previous run shows it. Diagnostics are not useful on CI anyway; the
junit report and the raw log are what we read.
marionbarker and others added 2 commits October 6, 2026 20:42
A test host crashed with an index out of range on CI but not locally,
and without the crash report there is no stack to read.
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