Skip to content

ci: select Xcode by version through DEVELOPER_DIR - #3545

Merged
datlechin merged 3 commits into
mainfrom
ci/setup-xcode-developer-dir
Oct 18, 2026
Merged

datlechin merged 3 commits into
mainfrom
ci/setup-xcode-developer-dir

Conversation

@datlechin

@datlechin datlechin commented Oct 18, 2026 •

Copy link
Copy Markdown
Member

Why

setup-xcode ran sudo xcode-select --switch /Applications/Xcode_27.1.app, which needs sudo, changes the machine's Xcode, and names a path only the xcode-27 image has; the self-hosted Mac has 27.1 at /Applications/Xcode.app. require-release also rejected the image's 27.1 by its folder name, Xcode_27.1_Release_Candidate.app, though it holds 27A9275, the build developer.apple.com/news/releases lists as Xcode 27.1. v0.82.0 would fail in app.

Change

  • Finds the one non-symlink /Applications/Xcode*.app whose version.plist says 27.1, as maxim-lobanov/setup-xcode does, fails on none or several, and exports DEVELOPER_DIR (man xcode-select).
  • require-release needs build 27A9275 and licenseType GM. The license alone cannot tell: the 27.1 beta, 27A9269, also says GM.
  • The Unit plan passes DEVELOPER_DIR to the test host, which gets no shell environment. Without it, /usr/bin/python3 in RemoteSQLiteAgentPipeTests resolved through the image's selected 27.0 and asked to install the Command Line Tools.
  • iOS job: xcodebuild -downloadPlatform iOS without sudo, which drops DEVELOPER_DIR, as Apple's docs and the image's installer run it.

Verified

The iOS job here logs Xcode_27.1_Release_Candidate.app: build 27A9275, licenseType GM, which require-release accepts. Locally and on a mock image layout the step refuses 27A9269 and a 27.2 beta for a release and fails on zero or two 27.1 bundles. A probe project shows the plan entry reaches the host. apple-signing needs no change: OpenSSL 4.0.3 prints the same -enddate and -checkend codes as 3.6.5.

@datlechin
datlechin merged commit 42cc24b into main Oct 18, 2026
19 checks passed
@datlechin
datlechin deleted the ci/setup-xcode-developer-dir branch October 18, 2026 23:18
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.

1 participant