ci: проверки бота в SourceCraft CI #28
@@ -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
|
||||
@@ -57,7 +57,10 @@ testpaths = ["tests"]
|
||||
[tool.coverage.run]
|
||||
source = ["app"]
|
||||
branch = true
|
||||
omit = ["app/__main__.py"]
|
||||
|
||||
[tool.coverage.report]
|
||||
show_missing = true
|
||||
skip_covered = true
|
||||
# Ratchet: raise as code lands, never lower. Target by M4 — 70 (SPEC §5.2).
|
||||
fail_under = 45
|
||||
|
||||
Reference in New Issue
Block a user