From 00f37f4d61b810b8b0359809c4a4826bd31188d8 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 17 Mar 2026 12:30:39 +0000 Subject: [PATCH 1/2] Initial plan From d0d53e9def34f9d9d9e84c463eb498b45f6c9d20 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 17 Mar 2026 12:53:08 +0000 Subject: [PATCH 2/2] fix: update docs-noob-tester with correct Playwright bridge IP instructions (#21394) Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> --- .github/workflows/docs-noob-tester.lock.yml | 3 +- .github/workflows/docs-noob-tester.md | 41 +++++++++++++++++++-- 2 files changed, 39 insertions(+), 5 deletions(-) diff --git a/.github/workflows/docs-noob-tester.lock.yml b/.github/workflows/docs-noob-tester.lock.yml index f6342a16dbd..632630f2e70 100644 --- a/.github/workflows/docs-noob-tester.lock.yml +++ b/.github/workflows/docs-noob-tester.lock.yml @@ -28,7 +28,7 @@ # - shared/docs-server-lifecycle.md # - shared/reporting.md # -# gh-aw-metadata: {"schema_version":"v2","frontmatter_hash":"a505bd34e8d11cbaec46d8455564fc4702abbaaec99657909469c8612780c6e3","strict":true} +# gh-aw-metadata: {"schema_version":"v2","frontmatter_hash":"a594f6d74c90b0467a750ff7da349b7cb66df3d83ac97f3dc2b582c87527556b","strict":true} name: "Documentation Noob Tester" "on": @@ -605,6 +605,7 @@ jobs: GH_AW_PHASE: agent GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }} + GH_AW_TOOL_TIMEOUT: 120 GH_AW_VERSION: dev GITHUB_API_URL: ${{ github.api_url }} GITHUB_AW: true diff --git a/.github/workflows/docs-noob-tester.md b/.github/workflows/docs-noob-tester.md index ca9484595da..a4e719af95b 100644 --- a/.github/workflows/docs-noob-tester.md +++ b/.github/workflows/docs-noob-tester.md @@ -11,6 +11,7 @@ permissions: engine: copilot timeout-minutes: 30 tools: + timeout: 120 # Playwright navigation on Astro dev server can take >60s; increase to 120s playwright: edit: bash: @@ -62,16 +63,48 @@ Follow the shared **Documentation Server Lifecycle Management** instructions: 1. Start the preview server (section "Starting the Documentation Preview Server") 2. Wait for server readiness (section "Waiting for Server Readiness") +**Get the bridge IP for Playwright access** (run this after the server is ready): + +```bash +SERVER_IP=$(ip -4 route get 1.1.1.1 2>/dev/null | awk '{print $7; exit}') +if [ -z "$SERVER_IP" ]; then SERVER_IP=$(hostname -I | awk '{print $1}'); fi +echo "Playwright server URL: http://${SERVER_IP}:4321/gh-aw/" +``` + +Use `http://${SERVER_IP}:4321/gh-aw/` (NOT `localhost:4321`) for all Playwright navigation below. + ## Step 2: Navigate Documentation as a Noob +**IMPORTANT: Using Playwright in gh-aw Workflows** + +Playwright is provided through an MCP server interface. Use the bridge IP obtained in Step 1 for all navigation: + +- ✅ **Correct**: `browser_run_code` with `page.goto(url, { waitUntil: 'domcontentloaded', timeout: 30000 })` +- ✅ **Correct**: `browser_navigate` to `http://${SERVER_IP}:4321/gh-aw/` (use the bridge IP, NOT localhost) +- ❌ **Incorrect**: Using `http://localhost:4321/...` — Playwright runs with `--network host` so its localhost is the Docker host, not the agent container + +**⚠️ CRITICAL: Navigation Timeout Prevention** + +The Astro development server loads many JavaScript modules per page. Always use `waitUntil: 'domcontentloaded'`: + +```javascript +// ALWAYS use domcontentloaded - replace SERVER_IP with the actual IP from Step 1 +mcp__playwright__browser_run_code({ + code: `async (page) => { + await page.goto('http://SERVER_IP:4321/gh-aw/', { waitUntil: 'domcontentloaded', timeout: 30000 }); + return { url: page.url(), title: await page.title() }; + }` +}) +``` + Using Playwright, navigate through the documentation site as if you're a complete beginner: -1. **Visit the home page** at http://localhost:4321/gh-aw/ +1. **Visit the home page** at `http://${SERVER_IP}:4321/gh-aw/` - Take a screenshot - Note: Is it immediately clear what this tool does? - Note: Can you quickly find the "Get Started" or "Quick Start" link? -2. **Follow the Quick Start Guide** at http://localhost:4321/gh-aw/setup/quick-start/ +2. **Follow the Quick Start Guide** at `http://${SERVER_IP}:4321/gh-aw/setup/quick-start/` - Take screenshots of each major section - Try to understand each step from a beginner's perspective - Questions to consider: @@ -81,12 +114,12 @@ Using Playwright, navigate through the documentation site as if you're a complet - Do code examples work as shown? - Are error messages explained? -3. **Check the CLI Commands page** at http://localhost:4321/gh-aw/setup/cli/ +3. **Check the CLI Commands page** at `http://${SERVER_IP}:4321/gh-aw/setup/cli/` - Take a screenshot - Note: Are the most important commands highlighted? - Note: Are examples provided for common use cases? -4. **Explore Creating Workflows guide** at http://localhost:4321/gh-aw/setup/creating-workflows/ +4. **Explore Creating Workflows guide** at `http://${SERVER_IP}:4321/gh-aw/setup/creating-workflows/` - Take screenshots of confusing sections - Note: Is the workflow format explained clearly? - Note: Are there enough examples?