ci: проверки бота в SourceCraft CI — ruff, mypy, pytest с порогом покрытия
push в любую ветку (зеркало из Gitea, ADR-010) → кубы lint и test параллельно. Порог покрытия — храповик в pyproject (fail_under), одинаков локально и в CI. Refs #6 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user