Skip to content

docs: polish first release documentation (#3) #23

docs: polish first release documentation (#3)

docs: polish first release documentation (#3) #23

Workflow file for this run

name: security
on:
pull_request:
paths-ignore:
- '**.md'
- 'docs/**'
push:
branches: [main]
paths-ignore:
- '**.md'
- 'docs/**'
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
zizmor:
name: Zizmor (workflow audit)
runs-on: self-hosted
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
persist-credentials: false
- name: Set up uv
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
with:
version: "0.11.8"
- name: Run zizmor
run: uvx --from zizmor==1.24.1 zizmor --persona pedantic --format github .github/workflows
gitleaks:
name: Gitleaks (secrets scan)
runs-on: self-hosted
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
persist-credentials: false
- name: Run gitleaks
run: |
curl -sSL "https://github.com/gitleaks/gitleaks/releases/download/v8.30.1/gitleaks_8.30.1_linux_x64.tar.gz" \
| tar xz -C /tmp gitleaks
/tmp/gitleaks detect --source . --no-banner --no-git
bandit:
name: Bandit (Python source audit)
runs-on: self-hosted
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
persist-credentials: false
- name: Set up uv
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
with:
version: "0.11.8"
- name: Run bandit
run: uvx bandit==1.9.4 -c pyproject.toml -r src/
pip-audit:
name: pip-audit (dependency CVE scan)
runs-on: self-hosted
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
persist-credentials: false
- name: Set up uv
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
with:
version: "0.11.8"
- name: Export resolved requirements
run: |
uv export --all-extras --format requirements-txt --no-emit-project --no-hashes \
> /tmp/requirements-audit.txt
- name: Run pip-audit
run: uvx pip-audit==2.9.0 --strict -r /tmp/requirements-audit.txt