push в любую ветку (зеркало из Gitea, ADR-010) → кубы lint и test параллельно. Порог покрытия — храповик в pyproject (fail_under), одинаков локально и в CI. Refs #6 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
34 lines
1.1 KiB
YAML
34 lines
1.1 KiB
YAML
# CI бота. Код приходит push-зеркалом из Gitea (ADR-010): PR живут в Gitea, поэтому
|
|
# триггер pull_request здесь не сработает — проверяем каждый push в любую ветку.
|
|
# Деплой на хост (workflow deploy на push в main) — #12.
|
|
on:
|
|
push:
|
|
- workflows: [check]
|
|
filter:
|
|
branches: ["**"]
|
|
|
|
workflows:
|
|
check:
|
|
settings:
|
|
max_cube_duration: 10m
|
|
tasks:
|
|
- name: quality
|
|
cubes:
|
|
- name: lint
|
|
image: ghcr.io/astral-sh/uv:0.8-python3.12-bookworm-slim
|
|
env:
|
|
UV_LINK_MODE: copy
|
|
script:
|
|
- uv sync --frozen
|
|
- uv run ruff check .
|
|
- uv run ruff format --check .
|
|
- uv run mypy
|
|
- name: test
|
|
needs: ["-"]
|
|
image: ghcr.io/astral-sh/uv:0.8-python3.12-bookworm-slim
|
|
env:
|
|
UV_LINK_MODE: copy
|
|
script:
|
|
- uv sync --frozen
|
|
- uv run pytest -q --cov --cov-report=term
|