Skip to content

feat: esqueleto CLI tipada — comandos snapshot/events/ptz/zoom + endp… #2

feat: esqueleto CLI tipada — comandos snapshot/events/ptz/zoom + endp…

feat: esqueleto CLI tipada — comandos snapshot/events/ptz/zoom + endp… #2

Workflow file for this run

# CI — isapi-cli (quality gate Tier 1).
# Enxuto por ora: ruff + mypy strict + pytest cov>=80%. Digest auth real (httpx)
# e publish PyPI entram conforme o repo cresce.
name: CI
on:
push:
branches: [main, dev]
pull_request:
branches: [main, dev]
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
quality:
name: ruff + mypy --strict + pytest (cov ≥ 80%)
runs-on: ubuntu-24.04
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v3
with:
enable-cache: true
- run: uv python install 3.12
- run: uv sync --frozen --all-extras
- name: ruff check
run: uv run ruff check .
- name: ruff format --check
run: uv run ruff format --check .
- name: mypy --strict
run: uv run mypy
- name: pytest + coverage
run: uv run pytest