From 39a49da5676fbb25b24f27f8bced1b92633f685e Mon Sep 17 00:00:00 2001 From: enricobuehler Date: Sat, 13 Jun 2026 14:51:09 +0000 Subject: [PATCH] fix(ci/release): skip iOS archive cleanly when the iOS SDK is absent MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The macOS Developer ID DMG path is green (signed + notarized + stapled). The iOS/TestFlight step (already best-effort + continue-on-error) was failing on this runner with 'iOS 26.5 is not installed' — the iOS platform SDK is a separate Xcode component that isn't installed. Guard the step on `xcodebuild -showsdks | grep iphoneos` and exit 0 with a warning when it's missing, so runs are unambiguously green. Install on the runner with `xcodebuild -downloadPlatform iOS` when iOS goes live. Co-Authored-By: Claude Opus 4.8 (1M context) --- .gitea/workflows/release.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index 5debb67..5c72416 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -218,6 +218,14 @@ jobs: # is done so real upload failures fail the run. continue-on-error: true run: | + # The iOS platform SDK is a separate Xcode component and isn't installed on every + # runner; without it `archive` dies with "iOS 26.5 is not installed". Skip cleanly + # (this is best-effort anyway) instead of a red step — install it on the runner with + # `xcodebuild -downloadPlatform iOS` when iOS/TestFlight is ready to go live. + if ! DEVELOPER_DIR="$XCODE_DEV_DIR" xcodebuild -showsdks 2>/dev/null | grep -q iphoneos; then + echo "::warning::iOS platform SDK not installed on this runner — skipping iOS/TestFlight." + exit 0 + fi DEVELOPER_DIR="$XCODE_DEV_DIR" xcodebuild archive \ -project "$PROJECT" -scheme Punktfunk-iOS \ -destination 'generic/platform=iOS' \