Spaces:
Running
Running
| name: Docker Smoke Test | |
| on: | |
| workflow_dispatch: | |
| push: | |
| pull_request: | |
| permissions: | |
| contents: read | |
| jobs: | |
| docker-smoke-test: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 20 | |
| steps: | |
| - name: Check out repo | |
| uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.11" | |
| - name: Build Docker image | |
| run: docker build -f server/Dockerfile -t helpdesk-ticket-routing . | |
| - name: Start Docker container | |
| run: docker run -d --name helpdesk-ticket-routing -p 8000:7860 helpdesk-ticket-routing | |
| - name: Wait for health endpoint | |
| shell: bash | |
| run: | | |
| for attempt in {1..30}; do | |
| if curl -fsS http://127.0.0.1:8000/health; then | |
| exit 0 | |
| fi | |
| sleep 2 | |
| done | |
| echo "Container never became healthy." | |
| docker logs helpdesk-ticket-routing || true | |
| exit 1 | |
| - name: Check tasks endpoint | |
| run: curl -fsS http://127.0.0.1:8000/tasks | |
| - name: Install repo for inference validation | |
| run: | | |
| python -m pip install --upgrade pip | |
| python -m pip install -r requirements.txt | |
| python -m pip install -e . | |
| - name: Run heuristic inference against container | |
| env: | |
| ENV_URL: http://127.0.0.1:8000 | |
| run: python inference.py | |
| - name: Show container logs | |
| if: always() | |
| run: docker logs helpdesk-ticket-routing || true | |
| - name: Stop container | |
| if: always() | |
| run: docker rm -f helpdesk-ticket-routing || true | |