# CI репозитория загрузок tgit на Gitea Actions (ADR-016). Шаблон живёт в HSE/tgit: infra/uploads-template/ — правки делать там. # Бот находит этот прогон по sha своего push и разворачивает изменённые сервисы только после зелёного check (#11). # Имя файла — CI_WORKFLOW бота. Из Telegram не редактируется (SPEC C-16). name: check on: push: branches: [main] # Без cancel-in-progress: каждый push ждёт свой вердикт — иначе бот не дождётся отменённого прогона. jobs: check: runs-on: ubuntu-latest timeout-minutes: 25 steps: - uses: actions/checkout@v4 - name: Setup Python 3.12 uses: actions/setup-python@v5 with: python-version: "3.12" - name: Install uv # pip, а не astral-sh/setup-uv: на self-hosted Gitea экшен ходит в GitHub API и падает (опыт Vobot) run: pip install uv # Шаги последовательно: имя первого упавшего бот покажет автору push вместе с логом. - name: compile run: python -m compileall -q -x '(^|/)\.' . - name: lint run: uvx ruff@0.13 check . - name: security run: uvx bandit@1.8 -q -r services -ll - name: tests run: python .tgit/run_tests.py