Replace setup-xcode with DEVELOPER_DIR-based fork#847
Conversation
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.
🤖 Augment PR SummarySummary: This PR switches CI from a local, Changes:
Technical Notes: The new approach avoids global 🤖 Was this summary useful? React with 👍 or 👎 |
| - name: Setup Xcode | ||
| uses: ./.github/actions/setup-xcode | ||
| uses: OpenSwiftUIProject/setup-xcode@v2 | ||
| with: |
There was a problem hiding this comment.
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
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
Codecov Report✅ All modified and coverable lines are covered by tests. 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. 🚀 New features to boost your workflow:
|
Summary
.github/actions/setup-xcode/composite actionmaxim-lobanov/setup-xcodetoOpenSwiftUIProject/setup-xcode, cherry-pick DEVELOPER_DIR support fromnomasystems/action-xcode-selectOpenSwiftUIProject/setup-xcode@v2across all workflowsMotivation
The old approach relied on
sudo xcode-select -swhich modifies global state and causes issues on self-hosted runners. The new fork:DEVELOPER_DIRenv var (process-level, no sudo)version.plist(not bundle name), handling naming variations likeXcode_16.4.appvsXcode_16.4.0.appTest plan