tauri/.github/workflows
Bruno Verachten 1dbf6fd067
feat(cli): add RISC-V 64-bit pre-built binary support (#14685)
* feat(cli): add RISC-V 64-bit pre-built binary support

Add riscv64gc-unknown-linux-gnu target to the tauri-cli release workflow,
enabling pre-built binaries for RISC-V 64-bit Linux systems.

This eliminates the multi-hour QEMU compilation time that currently blocks
RISC-V adoption of Tauri apps. Native compilation on RISC-V hardware
takes ~63 minutes.

Changes:
- Add RISC-V entry to build matrix with self-hosted runner support
- Support custom `runs_on` field for matrix entries (falls back to `os`)
- Skip dtolnay/rust-toolchain and rust-cache for self-hosted runners
- Source ~/.cargo/env for self-hosted runners where Rust is pre-installed

Tested on:
- Hardware: Banana Pi F3 (RISC-V64, 16GB RAM)
- OS: Debian Trixie (required for WebKit2GTK RISC-V support)
- Build time: 1h 2m 28s
- Binary: ELF 64-bit RISC-V, 16MB stripped

* feat(cli): use cross for RISC-V cross-compilation

Switch from self-hosted runners to cross-rs for building RISC-V binaries.
This approach is simpler and doesn't require maintaining self-hosted infrastructure.

Local testing confirms cross builds a valid RISC-V binary in ~4 minutes.

* refactor(cli): address review feedback for RISC-V workflow

- Skip Rust toolchain and cache setup for cross builds (unnecessary)
- Pin cross version to 0.2.5 for reproducibility
- Fix Linux dependencies condition to match ubuntu-* variants
2025-12-29 10:21:49 -03:00
..
audit.yml ci: remove redundant corepack enable (#13203) 2025-04-11 09:04:19 -03:00
bench.yml
check-change-tags.yml
check-generated-files.yml chore: check generated file on package lock change (#13641) 2025-06-20 20:13:16 +08:00
check-license-header.yml
covector-comment-on-fork.yml
covector-status.yml
covector-version-or-publish.yml ci: don't cache pnpm files in version-or-publish workflow (#14392) 2025-10-30 10:25:12 +01:00
deploy-schema-worker.yml
docker.yml ci: remove redundant corepack enable (#13203) 2025-04-11 09:04:19 -03:00
fmt.yml ci: remove redundant corepack enable (#13203) 2025-04-11 09:04:19 -03:00
lint-js.yml ci: remove redundant corepack enable (#13203) 2025-04-11 09:04:19 -03:00
lint-rust.yml chore(ci): tweak workflow name reference in paths list 2025-05-01 09:20:52 -03:00
publish-cli-js.yml fix(ci): ubuntu 20.04 no longer exists (#13240) 2025-04-15 17:45:05 -03:00
publish-cli-rs.yml feat(cli): add RISC-V 64-bit pre-built binary support (#14685) 2025-12-29 10:21:49 -03:00
supply-chain.yml
test-android.yml ci: remove redundant corepack enable (#13203) 2025-04-11 09:04:19 -03:00
test-cli-js.yml ci: remove redundant corepack enable (#13203) 2025-04-11 09:04:19 -03:00
test-cli-rs.yml
test-core.yml fix(tauri): build without the wry feature flag (#14039) 2025-08-19 07:42:41 -03:00
udeps.yml