From bf2a35893d7ffda42d3199177875fb5df8a8988f Mon Sep 17 00:00:00 2001 From: jwinterm Date: Tue, 19 May 2026 08:02:33 -0400 Subject: [PATCH] CI: iOS workflows clone BitBox without running Android bindings build MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit build_bindings.sh in bitbox_flutter unconditionally runs 'gomobile bind -target=android -androidapi 24' which produces an api.aar — needed only for Android. The Mac runner has no Android SDK, so gomobile fails with 'could not locate Android SDK'. iOS doesn't need the .aar. BitBox's iOS support is a separate native plugin under bitbox_flutter/ios/Classes/ + bitbox_flutter.podspec, linked via flutter pub get + pod install. We just need the directory present so the path-dep resolves. Replace the wrapper invocation in iOS workflows with the clone steps only; skip build_bindings.sh entirely. Android workflow keeps using the wrapper as-is. --- .github/workflows/build-ios-sim.yml | 16 ++++++++++++++-- .github/workflows/build-ios-testflight.yml | 13 +++++++++++-- 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-ios-sim.yml b/.github/workflows/build-ios-sim.yml index f5a934be9..6bd3718b1 100644 --- a/.github/workflows/build-ios-sim.yml +++ b/.github/workflows/build-ios-sim.yml @@ -125,11 +125,23 @@ jobs: rm reown_flutter.tar.gz popd - - name: Clone BitBox Flutter + - name: Clone BitBox Flutter (iOS — skip Android bindings) run: | + # Pubspec has bitbox_flutter as a path: dep at scripts/bitbox_flutter, + # so the directory must exist for pub get. The bundled build_bindings.sh + # runs `gomobile bind -target=android` which needs the Android SDK we + # don't have on the Mac runner — and the resulting .aar is Android-only. + # iOS uses bitbox_flutter's native ios/Classes plugin, no .aar required. set -x -e pushd scripts - ./build_bitbox_flutter.sh + if [[ ! -d bitbox_flutter ]]; then + git clone https://github.com/konstantinullrich/bitbox_flutter + fi + cd bitbox_flutter + git fetch -a + git reset --hard + git checkout 5a6e6dd388ef64003f86094af80d5453518b601d + git reset --hard popd # ---- Native crypto cores (monero_c prebuilt bundle) ------------------ diff --git a/.github/workflows/build-ios-testflight.yml b/.github/workflows/build-ios-testflight.yml index 27e818cdd..f24926530 100644 --- a/.github/workflows/build-ios-testflight.yml +++ b/.github/workflows/build-ios-testflight.yml @@ -127,11 +127,20 @@ jobs: rm reown_flutter.tar.gz popd - - name: Clone BitBox Flutter + - name: Clone BitBox Flutter (iOS — skip Android bindings) run: | + # See note in build-ios-sim.yml — iOS uses bitbox's native plugin, + # not the .aar that build_bindings.sh generates. set -x -e pushd scripts - ./build_bitbox_flutter.sh + if [[ ! -d bitbox_flutter ]]; then + git clone https://github.com/konstantinullrich/bitbox_flutter + fi + cd bitbox_flutter + git fetch -a + git reset --hard + git checkout 5a6e6dd388ef64003f86094af80d5453518b601d + git reset --hard popd - name: Fetch prebuilt monero_c bundle