name: Policy Coverage
on:
pull_request:
push:
branches: [main]
jobs:
kernite-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- run: python -m pip install --upgrade uv
- run: uv tool install --upgrade kernite
- run: echo "$HOME/.local/bin" >> "$GITHUB_PATH"
- run: uv sync
- name: Export OpenAPI JSON
run: |
mkdir -p .kernite
uv run python - <<'PY'
import json
from pathlib import Path
from app.main import app
Path(".kernite/openapi.json").write_text(
json.dumps(app.openapi(), indent=2),
encoding="utf-8",
)
PY
- name: Strict coverage check
run: |
kernite check \
--schema ./.kernite/openapi.json \
--report-out ./.kernite/kernite-check.strict.json
- name: Upload check report
uses: actions/upload-artifact@v4
with:
name: kernite-check-report
path: ./.kernite/kernite-check.strict.json