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

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:
Millian Lamiaux
2026-07-04 18:50:12 +02:00
parent 807361449b
commit b956e5189b

View File

@@ -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