@@ -18,6 +18,7 @@ name: Multi-Agent-Intelligent-Warehouse deployment test
1818# - Health checks: /health, /api/v1/health, /api/v1/health/simple
1919# - Access points: Frontend (3001), API (8001), Docs, Metrics
2020# - Integration tests
21+ # - MAIW UI tests: pytest -m maiw (blueprint-github-test image, --maiw-playground-url)
2122
2223on :
2324 push :
@@ -122,6 +123,8 @@ jobs:
122123 # Wait for services to be ready
123124 echo "Waiting for services to be ready..."
124125 sleep 30
126+ echo "Docker containers (docker ps --all):"
127+ docker ps --all
125128 echo "✅ Infrastructure services started"
126129
127130 # Step 6: Run database migrations
@@ -288,6 +291,54 @@ jobs:
288291
289292 echo "✅ Access point verification completed!"
290293
294+ - name : " Post-deploy: Run MAIW pytest (pytest -m maiw)"
295+ env :
296+ TEST_DOCKER_PULL_KEY : ${{ secrets.TEST_DOCKER_PULL_KEY }}
297+ run : |
298+ set -e
299+ echo "Waiting for MAIW frontend on http://127.0.0.1:3001 (required for Playwright UI tests)..."
300+ max_retries=30
301+ retry_count=0
302+ until curl -f -s -o /dev/null http://127.0.0.1:3001/ || [ $retry_count -eq $max_retries ]; do
303+ echo "Attempt $((retry_count + 1))/$max_retries: frontend not ready..."
304+ sleep 2
305+ retry_count=$((retry_count + 1))
306+ done
307+ if [ $retry_count -eq $max_retries ]; then
308+ echo "❌ MAIW frontend not reachable on port 3001"
309+ exit 1
310+ fi
311+ echo "✅ MAIW frontend is ready"
312+
313+ echo "Authenticating to nvcr.io for blueprint-github-test image pull..."
314+ if [ -z "${TEST_DOCKER_PULL_KEY}" ]; then
315+ echo "❌ Missing required secret: TEST_DOCKER_PULL_KEY"
316+ exit 1
317+ fi
318+ echo "${TEST_DOCKER_PULL_KEY}" | docker login nvcr.io -u '$oauthtoken' --password-stdin
319+
320+ echo "Pulling blueprint-github-test image for pytest..."
321+ TEST_IMAGE="nvcr.io/rw983xdqtcdp/auto_test_team/blueprint-github-test-image:latest"
322+ docker pull "${TEST_IMAGE}"
323+
324+ mkdir -p "${GITHUB_WORKSPACE}/reports"
325+ echo "Running: pytest -m maiw --maiw-playground-url=http://127.0.0.1:3001"
326+ docker run --net=host --rm \
327+ -v "${GITHUB_WORKSPACE}/reports:/reports" \
328+ "${TEST_IMAGE}" \
329+ pytest -m maiw --maiw-playground-url=http://127.0.0.1:3001 --disable-warnings --self-contained-html --html=/reports/maiw_test_report.html
330+
331+ echo "✅ MAIW pytest completed"
332+
333+ - name : Upload MAIW pytest HTML report
334+ if : always()
335+ uses : actions/upload-artifact@v4
336+ with :
337+ name : maiw-pytest-report
338+ path : reports/maiw_test_report.html
339+ if-no-files-found : ignore
340+ retention-days : 30
341+
291342 - name : Upload production checklist
292343 if : always()
293344 uses : actions/upload-artifact@v4
@@ -325,3 +376,4 @@ jobs:
325376 <a href="${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}">${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}</a></p>
326377
327378 <p>Thanks!</p>
379+
0 commit comments