fix(ci): eliminate pipeline bug preventing ios-deploy fallback
Some checks failed
CI / Deploy (pull_request) Has been skipped
PR → Build → WiFi/USB Deploy → LGTM / Build & Deploy to iPhone (WiFi/USB) (pull_request) Failing after 5m44s
PR → Build → WiFi/USB Deploy → LGTM / Wait for LGTM comment (pull_request) Has been skipped
CI / Detect Changes (pull_request) Successful in 4s
CI / Admin Web CI (pull_request) Has been skipped
CI / YouTube Worker (pull_request) Has been skipped
Some checks failed
CI / Deploy (pull_request) Has been skipped
PR → Build → WiFi/USB Deploy → LGTM / Build & Deploy to iPhone (WiFi/USB) (pull_request) Failing after 5m44s
PR → Build → WiFi/USB Deploy → LGTM / Wait for LGTM comment (pull_request) Has been skipped
CI / Detect Changes (pull_request) Successful in 4s
CI / Admin Web CI (pull_request) Has been skipped
CI / YouTube Worker (pull_request) Has been skipped
When devicectl fails under bash -e -o pipefail, the pipeline (xcrun devicectl ... | tail -3) exits non-zero and -e kills the script before the if-check. The ios-deploy USB fallback was dead code. Fix: redirect to temp file, capture exit code explicitly. No pipeline = pipefail has no side-channel effect.
This commit is contained in:
6
.github/workflows/pr-iphone-deploy.yml
vendored
6
.github/workflows/pr-iphone-deploy.yml
vendored
@@ -106,8 +106,10 @@ jobs:
|
||||
|
||||
# 1. Try WiFi first (Xcode 15+ devicectl network discovery)
|
||||
echo "📱 Trying WiFi install via devicectl..."
|
||||
xcrun devicectl device install app --device "$UDID" "$APP" 2>&1 | tail -3
|
||||
if [ ${PIPESTATUS[0]} -eq 0 ]; then
|
||||
xcrun devicectl device install app --device "$UDID" "$APP" > /tmp/devicectl.log 2>&1
|
||||
DEVICECTL_EXIT=$?
|
||||
tail -10 /tmp/devicectl.log
|
||||
if [ $DEVICECTL_EXIT -eq 0 ]; then
|
||||
echo "✅ Installed via WiFi"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user