Skip to content

Commit

Permalink
Build rust images for ARM64 & use cargo binstall for faster build t…
Browse files Browse the repository at this point in the history
…ime (#120)

* Also build rust on arm64

* rust: use cargo-binstall for performance

Since linux/arm64 images are built using QEMU, the compilation of bindgen-cli, cbindgen, cargo-audit & cargo-outdated takes a very long time, especially on Ubuntu 20.04 (more than 6 hours, for the combination of both architectures on one job). This exceeds the github actions time-limit.

So, we'll just use pre-built binaries using cargo-binstall where possible.
  • Loading branch information
cfstras committed Jan 2, 2024
1 parent ec09e6e commit 3150f2e
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 2 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/build-ubuntu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -229,7 +229,7 @@ jobs:
TYPE: js
- PLATFORMS: linux/amd64,linux/arm64
TYPE: pwsh
- PLATFORMS: linux/amd64
- PLATFORMS: linux/amd64,linux/arm64
TYPE: rust
- PLATFORMS: linux/amd64,linux/arm64
TYPE: dotnet
Expand Down
6 changes: 5 additions & 1 deletion linux/ubuntu/scripts/rust.sh
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,11 @@ source "${CARGO_HOME}/env"

rustup component add rustfmt clippy

cargo install --locked bindgen-cli cbindgen cargo-audit cargo-outdated
printf "\n\t🐋 Installing cargo-binstall 🐋\t\n"
# Pinned to commit-hash for latest release v1.4.7 to prevent accidental problems
curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/f6a95fa733be466c0e66c360f52e1d6998e47f25/install-from-binstall-release.sh | bash

cargo binstall -y bindgen-cli cbindgen cargo-audit cargo-outdated

chmod -R 777 "$(dirname "${RUSTUP_HOME}")"

Expand Down

0 comments on commit 3150f2e

Please sign in to comment.