Skip to content

Commit 8398d50

Browse files
committed
fix: prefer stable xcode for ios ci
1 parent 8a3c552 commit 8398d50

2 files changed

Lines changed: 26 additions & 6 deletions

File tree

.github/workflows/electron-release.yml

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -275,11 +275,16 @@ jobs:
275275
shell: bash
276276
run: |
277277
set -euo pipefail
278-
CANDIDATES="$(find /Applications -maxdepth 1 -type d \( -name 'Xcode_26*.app' -o -name 'Xcode-26*.app' \) | sort -r)"
279-
if [[ -z "$CANDIDATES" && -d /Applications/Xcode.app ]]; then
278+
CANDIDATES=""
279+
if [[ -d /Applications/Xcode.app ]]; then
280280
CANDIDATES="/Applications/Xcode.app"
281281
fi
282+
EXTRA_CANDIDATES="$(find /Applications -maxdepth 1 -type d \( -name 'Xcode_26*.app' -o -name 'Xcode-26*.app' \) ! -name 'Xcode.app' | sort -r)"
283+
if [[ -n "$EXTRA_CANDIDATES" ]]; then
284+
CANDIDATES="${CANDIDATES:+${CANDIDATES}"$'\n'}${EXTRA_CANDIDATES}"
285+
fi
282286
SELECTED_XCODE_APP=""
287+
BETA_FALLBACK=""
283288
while IFS= read -r XCODE_APP; do
284289
[[ -n "$XCODE_APP" ]] || continue
285290
DEV_DIR="$XCODE_APP/Contents/Developer"
@@ -292,10 +297,15 @@ jobs:
292297
fi
293298
echo "Candidate: $XCODE_APP, Xcode ${XCODE_VERSION:-unknown}, iPhoneOS SDK ${SDK_VERSION:-missing}, platform installed: $HAS_PLATFORM"
294299
if [[ "$XCODE_VERSION" == 26.* && "$SDK_VERSION" == 26.* && "$HAS_PLATFORM" == "yes" ]]; then
300+
if [[ "$(basename "$XCODE_APP" | tr '[:upper:]' '[:lower:]')" == *beta* ]]; then
301+
[[ -n "$BETA_FALLBACK" ]] || BETA_FALLBACK="$XCODE_APP"
302+
continue
303+
fi
295304
SELECTED_XCODE_APP="$XCODE_APP"
296305
break
297306
fi
298307
done <<< "$CANDIDATES"
308+
[[ -n "$SELECTED_XCODE_APP" ]] || SELECTED_XCODE_APP="$BETA_FALLBACK"
299309
[[ -n "$SELECTED_XCODE_APP" ]] || { echo "No Xcode 26 installation with iPhoneOS 26 SDK platform found under /Applications"; exit 1; }
300310
sudo xcode-select -s "$SELECTED_XCODE_APP/Contents/Developer"
301311
XCODE_VERSION="$(xcodebuild -version | awk 'NR==1 {print $2}')"
@@ -462,11 +472,16 @@ jobs:
462472
shell: bash
463473
run: |
464474
set -euo pipefail
465-
CANDIDATES="$(find /Applications -maxdepth 1 -type d \( -name 'Xcode_26*.app' -o -name 'Xcode-26*.app' \) | sort -r)"
466-
if [[ -z "$CANDIDATES" && -d /Applications/Xcode.app ]]; then
475+
CANDIDATES=""
476+
if [[ -d /Applications/Xcode.app ]]; then
467477
CANDIDATES="/Applications/Xcode.app"
468478
fi
479+
EXTRA_CANDIDATES="$(find /Applications -maxdepth 1 -type d \( -name 'Xcode_26*.app' -o -name 'Xcode-26*.app' \) ! -name 'Xcode.app' | sort -r)"
480+
if [[ -n "$EXTRA_CANDIDATES" ]]; then
481+
CANDIDATES="${CANDIDATES:+${CANDIDATES}"$'\n'}${EXTRA_CANDIDATES}"
482+
fi
469483
SELECTED_XCODE_APP=""
484+
BETA_FALLBACK=""
470485
while IFS= read -r XCODE_APP; do
471486
[[ -n "$XCODE_APP" ]] || continue
472487
DEV_DIR="$XCODE_APP/Contents/Developer"
@@ -479,10 +494,15 @@ jobs:
479494
fi
480495
echo "Candidate: $XCODE_APP, Xcode ${XCODE_VERSION:-unknown}, iPhoneOS SDK ${SDK_VERSION:-missing}, platform installed: $HAS_PLATFORM"
481496
if [[ "$XCODE_VERSION" == 26.* && "$SDK_VERSION" == 26.* && "$HAS_PLATFORM" == "yes" ]]; then
497+
if [[ "$(basename "$XCODE_APP" | tr '[:upper:]' '[:lower:]')" == *beta* ]]; then
498+
[[ -n "$BETA_FALLBACK" ]] || BETA_FALLBACK="$XCODE_APP"
499+
continue
500+
fi
482501
SELECTED_XCODE_APP="$XCODE_APP"
483502
break
484503
fi
485504
done <<< "$CANDIDATES"
505+
[[ -n "$SELECTED_XCODE_APP" ]] || SELECTED_XCODE_APP="$BETA_FALLBACK"
486506
[[ -n "$SELECTED_XCODE_APP" ]] || { echo "No Xcode 26 installation with iPhoneOS 26 SDK platform found under /Applications"; exit 1; }
487507
sudo xcode-select -s "$SELECTED_XCODE_APP/Contents/Developer"
488508
XCODE_VERSION="$(xcodebuild -version | awk 'NR==1 {print $2}')"

mobile/ios/App/App.xcodeproj/project.pbxproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -338,7 +338,7 @@
338338
CODE_SIGN_STYLE = Automatic;
339339
CURRENT_PROJECT_VERSION = 1;
340340
INFOPLIST_FILE = App/Info.plist;
341-
IPHONEOS_DEPLOYMENT_TARGET = 18.6;
341+
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
342342
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
343343
MARKETING_VERSION = 1.0;
344344
OTHER_SWIFT_FLAGS = "$(inherited) \"-D\" \"COCOAPODS\" \"-DDEBUG\"";
@@ -358,7 +358,7 @@
358358
CODE_SIGN_STYLE = Automatic;
359359
CURRENT_PROJECT_VERSION = 1;
360360
INFOPLIST_FILE = App/Info.plist;
361-
IPHONEOS_DEPLOYMENT_TARGET = 18.6;
361+
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
362362
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
363363
MARKETING_VERSION = 1.0;
364364
PRODUCT_BUNDLE_IDENTIFIER = com.monkeycode.mobile;

0 commit comments

Comments
 (0)