CI: conditional Flutter install + concurrency + wget→curl for Mac runner #15

Merged
such-gitea merged 1 commits from github-such-software/hash-wallet:dev into dev 2026-05-18 21:31:08 -04:00
Owner

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-, 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.

  4. 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

  • Initial Manual Tests Passed
  • Double check modified code and verify it with the feature/task requirements
  • Format code
  • Look for code duplication
  • Clear naming for variables and methods
  • Manual tests in accessibility mode (TalkBack on Android) passed
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). Issue Number (if Applicable): Fixes # # Description Please include a summary of the changes and which issue is fixed / feature is added. # Pull Request - Checklist - [ ] Initial Manual Tests Passed - [ ] Double check modified code and verify it with the feature/task requirements - [ ] Format code - [ ] Look for code duplication - [ ] Clear naming for variables and methods - [ ] Manual tests in accessibility mode (TalkBack on Android) passed
such-gitea added 1 commit 2026-05-18 21:31:02 -04:00
CI: conditional Flutter install + concurrency + wget→curl for Mac runner
Some checks failed
Hash Wallet Android build / build (pull_request) Failing after 3m42s
Hash Wallet Linux build / build (pull_request) Successful in 10m22s
Hash Wallet iOS Simulator build / build (pull_request) Failing after 58m8s
93744af5ba
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).
such-gitea merged commit cf440ace0d into dev 2026-05-18 21:31:08 -04:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Builds/hash-wallet#15