name: Scheduled Security
on:
schedule:
- cron: "30 23 * * 0"
workflow_dispatch:
permissions: {}
jobs:
codeql:
name: CodeQL Deep Scan
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 with:
persist-credentials: false
- uses: dtolnay/rust-toolchain@683b588c487a69d01f6c6ddf40f036ff682cc2c8 with:
toolchain: stable
- uses: Swatinem/rust-cache@d1527c8f67ef9af357290475d4af4b0fab8f12e0 - uses: github/codeql-action/init@52cf1852265d99e9bea071b03366fc777a602909 with:
languages: rust
queries: security-and-quality
- name: Build for CodeQL analysis
run: cargo build --all-targets --locked
- uses: github/codeql-action/analyze@52cf1852265d99e9bea071b03366fc777a602909
cargo-deny:
name: Weekly Dependency Audit
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 with:
persist-credentials: false
- uses: jdx/mise-action@b44d12e7d0d8ee7461bb893e1b1993500433185b with:
install: true
- name: Run cargo-deny
run: mise x -- cargo deny check
zizmor:
name: Workflow Security Audit
runs-on: ubuntu-latest
permissions:
contents: read
security-events: write
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 with:
persist-credentials: false
- uses: zizmorcore/zizmor-action@45d7276c9ca790aabd705e31ca99c6185c3e76dd