From da4ffa6f06e236151cb56ece7abe44ac57599d90 Mon Sep 17 00:00:00 2001 From: dijunkun Date: Sat, 7 Nov 2026 03:55:29 +0800 Subject: [PATCH] [fix] reuse host Python and capture iOS dependency failures --- .github/workflows/build-ios.yml | 6 +++++- apps/ios/scripts/build_minirtc_ios.sh | 7 +++++++ deps/submodules/minirtc | 2 +- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-ios.yml b/.github/workflows/build-ios.yml index 1b3bbe68..4e113e88 100644 --- a/.github/workflows/build-ios.yml +++ b/.github/workflows/build-ios.yml @@ -221,7 +221,10 @@ jobs: PLATFORM_NAME: iphoneos CURRENT_ARCH: arm64 CROSSDESK_NATIVE_VERBOSE: "1" - run: apps/ios/scripts/build_minirtc_ios.sh --configure-only + run: | + set -o pipefail + apps/ios/scripts/build_minirtc_ios.sh --configure-only 2>&1 | \ + tee "${RUNNER_TEMP}/ios-native-prepare.log" - name: Save native dependencies if: steps.native-cache-key.outputs.incremental == 'true' && steps.native-cache.outputs.cache-hit != 'true' @@ -291,6 +294,7 @@ jobs: with: name: ios-build-diagnostics-${{ github.run_id }}-${{ github.run_attempt }} path: | + ${{ runner.temp }}/ios-native-prepare.log ${{ runner.temp }}/ios-native-build.log ${{ runner.temp }}/ios-app-build.log ~/.xmake/cache/packages/**/logs/*.txt diff --git a/apps/ios/scripts/build_minirtc_ios.sh b/apps/ios/scripts/build_minirtc_ios.sh index 7ee85b41..8ff8ef27 100755 --- a/apps/ios/scripts/build_minirtc_ios.sh +++ b/apps/ios/scripts/build_minirtc_ios.sh @@ -100,6 +100,13 @@ for host_bin in "${(@s/:/)PATH}"; do XMAKE_HOST_PATH+=":${host_bin}" fi done +# MiniRTC explicitly uses host Python for its build tools. Check its modules +# before dependency resolution so a missing setup fails with an actionable error. +if ! /usr/bin/env -i HOME="${HOME}" PATH="${XMAKE_HOST_PATH}" \ + python3 -B -c 'import setuptools, wheel, pip'; then + print -u2 "Host Python 3 with pip, setuptools and wheel is required. Install them in the Python environment on PATH before building." + exit 69 +fi run_xmake() { # Match desktop repository selection: use Xmake defaults unless explicitly # overridden by the caller. Only compiled iOS packages use a separate cache. diff --git a/deps/submodules/minirtc b/deps/submodules/minirtc index ea29073d..dda03808 160000 --- a/deps/submodules/minirtc +++ b/deps/submodules/minirtc @@ -1 +1 @@ -Subproject commit ea29073daedb8e04b941a45c3deeda9750e3b8c4 +Subproject commit dda038083d712698b1ffb9969bfb7d97b366bec2