Skip to content

Merge pull request #22 from atlas-aero/21-add-check-for-ram-memory-ac… #79

Merge pull request #22 from atlas-aero/21-add-check-for-ram-memory-ac…

Merge pull request #22 from atlas-aero/21-add-check-for-ram-memory-ac… #79

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@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