#29 optimize tx/rx fifo check #122
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: QA | |
on: | |
push: | |
pull_request: | |
env: | |
CARGO_TERM_COLOR: always | |
RUST_BACKTRACE: full | |
jobs: | |
test: | |
name: Tests | |
strategy: | |
fail-fast: false | |
matrix: | |
os: | |
- ubuntu-latest | |
rust: | |
- stable | |
- beta | |
- nightly | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
- name: Install Rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: ${{ matrix.rust }} | |
default: true | |
profile: minimal | |
- name: Restore cache | |
uses: Swatinem/rust-cache@v2 | |
- name: Build & test | |
env: | |
RUST_VERSION: ${{ matrix.rust }} | |
OS: ${{ matrix.os }} | |
RUSTFLAGS: -D warnings | |
run: cargo test --features strict | |
- name: Build default features | |
run: cargo build --release --features strict | |
build: | |
name: Build for no_std thumbv7m target | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
target: | |
- thumbv7m-none-eabi | |
rust: | |
- stable | |
- beta | |
- nightly | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
- name: Install Rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: ${{ matrix.rust }} | |
target: ${{ matrix.target }} | |
default: true | |
profile: minimal | |
- name: Restore cache | |
uses: Swatinem/rust-cache@v2 | |
- name: Build | |
run: cargo build --release --target ${{ matrix.target }} --features default,strict | |
example_crate_build: | |
name: Build example crate for no_std thumbv6m | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
target: | |
- thumbv6m-none-eabi | |
rust: | |
- stable | |
- beta | |
- nightly | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
- name: Install Rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: ${{ matrix.rust }} | |
target: ${{ matrix.target }} | |
default: true | |
profile: minimal | |
- name: Restore cache | |
uses: Swatinem/rust-cache@v2 | |
- name: Build | |
run: cargo build --release --target ${{ matrix.target }} --manifest-path example/Cargo.toml | |
code_style: | |
name: Check code style | |
runs-on: ubuntu-latest | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
- name: Install Rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
default: true | |
components: rustfmt | |
- run: cargo fmt --all -- --check | |
documentation: | |
name: Check documentation | |
runs-on: ubuntu-latest | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
- name: Install Rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
default: true | |
- name: Restore cache | |
uses: Swatinem/rust-cache@v2 | |
- name: Check documentation | |
run: cargo rustdoc -- -D warnings | |
clippy: | |
name: Linting | |
runs-on: ubuntu-latest | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
- name: Install Rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
default: true | |
- name: Restore cache | |
uses: Swatinem/rust-cache@v2 | |
- name: Clippy | |
run: cargo clippy --all-targets --all-features -- -D warnings |