ci: fix aarch64 cross-compilation for BoringSSL (boring-sys2)

boring-sys2 builds BoringSSL from C source via cmake. For aarch64 cross-
compilation, we need g++, cmake, and CC/CXX env vars pointing to the
cross-compiler. Also removed stale reqwest_unstable RUSTFLAG.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Valerio 2026-04-01 18:39:43 +02:00
parent a1b9a55048
commit b4800e681c

View file

@ -10,7 +10,6 @@ permissions:
env:
CARGO_TERM_COLOR: always
RUSTFLAGS: "--cfg reqwest_unstable"
jobs:
build:
@ -41,12 +40,22 @@ jobs:
key: ${{ matrix.target }}
# Cross-compilation support for aarch64-linux
# boring-sys2 builds BoringSSL from C source via cmake — needs cross-compiler + cmake
- name: Install cross-compilation tools
if: matrix.target == 'aarch64-unknown-linux-gnu'
run: |
sudo apt-get update
sudo apt-get install -y gcc-aarch64-linux-gnu
sudo apt-get install -y gcc-aarch64-linux-gnu g++-aarch64-linux-gnu cmake
echo "CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc" >> $GITHUB_ENV
echo "CC_aarch64_unknown_linux_gnu=aarch64-linux-gnu-gcc" >> $GITHUB_ENV
echo "CXX_aarch64_unknown_linux_gnu=aarch64-linux-gnu-g++" >> $GITHUB_ENV
echo "CMAKE_SYSTEM_NAME=Linux" >> $GITHUB_ENV
echo "CMAKE_SYSTEM_PROCESSOR=aarch64" >> $GITHUB_ENV
# BoringSSL build tools for native targets
- name: Install cmake
if: matrix.target != 'aarch64-unknown-linux-gnu' && runner.os == 'Linux'
run: sudo apt-get update && sudo apt-get install -y cmake
- name: Build
run: cargo build --release --target ${{ matrix.target }}