12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- on:
- push:
- branches: [ master ]
- pull_request:
- merge_group:
- name: Lints compliance check
- env:
- CLIPPY_PARAMS: -W clippy::all -W clippy::pedantic -W clippy::nursery -W clippy::cargo
- jobs:
- clippy:
- strategy:
- matrix:
- toolchain: [ stable, nightly ]
- include:
- # Nightly is only for reference and allowed to fail
- - toolchain: nightly
- experimental: true
- runs-on: ubuntu-latest
- continue-on-error: ${{ matrix.experimental || false }}
- steps:
- - uses: actions/checkout@v4
- - uses: dtolnay/rust-toolchain@master
- with:
- toolchain: ${{ matrix.toolchain }}
- components: clippy
- - name: Run clippy (no features)
- run: cargo clippy --all --no-default-features -- -D warnings
- - name: Run clippy (all features)
- # We exclude riscv-peripheral because it's not yet stable-compliant
- run: cargo clippy --exclude riscv-peripheral --all --all-features -- -D warnings
-
- # Additonal clippy checks for riscv-rt
- clippy-riscv-rt:
- strategy:
- matrix:
- toolchain: [ stable, nightly ]
- runs-on: ubuntu-latest
- continue-on-error: ${{ matrix.experimental || false }}
- steps:
- - uses: actions/checkout@v4
- - uses: dtolnay/rust-toolchain@master
- with:
- toolchain: ${{ matrix.toolchain }}
- components: clippy
- - name: Run clippy (s-mode)
- run: cargo clippy --package riscv-rt --all --features=s-mode -- -D warnings
- - name: Run clippy (single-hart)
- run: cargo clippy --package riscv-rt --all --features=single-hart -- -D warnings
- # Job to check that all the lint checks succeeded
- clippy-check:
- needs:
- - clippy
- - clippy-riscv-rt
- runs-on: ubuntu-latest
- if: always()
- steps:
- - run: jq --exit-status 'all(.result == "success")' <<< '${{ toJson(needs) }}'
|