Skip to content

feat: add linting and .pre-commit hook #4

feat: add linting and .pre-commit hook

feat: add linting and .pre-commit hook #4

Workflow file for this run

name: Cargo Check
on:
push:
branches:
- master
- ci
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
rustfmt:
runs-on: ubuntu-latest
name: fmt
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Stable Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
- name: Install `rustfmt`
run: rustup component add rustfmt --toolchain 1.84.1
- name: cargo fmt --check
run: cargo fmt --check
clippy:
runs-on: ubuntu-latest
name: clippy
permissions:
contents: read
checks: write
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Install stable
uses: dtolnay/rust-toolchain@stable
with:
components: clippy
- name: cargo clippy
uses: actions-rs/clippy-check@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
typos:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Check typos
uses: crate-ci/typos@master
with:
files: ./crates/*/src ./examples/*/src ./datasources/*/src/ ./metrics/*/src
cargo_sort:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Stable Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
- name: Install cargo-sort
run: cargo install --locked cargo-sort
- name: Check `Cargo.toml` sort
run: cargo sort -c
machete:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Stable Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
- name: Install `cargo-machete`
run: cargo install --locked [email protected]
- name: Check unused Cargo dependencies
run: cargo machete