name: CI - Infrastructure Tests on: push: branches: [ main, develop, 'feature/**' ] pull_request: branches: [ main, develop ] jobs: test: runs-on: ubuntu-latest name: Run Infrastructure Tests steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up Python 3.11 uses: actions/setup-python@v5 with: python-version: '3.11' cache: 'pip' - name: Install dependencies run: | python -m pip install --upgrade pip pip install -r tests/infra/requirements-test.txt - name: Run infrastructure tests run: | python -m pytest tests/infra/ -v --tb=short - name: Validate Prometheus config run: | python -m pytest tests/infra/test_prometheus_config.py -v - name: Upload test results if: always() uses: actions/upload-artifact@v4 with: name: test-results path: | .pytest_cache/ htmlcov/ retention-days: 7 - name: Send test results notification if: always() uses: appleboy/telegram-action@v1.0.0 with: to: ${{ secrets.TELEGRAM_CHAT_ID }} token: ${{ secrets.TELEGRAM_BOT_TOKEN }} message: | ๐Ÿงช CI Tests ${{ job.status }} Repository: prod Branch: ${{ github.ref_name }} Commit: ${{ github.sha }} Author: ${{ github.actor }} ${{ job.status == 'success' && 'โœ… All tests passed!' || 'โŒ Tests failed!' }} View details: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} continue-on-error: true