ci: проверки репозитория бота в SourceCraft CI #6
Notifications
Due Date
No due date set.
Blocks
Depends on
Reference: HSE/tgit#6
Reference in New Issue
Block a user
Описание
CI для
tgitпо ARCHITECTURE §5.1: гейт качества на каждый PR и push вdev.Желаемый результат
.sourcecraft/ci.yaml: workflowcheckнаpushво все ветки (код приходит зеркалом из Gitea, PR живут в Gitea —pull_request-триггер SourceCraft не сработает, ADR-010).uv sync --frozen→ruff check→ruff format --check→mypy app→pytest --cov=app --cov-fail-under=70.Подзадачи
python:3.12-slim).sourcecraft/ci.yamlpyproject.toml)docs/dev/SOURCECRAFT_API.mdэндпоинты/cicd/runsАнализ
Затрагиваемые файлы
.sourcecraft/ci.yamldocs/dev/SOURCECRAFT_API.mdОграничения и риски
Формат ci.yaml — справочник; старый
.src.ci.yamlне использовать.max_cube_duration≤ 10m.Как проверить
Запушить в Gitea ветку с намеренной ошибкой ruff → зеркало → CI в SourceCraft красный; исправить → зелёный.
Лог выполнения
2026-10-13
.sourcecraft/ci.yaml: workflowcheckна любой push, кубыlint(ruff check + format --check + mypy) иtest(pytest + coverage) на образеghcr.io/astral-sh/uv:0.8-python3.12-bookworm-slim. Порог покрытия — храповикfail_under = 45вpyproject.toml(сейчас 52 %, цель 70 % к M4).1000000— ✅ за 32 с, pytest реально отработал (лог куба). Проба с ошибкой ruff (1000001, временная ветка удалена) — ❌ наlint, в логе E402/F401.on:из.sourcecraft/ci.yamlосновной ветки, а вmainфайла нет. Основная веткаtgitв SourceCraft переключена наdevчерез API (default_branch). Автозапуск проверяется после мержа этого PR вdev.