Properly uses the action workflow tools that were in use before. By using the rust installer action, to also install the tools I need.
Setup to use the cargo-cache installer for cargo-cross rather than a manual install, this should allow caching between runs
- name:Crosscompile for aarch64 linux, windows, macos
uses:zijiren233/cargo-cross@v1
with:
targets:|
aarch64-unknown-linux-musl
aarch64-unknown-linux-gnu
cross_build_windows:
name:Cross-Build-Windows
runs-on:ubuntu-latest
needs:[lint, build]
steps:
- name:Checkout Project
uses:actions/checkout@v5
- name:Setup Rust
uses:dtolnay/rust-toolchain@stable
- name:Crosscompile for targets
uses:zijiren233/cargo-cross@v1
with:
targets:|
x86_64-pc-windows-gnu
cross_Build_osx:
name:Cross-Build-MacOS
runs-on:ubuntu-latest
needs:[lint, build]
steps:
- name:Checkout Project
uses:actions/checkout@v5
- name:Setup Rust
uses:dtolnay/rust-toolchain@stable
# CrossCheck for MacOS first, which checks for a valid rust project on MacOS
- name:Crosscheck for MacOS
uses:zijiren233/cargo-cross@v1
with:
command:check
targets:|
aarch64-apple-darwin
# MacOS is known for having a problematic linker step from linux, we should not fail the job if this fails, but this Workflow ALSO has the seperate cargo check
- name:Crosscompile for targets
continue-on-error:true
uses:zijiren233/cargo-cross@v1
with:
targets:|
aarch64-apple-darwin
test_linux:
name:Test
runs-on:ubuntu-latest
needs:[build, lint]
steps:
- name:Checkout Project
uses:actions/checkout@v5
- name:Setup Rust
uses:dtolnay/rust-toolchain@stable
with:
targets:x86_64-unknown-linux-musl
- name:Test for Linux x86 (GNU and MUSL)
run:|
cargo test --target x86_64-unknown-linux-gnu --release --locked
cargo test --target x86_64-unknown-linux-musl --release --locked
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.