name: Rust
on:
push:
branches: [main]
pull_request:
env:
CARGO_TERM_COLOR: always
jobs:
build:
permissions:
checks: write
contents: read
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
target:
- aarch64-linux-android
- armv7-linux-androideabi
- x86_64-linux-android
env:
CARGO_NDK_PLATFORM: 35
steps:
- uses: actions/checkout@v6
- name: Install toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
target: ${{ matrix.target }}
- name: Install cargo-ndk
uses: taiki-e/install-action@v2
with:
tool: cargo-ndk
- name: Build
run: cargo ndk build --target ${{ matrix.target }}
- name: Build examples
run: cargo ndk build --target ${{ matrix.target }} --examples
- name: Run clippy
uses: actions-rs/clippy-check@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
args: --target ${{ matrix.target }}
format:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Format Rust code
run: cargo fmt --all -- --check