CI: pre-install Rust + iOS targets to fix rustup-during-podbuild race #21

Merged
such-gitea merged 1 commits from github-such-software/hash-wallet:dev into dev 2026-05-19 11:14:58 -04:00
Owner

Build was failing with:
component download failed for rust-std-aarch64-apple-ios-sim:
could not rename downloaded file from '.../9362b66...partial' to
'.../9362b66...': No such file or directory

One of the iOS pods (likely reown_walletkit's yttrium FFI or similar)
invokes rustup mid-build to fetch iOS targets. When the pod build runs
multiple targets in parallel, multiple rustup processes race on the
same .partial download file — one finishes/renames, the next looks
for the .partial that's no longer there.

Fix: add a workflow step that runs before pod install + flutter build:

  • Install rustup if missing (idempotent — self-hosted runner persists).
  • Wipe any stale *.partial files (debris from previous racing).
  • rustup target add the three iOS triples serially.

That way the pod's mid-build rustup invocation finds everything already
installed and just no-ops.

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
Build was failing with: component download failed for rust-std-aarch64-apple-ios-sim: could not rename downloaded file from '.../9362b66...partial' to '.../9362b66...': No such file or directory One of the iOS pods (likely reown_walletkit's yttrium FFI or similar) invokes rustup mid-build to fetch iOS targets. When the pod build runs multiple targets in parallel, multiple rustup processes race on the same .partial download file — one finishes/renames, the next looks for the .partial that's no longer there. Fix: add a workflow step that runs before pod install + flutter build: - Install rustup if missing (idempotent — self-hosted runner persists). - Wipe any stale *.partial files (debris from previous racing). - rustup target add the three iOS triples serially. That way the pod's mid-build rustup invocation finds everything already installed and just no-ops. 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-19 11:14:53 -04:00
Build was failing with:
  component download failed for rust-std-aarch64-apple-ios-sim:
  could not rename downloaded file from '.../9362b66...partial' to
  '.../9362b66...': No such file or directory

One of the iOS pods (likely reown_walletkit's yttrium FFI or similar)
invokes rustup mid-build to fetch iOS targets. When the pod build runs
multiple targets in parallel, multiple rustup processes race on the
same .partial download file — one finishes/renames, the next looks
for the .partial that's no longer there.

Fix: add a workflow step that runs before pod install + flutter build:
  - Install rustup if missing (idempotent — self-hosted runner persists).
  - Wipe any stale *.partial files (debris from previous racing).
  - rustup target add the three iOS triples serially.

That way the pod's mid-build rustup invocation finds everything already
installed and just no-ops.
such-gitea merged commit 024a754c36 into dev 2026-05-19 11:14:58 -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#21