name: Smoke Test on: push: branches: - master paths-ignore: - 'README*.md' - 'changelogs/**' - 'dashboard/**' pull_request: workflow_dispatch: jobs: smoke-test: name: Run smoke tests runs-on: ubuntu-latest timeout-minutes: 10 steps: - name: Checkout uses: actions/checkout@v6 with: fetch-depth: 0 - name: Set up Python uses: actions/setup-python@v6 with: python-version: '3.12' - name: Install UV package manager run: | pip install uv - name: Install dependencies run: | uv sync timeout-minutes: 15 - name: Run smoke tests run: | uv run main.py & APP_PID=$! echo "Waiting for application to start..." for i in {1..60}; do if curl -f http://localhost:7860 > /dev/null 2>&1; then echo "Application started successfully!" kill $APP_PID exit 0 fi sleep 1 done echo "Application failed to start within 30 seconds" kill $APP_PID 2>/dev/null || true exit 1 timeout-minutes: 2