name: Dependencies
permissions:
checks: write
contents: read
on:
schedule:
- cron: "0 3 * * 1"
workflow_dispatch:
push:
paths:
- "Cargo.toml"
- "Cargo.lock"
env:
CARGO_TERM_COLOR: always
jobs:
check:
name: Dependency checks
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@stable
- name: Install cargo-machete
run: cargo install cargo-machete
- name: Check unused dependencies
run: cargo machete
- name: Security audit
uses: rustsec/audit-check@v2.0.0
with:
token: ${{ secrets.GITHUB_TOKEN }}
outdated:
name: Outdated dependencies
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@stable
- name: Install cargo-outdated
run: cargo install cargo-outdated
- name: Check outdated
run: cargo outdated --root-deps-only