Skip to content

#4: Migrated to embedded-hal v1 #34

#4: Migrated to embedded-hal v1

#4: Migrated to embedded-hal v1 #34

Workflow file for this run

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