Add cross compilation
Some checks failed
Rust CI / Build and Test (push) Failing after 50s

This commit is contained in:
Joshua Coles 2024-08-01 22:41:03 +01:00
parent 2dac06cf8e
commit fe45ebe5e7

View File

@ -22,6 +22,15 @@ jobs:
toolchain: stable
profile: minimal
override: true
components: rustfmt, clippy
- name: Add ARM64 target
run: rustup target add aarch64-unknown-linux-gnu
- name: Install ARM64 toolchain
run: |
sudo apt-get update
sudo apt-get install -y gcc-aarch64-linux-gnu
- name: Cache dependencies
uses: actions/cache@v3
@ -29,18 +38,34 @@ jobs:
path: |
~/.cargo
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
key: "${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}"
restore-keys: |
${{ runner.os }}-cargo-
- name: Build
- name: Build (x86_64)
uses: actions-rs/cargo@v1
with:
command: build
args: --release --all-features
- name: Build (ARM64)
uses: actions-rs/cargo@v1
with:
command: build
args: --release --all-features --target aarch64-unknown-linux-gnu
env:
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER: aarch64-linux-gnu-gcc
- name: Run tests
uses: actions-rs/cargo@v1
with:
command: test
args: --all-features
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: binaries
path: |
target/release/${{ github.event.repository.name }}
target/aarch64-unknown-linux-gnu/release/${{ github.event.repository.name }}