name: Security Audit
on:
schedule:
- cron: "0 0 * * 1"
push:
branches: [main]
paths:
- "**/Cargo.toml"
- "**/Cargo.lock"
pull_request:
branches: [main]
paths:
- "**/Cargo.toml"
- "**/Cargo.lock"
workflow_dispatch:
jobs:
audit:
name: Dependency Audit
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
- name: Install cargo-audit
run: cargo install cargo-audit
- name: Run cargo audit
run: cargo audit
- name: Check for outdated dependencies
run: |
cargo install cargo-outdated
cargo outdated --exit-code 1 || true