name: Lint
on: [ push, pull_request ]
permissions:
contents: read
jobs:
clippy:
name: Cargo clippy & fmt
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Setup Rust toolchain
run: rustup show && rustup update
- name: cargo fmt
run: cargo fmt -- --check
- name: Install libmagic-dev
run: |
sudo apt-get update
sudo apt-get install -y libmagic-dev
- name: cargo clippy
run: cargo clippy --all-features --tests -- -D warnings
check-spdx-headers:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: enarx/spdx@b5bfdd4410071bf058c8333d0e70020001524b6b with:
licenses: Apache-2.0
udeps:
name: Unused dependencies
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v6
- name: Install nightly and cargo-udeps
run: |
rustup update
rustup toolchain install nightly
sudo apt-get install -y wget
wget https://github.com/est31/cargo-udeps/releases/download/v0.1.57/cargo-udeps-v0.1.57-x86_64-unknown-linux-musl.tar.gz
tar -xzf cargo-udeps-v0.1.57-x86_64-unknown-linux-musl.tar.gz
mv cargo-udeps-v0.1.57-x86_64-unknown-linux-musl/cargo-udeps ~/.cargo/bin
cargo +nightly udeps
audit:
name: Cargo Audit
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v6
- uses: taiki-e/install-action@0d865d5cc6d507df4765f1f866bfae8bab4e2a73 with:
tool: cargo-audit
- name: Run Cargo Audit
run: cargo audit