Integration Tests #590
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Integration Tests | |
| on: | |
| push: | |
| branches: [ main ] | |
| workflow_dispatch: | |
| schedule: | |
| - cron: '0 */6 * * *' # Every 6 hours | |
| jobs: | |
| integration-test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - name: Set up Python | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: '3.11' | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install pytest httpx pytest-asyncio fastmcp | |
| - name: Wait for Railway deployment | |
| run: | | |
| echo "Waiting for Railway deployment to complete..." | |
| for i in {1..20}; do | |
| if curl -f -I https://strunz.up.railway.app/ 2>/dev/null; then | |
| echo "Railway deployment is ready!" | |
| break | |
| fi | |
| echo "Attempt $i/20 - Deployment not ready yet..." | |
| sleep 30 | |
| done | |
| - name: Run integration tests | |
| env: | |
| MCP_SERVER_URL: https://strunz.up.railway.app | |
| run: | | |
| python src/tests/test_production_mcp.py | |
| - name: Test SSE endpoint | |
| run: | | |
| echo "Testing SSE endpoint..." | |
| timeout 10s curl https://strunz.up.railway.app/sse || true | |
| - name: Health check summary | |
| if: always() | |
| run: | | |
| echo "=== Health Check Summary ===" | |
| echo "Root endpoint:" | |
| curl -I https://strunz.up.railway.app/ 2>/dev/null | head -5 | |
| echo "" | |
| echo "SSE endpoint:" | |
| curl -I https://strunz.up.railway.app/sse 2>/dev/null | head -5 |