name: Lint on: push: branches: - develop pull_request: workflow_dispatch: jobs: clippy: strategy: matrix: os: [ubuntu-latest, macos-13, macos-14, windows-latest] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac - name: Get nightly version to use id: nightly shell: bash run: echo "version=$(cat .github/nightly-version)" >> $GITHUB_OUTPUT - name: Build Dependencies uses: ./.github/actions/build-dependencies - name: Install nightly rust run: rustup toolchain install ${{ steps.nightly.outputs.version }} --profile minimal -t wasm32-unknown-unknown -c clippy - name: Run Clippy run: cargo +${{ steps.nightly.outputs.version }} clippy --all-features --all-targets -- -D warnings -A clippy::items_after_test_module # Also verify the lockfile isn't dirty # This happens when someone edits a Cargo.toml yet doesn't do anything # which causes the lockfile to be updated # The above clippy run will cause it to be updated, so checking there's # no differences present now performs the desired check - name: Verify lockfile shell: bash run: git diff | wc -l | LC_ALL="en_US.utf8" grep -x -e "^[ ]*0" deny: runs-on: ubuntu-latest steps: - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac - name: Advisory Cache uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 with: path: ~/.cargo/advisory-db key: rust-advisory-db - name: Install cargo deny run: cargo install --locked cargo-deny - name: Run cargo deny run: cargo deny -L error --all-features check fmt: runs-on: ubuntu-latest steps: - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac - name: Get nightly version to use id: nightly shell: bash run: echo "version=$(cat .github/nightly-version)" >> $GITHUB_OUTPUT - name: Install nightly rust run: rustup toolchain install ${{ steps.nightly.outputs.version }} --profile minimal -c rustfmt - name: Run rustfmt run: cargo +${{ steps.nightly.outputs.version }} fmt -- --check machete: runs-on: ubuntu-latest steps: - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac - name: Verify all dependencies are in use run: | cargo install cargo-machete cargo machete