Skip to content

Commit

Permalink
Added aarch64 workflow
Browse files Browse the repository at this point in the history
Given that the vast majority of our target devices use the aarch64 ISA,
it would be beneficial to run a build and test using that architecture.
Since Github runners use x64, we have to use qemu to emulate both the
build and test environment. There is a signifact performance penalty
when using qemu. It might be possible to do the build using the
aarch64-unknown-linux-gnu toolchain on x64 and just run the unit tests
in the qemu environment, but it would require the sysroot and rootfs to
be binary compatible.
  • Loading branch information
StefanBossbaly committed Jan 17, 2024
1 parent 3ea8e3f commit 3a62641
Showing 1 changed file with 32 additions and 0 deletions.
32 changes: 32 additions & 0 deletions .github/workflows/Build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,3 +76,35 @@ jobs:
with:
append: true
path: current_coverage.md

build_and_test_aarch64:
name: Build and Test on aarch64
runs-on: ubuntu-22.04
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Build and Test
uses: uraimo/run-on-arch-action@v2.5.1
id: build_and_test
with:
arch: aarch64
distro: ubuntu22.04
githubToken: ${{ github.token }}
install: |
apt-get update -q -y
apt-get install -q -y --no-install-recommends \
ca-certificates \
curl \
pkg-config \
build-essential \
libssl-dev
curl --proto '=https' -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain 1.69.0 --component "rustfmt, clippy"
run: |
source "$HOME/.cargo/env"
export CARGO_REGISTRIES_CRATES_IO_PROTOCOL=sparse
cargo --version --verbose
rustc --version
cargo clippy --version
cargo fmt -- --check
cargo clippy --tests --examples --all-targets --all-features -- -D warnings
cargo test

0 comments on commit 3a62641

Please sign in to comment.