!feat/async and !feat/interrupts (breaking changes) #63
Workflow file for this run
This file contains hidden or 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: Rust | |
| on: | |
| push: | |
| branches: [master] | |
| pull_request: | |
| branches: [master] | |
| env: | |
| CARGO_TERM_COLOR: always | |
| jobs: | |
| lints-and-checks: | |
| name: Lints and checks | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: true | |
| - uses: dtolnay/rust-toolchain@nightly | |
| with: | |
| components: rustfmt, clippy, rust-docs | |
| - name: Rustfmt lints | |
| run: cargo fmt --all -- --check | |
| - name: Clippy lints | |
| run: cargo clippy --no-deps -- -D warnings | |
| - name: Build docs | |
| run: RUSTDOCFLAGS="--cfg docsrs" cargo +nightly doc --features std,serde,async,defmt --no-deps | |
| build: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| rust: | |
| - stable | |
| - beta | |
| - nightly | |
| - "1.80" # MSRV | |
| steps: | |
| - name: Checkout Sources | |
| uses: actions/checkout@v5 | |
| - name: Install Rust (thumbv7em) | |
| uses: dtolnay/rust-toolchain@master | |
| with: | |
| toolchain: ${{ matrix.rust }} | |
| target: thumbv7em-none-eabihf | |
| - name: Build - default features | |
| run: cargo build | |
| - name: Build - std | |
| run: cargo build --features "std" | |
| - name: Build - serde | |
| run: cargo build --features "serde" | |
| - name: Build - defmt | |
| run: cargo build --features "defmt" | |
| - name: Build - examples (blocking) | |
| run: cargo build --examples --no-default-features -F blocking | |
| - name: Run tests | |
| run: cargo test | |
| # Cargo binstall currently installs musl binary and requires additional setup. | |
| - name: Install cargo-fuzz | |
| if: ${{ matrix.rust == 'nightly' }} | |
| run: cargo +nightly install cargo-fuzz | |
| - name: Fuzz (nightly only) | |
| if: ${{ matrix.rust == 'nightly' }} | |
| run: | | |
| cargo +nightly fuzz run init -- -max_total_time=900 | |
| cargo +nightly fuzz run calibrate -- -max_total_time=1800 |