zov-tech/.github/workflows/ci.yml
2026-05-17 17:59:41 +03:00

52 lines
1.6 KiB
YAML

name: CI — Lint + Smoke Tests
on:
push:
branches: [master, main]
pull_request:
branches: [master, main]
jobs:
lint-css:
name: CSS-линтер
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Запуск CSS-линтера
run: python tests/lint_css.py
smoke-api:
name: Smoke-тесты API
runs-on: ubuntu-latest
# Запускаем только на пушах в master (не на PR — там нет деплоя)
if: github.event_name == 'push' && github.ref == 'refs/heads/master'
# Ждём деплоя GitHub Pages (если были изменения в miniapp/)
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Пауза после деплоя Pages (60s)
run: sleep 60
- name: Запуск smoke-тестов
run: python tests/smoke_api.py --url https://api.wasrusgen1.pro
report:
name: Сводный отчёт
runs-on: ubuntu-latest
needs: [lint-css, smoke-api]
if: always()
steps:
- name: Итог
run: |
echo "CSS-линтер: ${{ needs.lint-css.result }}"
echo "Smoke API: ${{ needs.smoke-api.result }}"
if [[ "${{ needs.lint-css.result }}" == "failure" || "${{ needs.smoke-api.result }}" == "failure" ]]; then
echo "❌ CI упал — есть замечания к устранению"
exit 1
fi
echo "✅ CI прошёл"