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 прошёл"