name: CI
on:
pull_request:
merge_group:
jobs:
clippy:
name: Clippy
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@stable
with:
targets: aarch64-unknown-linux-gnu, riscv64gc-unknown-linux-gnu, x86_64-unknown-linux-gnu
components: clippy
- name: Clippy
run: |
cargo clippy --target aarch64-unknown-linux-gnu
cargo clippy --features loader --target aarch64-unknown-linux-gnu
cargo clippy --features kernel --target aarch64-unknown-linux-gnu
cargo clippy --all-features --target aarch64-unknown-linux-gnu
cargo clippy --target riscv64gc-unknown-linux-gnu
cargo clippy --features loader --target riscv64gc-unknown-linux-gnu
cargo clippy --features kernel --target riscv64gc-unknown-linux-gnu
cargo clippy --all-features --target riscv64gc-unknown-linux-gnu
cargo clippy --target x86_64-unknown-linux-gnu
cargo clippy --features loader --target x86_64-unknown-linux-gnu
cargo clippy --features kernel --target x86_64-unknown-linux-gnu
cargo clippy --all-features --target x86_64-unknown-linux-gnu
env:
RUSTFLAGS: -Dwarnings
doc:
name: Check documentation
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@stable
with:
targets: aarch64-unknown-linux-gnu, riscv64gc-unknown-linux-gnu, x86_64-unknown-linux-gnu
- name: Check documentation
run: |
cargo doc --all-features --target aarch64-unknown-linux-gnu
cargo doc --all-features --target riscv64gc-unknown-linux-gnu
cargo doc --all-features --target x86_64-unknown-linux-gnu
env:
RUSTDOCFLAGS: -Dwarnings
fmt:
name: Check format
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@nightly
with:
components: rustfmt
- name: Check format
run: cargo fmt -- --check
test:
name: Test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@stable
- run: cargo test --all-features