Files

18 lines
820 B
Python
Raw Permalink Normal View History

2026-09-10 09:11:55 +03:00
"""Select an available iPhone from simctl JSON; print a GitHub environment entry."""
import json
import sys
import uuid
with open(sys.argv[1], encoding="utf-8") as stream:
runtimes = json.load(stream)["devices"]
sdk_version = sys.argv[2] if len(sys.argv) > 2 else None
2026-09-10 09:11:55 +03:00
for runtime in sorted(runtimes, reverse=True):
if ".iOS-" not in runtime or (sdk_version and not runtime.endswith(".iOS-" + sdk_version.replace(".", "-"))):
2026-09-10 09:11:55 +03:00
continue
for device in runtimes[runtime]:
if device.get("isAvailable") and device.get("name", "").startswith("iPhone"):
uuid.UUID(device["udid"]) # Validate without changing the case expected by xcodebuild.
print("SIMULATOR_ID=" + device["udid"])
2026-09-10 09:11:55 +03:00
sys.exit(0)
sys.exit("No available iPhone simulator in selected Xcode runtime.")