name: Dependency security audit on: pull_request: push: paths: - "requirements.txt" - "requirements-ml.txt" - ".github/workflows/security-audit.yml" schedule: - cron: "23 3 * * 1" workflow_dispatch: permissions: contents: read jobs: pip-audit: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: "3.11" cache: pip - name: Install vulnerability scanner run: python -m pip install pip-audit==2.10.1 - name: Audit runtime dependencies run: pip-audit --strict -r requirements.txt - name: Audit optional ML dependencies if: ${{ hashFiles('requirements-ml.txt') != '' }} run: pip-audit --strict -r requirements-ml.txt