ci: fail on clippy warnings #236
Workflow file for this run
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: CI | |
permissions: | |
contents: read | |
on: | |
pull_request: | |
paths-ignore: | |
- README.md | |
push: | |
branches: main | |
paths-ignore: | |
- README.md | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
rust: | |
- stable | |
- beta | |
- nightly-2023-04-01 | |
steps: | |
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 | |
- uses: dtolnay/rust-toolchain@a3ac054b2e7d62f514aa1bd57e3508c522fe772d # 1.68.2 | |
with: | |
toolchain: ${{ matrix.rust }} | |
components: rustfmt | |
- run: cargo +${{ matrix.rust }} build --release --workspace | |
- run: cargo +${{ matrix.rust }} build --release --workspace --features=std | |
test: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
rust: | |
- stable | |
- beta | |
- nightly-2023-04-01 | |
steps: | |
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 | |
with: | |
submodules: true | |
- uses: dtolnay/rust-toolchain@a3ac054b2e7d62f514aa1bd57e3508c522fe772d # 1.68.2 | |
with: | |
toolchain: ${{ matrix.rust }} | |
components: rustfmt | |
- run: cargo +${{ matrix.rust }} test --workspace -- --nocapture | |
- run: cargo +${{ matrix.rust }} test --workspace --features=std -- --nocapture | |
examples: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
rust: | |
- stable | |
- beta | |
- nightly-2023-04-01 | |
steps: | |
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 | |
with: | |
submodules: true | |
- uses: dtolnay/rust-toolchain@a3ac054b2e7d62f514aa1bd57e3508c522fe772d # 1.68.2 | |
with: | |
toolchain: ${{ matrix.rust }} | |
components: rustfmt | |
- run: cargo +${{ matrix.rust }} test --examples | |
- run: cargo +${{ matrix.rust }} test --features=std --examples | |
no_std: | |
name: Build for a no_std target | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
rust: | |
- stable | |
- beta | |
- nightly-2023-04-01 | |
steps: | |
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 | |
- uses: dtolnay/rust-toolchain@a3ac054b2e7d62f514aa1bd57e3508c522fe772d # 1.68.2 | |
with: | |
toolchain: ${{ matrix.rust }} | |
components: rustfmt | |
targets: thumbv6m-none-eabi | |
- run: cargo +${{ matrix.rust }} build --release --workspace --target thumbv6m-none-eabi | |
msrv: | |
name: Rust ${{matrix.rust}} MSRV | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
rust: [1.56.0, 1.57.0] | |
steps: | |
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 | |
with: | |
submodules: true | |
- uses: dtolnay/rust-toolchain@a3ac054b2e7d62f514aa1bd57e3508c522fe772d # 1.68.2 | |
with: | |
toolchain: ${{ matrix.rust }} | |
components: rustfmt | |
- run: rustc --version | |
- run: cargo +${{ matrix.rust }} build --release --workspace | |
- run: cargo +${{ matrix.rust }} build --release --workspace --all-features | |
formatting: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 | |
- uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 # v3.5.0 | |
- run: go install github.com/campoy/embedmd@97c13d6 | |
- uses: ruby/setup-ruby@d2b39ad0b52eca07d23f3aa14fdf2a3fcc1f411c # v1.148.0 | |
with: | |
ruby-version: '2.7' | |
- run: gem install mdl | |
- uses: dtolnay/rust-toolchain@a3ac054b2e7d62f514aa1bd57e3508c522fe772d # 1.68.2 | |
with: | |
toolchain: nightly-2023-04-01 | |
components: rustfmt | |
- run: cargo +nightly-2023-04-01 fmt --all -- --check | |
- run: scripts/check-format.sh | |
clippy: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 | |
- uses: dtolnay/rust-toolchain@a3ac054b2e7d62f514aa1bd57e3508c522fe772d # 1.68.2 | |
with: | |
toolchain: stable | |
components: rustfmt, clippy | |
- run: cargo +stable clippy --all-features --all-targets -- -Dwarnings | |
- run: git diff --exit-code | |
doc: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 | |
- uses: dtolnay/rust-toolchain@a3ac054b2e7d62f514aa1bd57e3508c522fe772d # 1.68.2 | |
with: | |
toolchain: stable | |
- run: RUSTDOCFLAGS="-Dwarnings" cargo doc --no-deps --document-private-items | |
udeps: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 | |
- uses: dtolnay/rust-toolchain@a3ac054b2e7d62f514aa1bd57e3508c522fe772d # 1.68.2 | |
with: | |
toolchain: nightly-2023-04-01 | |
components: rustfmt | |
- run: cargo +nightly-2023-04-01 install --locked --version 0.1.39 cargo-udeps | |
- run: cargo +nightly-2023-04-01 udeps | |
deny: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 | |
- uses: dtolnay/rust-toolchain@a3ac054b2e7d62f514aa1bd57e3508c522fe772d # 1.68.2 | |
with: | |
toolchain: nightly-2023-04-01 | |
components: rustfmt | |
- run: cargo +nightly-2023-04-01 install --locked --version 0.13.9 cargo-deny | |
- run: cargo deny check | |
coverage: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 | |
with: | |
submodules: true | |
fetch-depth: 0 | |
- uses: dtolnay/rust-toolchain@a3ac054b2e7d62f514aa1bd57e3508c522fe772d # 1.68.2 | |
with: | |
toolchain: nightly-2023-04-01 | |
components: rustfmt | |
- uses: actions-rs/install@69ec87709ffb5b19a7b5ddbf610cb221498bb1eb # v0.1.2 | |
with: | |
crate: cargo-tarpaulin | |
version: 0.25.2 | |
use-tool-cache: true | |
- run: cargo +nightly-2023-04-01 tarpaulin --verbose --ignore-tests --all-features --timeout=600 --out Xml | |
- name: Upload to codecov.io | |
run: | | |
bash <(curl -s https://codecov.io/bash) |