Migrated to embedded-hal v1 #35
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@v2 | |
- name: Install Rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: ${{ matrix.rust }} | |
default: true | |
profile: minimal | |
- name: Restore cache | |
uses: Swatinem/rust-cache@v1 | |
- 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 | |
- name: Build spin mutex feature | |
run: cargo build --release --features spin,strict | |
no_std_atomics_builds: | |
name: Build no_std targets with atomics support | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
target: | |
- thumbv7m-none-eabi | |
- thumbv8m.main-none-eabihf | |
- riscv32imac-unknown-none-elf | |
rust: | |
- stable | |
- beta | |
- nightly | |
feature: | |
- default | |
- spin | |
- cortex-m | |
steps: | |
- name: checkout | |
uses: actions/checkout@v2 | |
- 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@v1 | |
- name: Build | |
run: cargo build --release --target ${{ matrix.target }} --features ${{ matrix.feature }},strict | |
no_std_no_atomics_builds: | |
name: Build no_std targets without full atomics support | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
target: | |
- thumbv6m-none-eabi | |
rust: | |
- stable | |
- beta | |
- nightly | |
feature: | |
- default | |
- cortex-m | |
steps: | |
- name: checkout | |
uses: actions/checkout@v2 | |
- 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@v1 | |
- name: Build | |
run: cargo build --release --target ${{ matrix.target }} --features ${{ matrix.feature }},strict | |
code_style: | |
name: Check code style | |
runs-on: ubuntu-latest | |
steps: | |
- name: checkout | |
uses: actions/checkout@v2 | |
- 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@v2 | |
- name: Install Rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
default: true | |
- name: Restore cache | |
uses: Swatinem/rust-cache@v1 | |
- name: Check documentation | |
run: cargo rustdoc -- -D warnings | |
clippy: | |
name: Linting | |
runs-on: ubuntu-latest | |
steps: | |
- name: checkout | |
uses: actions/checkout@v2 | |
- name: Install Rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
default: true | |
- name: Restore cache | |
uses: Swatinem/rust-cache@v1 | |
- name: Clippy | |
run: cargo clippy --all-targets --all-features -- -D warnings |