Skip to content

Security

Security #49

Workflow file for this run

name: Security
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
schedule:
- cron: '0 0 * * 1' # Weekly on Monday
jobs:
security-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v6
with:
version: "latest"
- name: Set up Python
run: uv python install 3.12
- name: Install dependencies
run: uv sync --dev
- name: Run bandit security check
run: uv run ruff check --select S .
- name: Run safety check
run: |
uv export --format requirements-txt --no-hashes > requirements.txt
uv tool run safety check -r requirements.txt
dependency-review:
runs-on: ubuntu-latest
if: github.event_name == 'pull_request'
steps:
- name: Dependency Review
uses: actions/dependency-review-action@v4
with:
fail-on-severity: moderate