Skip to content

Replace setup-xcode with DEVELOPER_DIR-based fork#847

Merged
Kyle-Ye merged 1 commit intomainfrom
feature/replace-setup-xcode-with-developer-dir
Mar 25, 2026
Merged

Replace setup-xcode with DEVELOPER_DIR-based fork#847
Kyle-Ye merged 1 commit intomainfrom
feature/replace-setup-xcode-with-developer-dir

Conversation

@Kyle-Ye
Copy link
Collaborator

@Kyle-Ye Kyle-Ye commented Mar 25, 2026

Summary

  • Remove the local .github/actions/setup-xcode/ composite action
  • Fork maxim-lobanov/setup-xcode to OpenSwiftUIProject/setup-xcode, cherry-pick DEVELOPER_DIR support from nomasystems/action-xcode-select
  • Use OpenSwiftUIProject/setup-xcode@v2 across all workflows

Motivation

The old approach relied on sudo xcode-select -s which modifies global state and causes issues on self-hosted runners. The new fork:

  • Uses DEVELOPER_DIR env var (process-level, no sudo)
  • Resolves Xcode paths by reading version.plist (not bundle name), handling naming variations like Xcode_16.4.app vs Xcode_16.4.0.app

Test plan

  • macOS CI passes
  • iOS CI passes
  • UI Tests CI passes
  • Compatibility Tests CI passes

Our fork uses DEVELOPER_DIR env instead of sudo xcode-select -s,
which avoids self-hosted runner global state issues. It also resolves
Xcode paths by reading version.plist (not bundle name), so it handles
naming variations like Xcode_16.4.app vs Xcode_16.4.0.app correctly.

Cherry-picked DEVELOPER_DIR support from nomasystems/action-xcode-select
onto maxim-lobanov/setup-xcode and published as OpenSwiftUIProject/setup-xcode@v2.
@augmentcode
Copy link

augmentcode bot commented Mar 25, 2026

🤖 Augment PR Summary

Summary: This PR switches CI from a local, xcode-select-based Xcode setup to an org-maintained setup-xcode fork that selects Xcode via DEVELOPER_DIR.

Changes:

  • Removed the local .github/actions/setup-xcode composite action
  • Updated composite actions and CI workflows to use OpenSwiftUIProject/setup-xcode@v2
  • Applied the change across macOS, iOS, UI tests, and compatibility test workflows

Technical Notes: The new approach avoids global sudo xcode-select -s changes (safer on self-hosted runners) and resolves Xcode locations based on version.plist to handle app bundle naming variations.

🤖 Was this summary useful? React with 👍 or 👎

Copy link

@augmentcode augmentcode bot left a comment

Choose a reason for hiding this comment

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

Review completed. 1 suggestion posted.

Fix All in Augment

Comment augment review to trigger a new review at any time.

- name: Setup Xcode
uses: ./.github/actions/setup-xcode
uses: OpenSwiftUIProject/setup-xcode@v2
with:
Copy link

Choose a reason for hiding this comment

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

Using OpenSwiftUIProject/setup-xcode@v2 as a floating tag means CI behavior could change if the tag ever moves; consider pinning to an immutable reference (e.g., a commit SHA) for reproducibility and supply-chain safety (also applies to the other workflow updates in this PR).

Severity: medium

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.

@Kyle-Ye Kyle-Ye merged commit fcb3abe into main Mar 25, 2026
9 of 10 checks passed
@Kyle-Ye Kyle-Ye deleted the feature/replace-setup-xcode-with-developer-dir branch March 25, 2026 18:47
@codecov
Copy link

codecov bot commented Mar 25, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 26.85%. Comparing base (89f034e) to head (d7373b2).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #847   +/-   ##
=======================================
  Coverage   26.84%   26.85%           
=======================================
  Files         671      671           
  Lines       43470    43470           
=======================================
+ Hits        11670    11673    +3     
+ Misses      31800    31797    -3     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant