#9: Added example for thumbv6 target RP2040 #8
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 | |
no_std_atomics_builds: | |
name: Build no_std targets with atomics support | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
target: | |
- thumbv7m-none-eabi | |
rust: | |
- stable | |
- beta | |
- nightly | |
feature: | |
- default | |
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 ${{ matrix.feature }},strict | |
no_std_no_atomics_builds: | |
name: Build no_std targets without full atomics support | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
target: | |
- thumbv7m-none-eabi | |
rust: | |
- stable | |
- beta | |
- nightly | |
feature: | |
- default | |
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 ${{ matrix.feature }},strict | |
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 |