forked from github-such-software/hash-wallet
CI: conditional Flutter install + concurrency + wget→curl for Mac runner #15
Reference in New Issue
Block a user
Delete Branch "github-such-software/hash-wallet:dev"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
iOS workflows were broken on the Mac mini runner because Flutter
wasn't installed. Three fixes:
Conditional Flutter setup. Check 'flutter --version' first; only
pull subosito/flutter-action@v2 if missing or wrong version. Self-
hosted Mac runner persists SDKs between runs, so steady-state is
zero-cost. First run on the runner triggers a full SDK download
via subosito (with cache: true so subsequent fresh installs are
still fast).
wget → curl across all iOS workflow steps. macOS doesn't ship
wget by default; curl is always present and respects -fsSL +
redirect properly.
Concurrency groups on all four workflows. A burst of commits no
longer queues N copies of the same build — newer pushes cancel
in-flight runs on the same branch. Groups:
linux-, android-, ios-sim-, ios-testflight-
This addresses the '6 runs from one merge' issue: each commit in
the merge triggered all 3 push-listening workflows. Concurrency
cancels the earlier 3 the moment the newer commit's runs start.
CocoaPods install is also conditional (was already 'if ! command -v
pod' under the hood; just tightened the step name).
Issue Number (if Applicable): Fixes #
Description
Please include a summary of the changes and which issue is fixed / feature is added.
Pull Request - Checklist
iOS workflows were broken on the Mac mini runner because Flutter wasn't installed. Three fixes: 1) Conditional Flutter setup. Check 'flutter --version' first; only pull subosito/flutter-action@v2 if missing or wrong version. Self- hosted Mac runner persists SDKs between runs, so steady-state is zero-cost. First run on the runner triggers a full SDK download via subosito (with cache: true so subsequent fresh installs are still fast). 2) wget → curl across all iOS workflow steps. macOS doesn't ship wget by default; curl is always present and respects -fsSL + redirect properly. 3) Concurrency groups on all four workflows. A burst of commits no longer queues N copies of the same build — newer pushes cancel in-flight runs on the same branch. Groups: linux-<ref>, android-<ref>, ios-sim-<ref>, ios-testflight-<ref> This addresses the '6 runs from one merge' issue: each commit in the merge triggered all 3 push-listening workflows. Concurrency cancels the earlier 3 the moment the newer commit's runs start. 4) CocoaPods install is also conditional (was already 'if ! command -v pod' under the hood; just tightened the step name).