Skip to content

Require imxrt-ral

Require imxrt-ral #80

Workflow file for this run

name: CI
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
# Ensure Rust code formatting is consistent across all source code.
format:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- run: rustup toolchain install stable --no-self-update --profile minimal
- name: Check library formatting
run: cargo fmt --all --check
# Build the library for each supported chip
check:
runs-on: ubuntu-latest
strategy:
matrix:
chip: [imxrt1011, imxrt1021, imxrt1052, imxrt1062, imxrt1176_cm7]
steps:
- uses: actions/checkout@v6
- run: rustup toolchain install stable --no-self-update --profile minimal --target thumbv7em-none-eabihf
- name: Check the package with ${{ matrix.chip }}
run: cargo check --target thumbv7em-none-eabihf --features=imxrt-ral/${{ matrix.chip }}
# Lint the library
clippy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- run: rustup toolchain install stable --no-self-update --profile minimal --component clippy --target thumbv7em-none-eabihf
- name: Lint the library (all features)
run: cargo clippy --verbose --all-features --target thumbv7em-none-eabihf --features=imxrt-ral/imxrt1011 -- -D warnings
- name: Lint the library (no default features)
run: cargo clippy --verbose --target thumbv7em-none-eabihf --features=imxrt-ral/imxrt1011 -- -D warnings
# Run unit and documentation tests for a chip
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- run: rustup toolchain install stable --no-self-update --profile minimal
- name: Run unit and documentation tests
run: cargo test --all-features --verbose
# Make sure documentation builds, and doclinks are valid
doc:
env:
RUSTDOCFLAGS: -D warnings
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- run: rustup toolchain install stable --no-self-update --profile minimal
- name: Check documentation and doclinks
run: cargo rustdoc --all-features --features=imxrt-ral/imxrt1011