Move CI to Xcode 27 and select an available secondary simulator
This commit is contained in:
@@ -15,7 +15,7 @@ concurrency:
|
||||
|
||||
jobs:
|
||||
simulator:
|
||||
runs-on: macos-15
|
||||
runs-on: xcode-27
|
||||
timeout-minutes: 25
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
@@ -24,6 +24,7 @@ jobs:
|
||||
- name: Inspect toolchain and project
|
||||
run: |
|
||||
xcodebuild -version
|
||||
xcodebuild -version | head -n 1 | grep -E "^Xcode 27([.]|$)"
|
||||
swift --version
|
||||
python3 tools/validate_project.py
|
||||
xcodebuild -list -project MusicBridge.xcodeproj
|
||||
@@ -94,7 +95,7 @@ jobs:
|
||||
sleep 1
|
||||
xcrun simctl io "$SIMULATOR_ID" screenshot build/live-card-light-screen.png
|
||||
RUNTIME=$(python3 -c 'import json,os; d=json.load(open("/tmp/musicbridge-simulators.json")); print(next(k for k,v in d["devices"].items() if any(x["udid"]==os.environ["SIMULATOR_ID"] for x in v)))')
|
||||
COMPACT_ID=$(xcrun simctl create MusicBridge-Compact com.apple.CoreSimulator.SimDeviceType.iPhone-SE-3rd-generation "$RUNTIME")
|
||||
COMPACT_ID=$(python3 -c 'import json,os; d=json.load(open("/tmp/musicbridge-simulators.json")); v=next(v for v in d["devices"].values() if any(x["udid"]==os.environ["SIMULATOR_ID"] for x in v)); candidates=[x for x in v if x.get("isAvailable") and x.get("name", "").startswith("iPhone") and x["udid"]!=os.environ["SIMULATOR_ID"]]; print(min(candidates,key=lambda x:("Max" in x["name"] or "Plus" in x["name"], "Pro" in x["name"], x["name"]))["udid"])')
|
||||
xcrun simctl bootstatus "$COMPACT_ID" -b
|
||||
xcrun simctl install "$COMPACT_ID" DerivedData/Build/Products/Debug-iphonesimulator/MusicBridge.app
|
||||
xcrun simctl launch "$COMPACT_ID" ru.yukinoki.musicbridge --preview-player
|
||||
|
||||
Reference in New Issue
Block a user