# CI/CD репозитория загрузок tgit. Шаблон живёт в HSE/tgit: infra/uploads-template/ — правки делать там. # Бот не даёт менять .sourcecraft/ и .tgit/ из Telegram (SPEC C-16). on: push: - workflows: [check-and-deploy] filter: branches: ["main"] workflows: check-and-deploy: settings: max_cube_duration: 10m tasks: - name: check cubes: - name: compile image: ghcr.io/astral-sh/uv:0.8-python3.12-bookworm-slim script: - python -m compileall -q -x '(^|/)\.' . - name: lint needs: ["-"] image: ghcr.io/astral-sh/uv:0.8-python3.12-bookworm-slim script: - uvx ruff@0.13 check . - name: security needs: ["-"] image: ghcr.io/astral-sh/uv:0.8-python3.12-bookworm-slim script: - uvx bandit@1.8 -q -r services -ll - name: tests needs: ["-"] image: ghcr.io/astral-sh/uv:0.8-python3.12-bookworm-slim script: - python .tgit/run_tests.py - name: deploy needs: [check] cubes: - name: deploy # full (non-slim) image: has git for diffing the pushed commit image: ghcr.io/astral-sh/uv:0.8-python3.12-bookworm script: - python .tgit/changed_services.py > changed.txt - cat changed.txt # Запуск через tgit-runner по SSH — #13. До этого — только список сервисов к развёртыванию. - 'echo "deploy stub: $(wc -l < changed.txt) service(s) to deploy"'