Compare commits

...

3 Commits

Author SHA1 Message Date
0e97cb7824 Merge pull request 'dev' (#18) from github-such-software/hash-wallet:dev into dev
Reviewed-on: #18
2026-05-19 08:03:34 -04:00
jwinterm
bf2a35893d CI: iOS workflows clone BitBox without running Android bindings build
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.
2026-05-19 08:02:33 -04:00
jwinterm
d21c944f3f CI: manual-trigger only for all build workflows
Auto-triggers on push were noisy — every merged PR kicked off the
linux + android + ios-sim builds. Switching to workflow_dispatch only.
Trigger via Gitea Actions UI when you want a build. workflow_dispatch
runs as the authenticated user, so secrets are always present.

Adds the push trigger back when we want pre-merge gating or CI on every
commit (e.g., release-tag automation).
2026-05-19 07:57:22 -04:00
4 changed files with 33 additions and 20 deletions

View File

@@ -5,13 +5,9 @@ name: Hash Bags Android build
# - PRs targeting dev/main (gate merges) # - PRs targeting dev/main (gate merges)
# - manual via workflow_dispatch # - manual via workflow_dispatch
on: on:
# PR-from-fork triggers strip secrets in Gitea (and GitHub) for security. # Manual-only for now. Trigger via Actions → "Hash Bags Android build"
# We mirror github-such-software/hash-wallet → Builds/hash-wallet via PRs, # → Run workflow when you want a build. workflow_dispatch runs as the
# so a pull_request trigger here would always run without secrets. # triggering user, so secrets are always available (unlike PR triggers).
# Listen only to push events on the destination branch (post-merge) so
# secrets are reliably available.
push:
branches: [dev, main]
workflow_dispatch: workflow_dispatch:
concurrency: concurrency:

View File

@@ -8,9 +8,8 @@ name: Hash Bags iOS Simulator build
# Phase 2 (separate workflow): full TestFlight pipeline with signing. # Phase 2 (separate workflow): full TestFlight pipeline with signing.
on: on:
# See note in build-android.yml about Gitea PR-from-fork secret stripping. # Manual-only for now. Trigger via Actions → "Hash Bags iOS Simulator
push: # build" → Run workflow when you want a build.
branches: [dev, main]
workflow_dispatch: workflow_dispatch:
# Cancel in-flight runs when a newer commit lands on the same branch — so a # Cancel in-flight runs when a newer commit lands on the same branch — so a
@@ -126,11 +125,23 @@ jobs:
rm reown_flutter.tar.gz rm reown_flutter.tar.gz
popd popd
- name: Clone BitBox Flutter - name: Clone BitBox Flutter (iOS — skip Android bindings)
run: | 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 set -x -e
pushd scripts 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 popd
# ---- Native crypto cores (monero_c prebuilt bundle) ------------------ # ---- Native crypto cores (monero_c prebuilt bundle) ------------------

View File

@@ -127,11 +127,20 @@ jobs:
rm reown_flutter.tar.gz rm reown_flutter.tar.gz
popd popd
- name: Clone BitBox Flutter - name: Clone BitBox Flutter (iOS — skip Android bindings)
run: | 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 set -x -e
pushd scripts 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 popd
- name: Fetch prebuilt monero_c bundle - name: Fetch prebuilt monero_c bundle

View File

@@ -5,12 +5,9 @@ name: Hash Bags Linux build
# - on PRs targeting dev/main (gates merges) # - on PRs targeting dev/main (gates merges)
# - manual via workflow_dispatch ("Run workflow" button in the UI) # - manual via workflow_dispatch ("Run workflow" button in the UI)
on: on:
# See note in build-android.yml about pull_request vs push triggers and # Manual-only for now — auto-run on every push was too noisy. Trigger
# Gitea Actions' from-fork secret stripping. Push-only here too for # via Actions → "Hash Bags Linux build" → Run workflow when you want a
# consistency (no secrets are required for Linux build today, but if we # build. Add `push:` back here if/when we want pre-merge validation.
# add any in future this avoids surprises).
push:
branches: [dev, main]
workflow_dispatch: workflow_dispatch:
concurrency: concurrency: