Skip to content

Commit 948d3bd

Browse files
Update main.yml
1 parent f4e2508 commit 948d3bd

1 file changed

Lines changed: 52 additions & 0 deletions

File tree

.github/workflows/main.yml

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

2223
on:
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

Comments
 (0)