Merge pull request #19 from phip1611/dependabot/github_actions/action… #108
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: Build | |
on: [ push, pull_request, merge_group ] | |
env: | |
CARGO_TERM_COLOR: always | |
jobs: | |
build: | |
runs-on: "${{ matrix.runs-on }}" | |
strategy: | |
matrix: | |
runs-on: | |
- windows-latest | |
- ubuntu-latest | |
rust: | |
- stable | |
- nightly | |
- 1.76.0 # MSVR | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Rust toolchain | |
uses: dtolnay/rust-toolchain@stable | |
with: | |
toolchain: "${{ matrix.rust }}" | |
- uses: Swatinem/rust-cache@v2 | |
with: | |
key: "${{ matrix.runs-on }}-${{ matrix.rust }}" | |
- name: Build | |
run: cargo build --all-targets --verbose --features alloc | |
# use some arbitrary no_std target | |
- name: Install no_std target thumbv7em-none-eabihf | |
run: rustup target add thumbv7em-none-eabihf | |
- name: Build (no_std) | |
run: cargo build --verbose --target thumbv7em-none-eabihf --features alloc | |
- name: Run tests | |
run: cargo test --verbose --features alloc | |
miri: | |
runs-on: "${{ matrix.runs-on }}" | |
needs: | |
# Logical dependency and wait for cache to be present | |
- build | |
strategy: | |
matrix: | |
runs-on: | |
- ubuntu-latest | |
rust: | |
- nightly | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Rust toolchain | |
uses: dtolnay/rust-toolchain@stable | |
with: | |
toolchain: "${{ matrix.rust }}" | |
- uses: Swatinem/rust-cache@v2 | |
with: | |
key: "${{ matrix.runs-on }}-${{ matrix.rust }}" | |
- run: rustup component add miri | |
- run: cargo miri test --tests | |
style_checks: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
rust: | |
- stable | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Rust toolchain | |
uses: dtolnay/rust-toolchain@stable | |
with: | |
toolchain: "${{ matrix.rust }}" | |
- uses: Swatinem/rust-cache@v2 | |
with: | |
key: "${{ matrix.runs-on }}-${{ matrix.rust }}" | |
- name: Rustfmt | |
run: cargo fmt -- --check | |
- name: Clippy | |
run: cargo clippy --features alloc | |
- name: Rustdoc | |
run: cargo doc --no-deps --document-private-items --features alloc |