NTP-Timeturner/.github/workflows/build.yml
John Rogers 465317525d fix: Fix armv7 cross-compilation build error
Co-authored-by: aider (gemini/gemini-2.5-pro-preview-05-06) <aider@aider.chat>
2025-07-10 12:41:07 +01:00

47 lines
1.3 KiB
YAML

name: Build for Raspberry Pi
on:
push:
branches:
- main
pull_request:
branches:
- main
env:
CARGO_TERM_COLOR: always
# Target for 32-bit Raspberry Pi (Raspberry Pi OS)
RUST_TARGET: armv7-unknown-linux-gnueabihf
jobs:
build:
name: Build for armv7
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
targets: ${{ env.RUST_TARGET }}
- name: Install cross-compilation dependencies
run: |
sudo dpkg --add-architecture armhf
sudo apt-get update -y
sudo apt-get install -y gcc-arm-linux-gnueabihf libudev-dev:armhf
- name: Build release binary
run: cargo build --release --target ${{ env.RUST_TARGET }}
env:
# Set linker for the target
CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_LINKER: arm-linux-gnueabihf-gcc
# Configure pkg-config for cross-compilation
PKG_CONFIG_ALLOW_CROSS: 1
PKG_CONFIG_PATH: /usr/lib/arm-linux-gnueabihf/pkgconfig
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: timeturner-armv7
path: target/${{ env.RUST_TARGET }}/release/timeturner