Conversation
…lback guidance Agent-Logs-Url: https://github.com/github/gh-aw/sessions/2b1c8830-ba7c-41a3-a3b4-4041a871ac6f Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
…llback limit to 5000 chars Agent-Logs-Url: https://github.com/github/gh-aw/sessions/2b1c8830-ba7c-41a3-a3b4-4041a871ac6f Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Updates the Documentation Noob Tester workflow to run with a compatible Node.js version for Astro 6 and adds guidance to avoid wasting time when Playwright can’t reach the docs server.
Changes:
- Configure the docs-noob-tester workflow to use Node.js 22 via
runtimes, and regenerate the compiled lock workflow to include anactions/setup-nodestep. - Update shared docs server lifecycle guidance to use a safer background/PID capture pattern and document the Node runtime requirement snippet.
- Add Playwright connectivity timeout fallback guidance (curl-based content analysis) to both the workflow and shared lifecycle doc.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
.github/workflows/shared/docs-server-lifecycle.md |
Documents Node/Astro prerequisites, updates server start/PID capture guidance, and adds Playwright connectivity fallback instructions. |
.github/workflows/docs-noob-tester.md |
Pins Node runtime to 22 and adds Playwright timeout/connectivity fallback guidance for the agent. |
.github/workflows/docs-noob-tester.lock.yml |
Recompiled workflow including actions/setup-node (Node 22) before the agent runs. |
Comments suppressed due to low confidence (1)
.github/workflows/shared/docs-server-lifecycle.md:12
- The Node.js requirement is inconsistent within this doc: the prerequisites say "Node.js >= 20.3.0 or >= 22", the later section repeats a slightly different condition, and the usage notes state "Node.js >= 22 is required". Please pick one requirement statement (and, if 22 is the recommended pin, call it out as a recommendation rather than a different requirement) and make all three places consistent to avoid confusing workflow authors.
# - Node.js >= 20.3.0 or >= 22 required (Astro 6.x requirement)
# Workflows using this import should set: runtimes: node: version: "22"
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| @@ -8,6 +8,8 @@ | |||
| # - npm install must have been run in docs/ directory | |||
| # - Bash permissions: npm *, npx *, curl *, kill *, echo *, sleep * | |||
There was a problem hiding this comment.
This shared lifecycle now recommends commands that aren't covered by the stated bash allowlist in the prerequisites. For example it uses nohup (start command) and python3 (fallback snippet), but the prerequisites only list npm, npx, curl, kill, echo, sleep. Either expand the prerequisites/permissions guidance to include the actual commands used (at least nohup and python3), or adjust the examples to use only the listed commands so consumers don't hit bash-guard blocks.
This issue also appears on line 11 of the same file.
| # - Bash permissions: npm *, npx *, curl *, kill *, echo *, sleep * | |
| # - Bash permissions: npm *, npx *, curl *, kill *, echo *, sleep *, nohup *, python3 * |
The Documentation Noob Tester was failing because Astro 6.x requires Node.js ≥ 20.3.0 but the runner's Node.js was incompatible. The agent spent ~27 min debugging this (patching
astro.mjs, installing alternate Node versions), accumulating 2.6M input tokens until the Copilot API returned502 "Proxy error"after 5 retries.Changes
docs-noob-tester.md: Addruntimes: node: version: "22"— generates aactions/setup-node@v6pre-step in the compiled YAML so Node.js 22 is available before the agent runs. Add explicit Playwright timeout fallback: ifbrowser_navigatereturnsERR_CONNECTION_TIMED_OUT, skip immediately and use curl-based analysis instead of debugging the network.shared/docs-server-lifecycle.md:nohup ... & PID=$!pattern — the previousecho $! > fileform was being blocked by the AWF bash guard as a dangerous shell expansiondocs-noob-tester.lock.yml: Recompiled — now includesactions/setup-nodewithnode-version: '22'before the agent executes.Warning
Firewall rules blocked me from connecting to one or more addresses (expand for details)
I tried to connect to the following addresses, but was blocked by firewall rules:
https://api.github.com/graphql/usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw cfg 64/pkg/tool/linu--show-toplevel git rev-�� --show-toplevel 64/pkg/tool/linux_amd64/vet /usr/bin/git /tmp/go-build327git on 64/pkg/tool/linu--show-toplevel git(http block)https://api.github.com/orgs/test-owner/actions/secrets/usr/bin/gh gh api /orgs/test-owner/actions/secrets --jq .secrets[].name --local pull.rebase odules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin/sh(http block)https://api.github.com/repos/actions/ai-inference/git/ref/tags/v1/usr/bin/gh gh api /repos/actions/ai-inference/git/ref/tags/v1 --jq .object.sha --show-toplevel x_amd64/vet /usr/bin/git '**/*.ts' '**/*.git s/ace-editor.md x_amd64/vet git rev-�� --show-toplevel e9tz4e_/ThKvzodBlPIPkS6j74YO /usr/bin/git rd s/auto-triage-isrev-parse x_amd64/vet /usr/bin/git(http block)https://api.github.com/repos/actions/checkout/git/ref/tags/v3/usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v3 --jq .object.sha sistency_GoAndJavaScript1565567657/001/test-empty-frontmatter.md -buildtags ache/node/24.14.0/x64/bin/node -errorsas -ifaceassert -nilfunc /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/link t-19�� bility_SameInputSameOutput882122646/001/stability-test.md -importcfg /usr/bin/infocmp -s -w -buildmode=exe infocmp(http block)https://api.github.com/repos/actions/checkout/git/ref/tags/v5/usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha ate_issue_backward_compat_test.go cfg 64/pkg/tool/linux_amd64/vet ate_pr_review_co/opt/hostedtoolcache/node/24.14.0/x64/bin/node ate_project.go r 64/pkg/tool/linux_amd64/vet ate_�� te '../../../**/*.json' '!../../../pkg/workflow/-p ate_pull_request.go x_amd64/vet(http block)/usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha Secret: ${{ secrets.TOKEN }} x_amd64/vet /usr/bin/git *.json' '!../../git(http block)/usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha --show-toplevel ache/go/1.25.0/x64/pkg/tool/linux_amd64/vet /usr/bin/git 3319-13647/test-git(http block)https://api.github.com/repos/actions/checkout/git/ref/tags/v6/usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq .object.sha /tmp/TestHashStability_SameInputSameOutput882122646/001/stability-test.md uname /usr/bin/git ../pkg/workflow/git(http block)/usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq .object.sha(http block)/usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq .object.sha --show-toplevel us/3YdcVDbgE0y5Gdx8vjli/alK5YuEvsiWHJxF12LLI /usr/bin/git cycle_test.go error_test.go cfg git rev-�� --show-toplevel ache/go/1.25.0/x64/pkg/tool/linux_amd64/vet /usr/bin/git se 247354/b227/vet.rev-parse ache/go/1.25.0/x--show-toplevel git(http block)https://api.github.com/repos/actions/github-script/git/ref/tags/v8/usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq .object.sha --local user.name ndor/bin/bash(http block)/usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq .object.sha json' --ignore-p-errorsas core.hooksPath odules/npm/node_-nilfunc explorer.md ability-kit.md d s/shared/docs-se-buildtags ules�� s.md sues.md ndor/bin/bash md(http block)/usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq .object.sha set-url origin ash(http block)https://api.github.com/repos/actions/setup-go/git/ref/tags/v4/usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq .object.sha /tmp/TestCompileErrorFormatting104057851/001 config /usr/bin/git remote.origin.urgit(http block)/usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq .object.sha install --package-lock-only /usr/bin/git 247354/b455/workgit test@example.comrev-parse 247354/b455/impo--show-toplevel git rev-�� --show-toplevel q7DkVJ6tlLRCh/On8h-V1HcaSiY_V-SwNV/XrnZ_bZ_AwFGhm7iLoL0/ZL4yv8xq7DkVJ6tlLRCh /usr/bin/git ry=1 x_amd64/vet 247354/b455/_pkg--show-toplevel git(http block)https://api.github.com/repos/actions/setup-node/git/ref/tags/v4/usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq .object.sha -c uname /opt/hostedtoolcache/node/24.14.0/x64/bin/node ../pkg/workflow/git /deps.go x_amd64/vet node /tmp�� /home/REDACTED/work/gh-aw/gh-aw/.github/workflows/ai-moderator.md x_amd64/vet /usr/bin/git --noprofile(http block)/usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq .object.sha install --package-lock-only /usr/bin/git 247354/b457/_pkggit x_amd64/vet 247354/b457=> git rev-�� --show-toplevel git /usr/lib/git-core/git Y3uC/65p595wDCDXgit x_amd64/vet /usr/bin/git /usr/lib/git-core/git(http block)https://api.github.com/repos/actions/upload-artifact/git/ref/tags/v4/usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v4 --jq .object.sha -unreachable=false /tmp/go-build340247354/b100/vet.cfg(http block)https://api.github.com/repos/github/gh-aw-actions/git/ref/tags/v0.1.2/usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v0.1.2 --jq .object.sha -test.paniconexit0 -test.v=true(http block)https://api.github.com/repos/github/gh-aw-actions/git/ref/tags/v1.0.0/usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.0.0 --jq .object.sha -unreachable=false /tmp/go-build340247354/b102/vet.cfg _.a --get-regexp --global e/git-remote-htt--show-toplevel /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet -uns�� -unreachable=false /tmp/go-build340247354/b263/vet.cfg ache/go/1.25.0/x64/pkg/tool/linux_amd64/link om/github/gh-aw --local ndor/bin/bash ache/go/1.25.0/x64/pkg/tool/linux_amd64/link(http block)https://api.github.com/repos/github/gh-aw-actions/git/ref/tags/v1.2.3/usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.2.3 --jq .object.sha 3319-13647/test-2519678007 /tmp/go-build340247354/b122/vet.cfg /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet l --global om /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet -uns�� -unreachable=false /tmp/go-build340247354/b258/vet.cfg ache/go/1.25.0/x64/pkg/tool/linux_amd64/vet get flow-12345(http block)https://api.github.com/repos/github/gh-aw/actions/artifacts/6124079383/zip/usr/bin/gh gh api -H Accept: application/vnd.github+json /repos/github/gh-aw/actions/artifacts/6124079383/zip(http block)/usr/bin/curl curl -sL -H Accept: application/vnd.github+json -H Authorization: ****** -H X-GitHub-Api-Version: 2022-11-28 REDACTED -o agent-artifact.zip(http block)https://api.github.com/repos/github/gh-aw/actions/runs/1/artifacts/usr/bin/gh gh run download 1 --dir test-logs/run-1 s/claude-code-user-docs-review.md x_amd64/vet ignore(http block)https://api.github.com/repos/github/gh-aw/actions/runs/12345/artifacts/usr/bin/gh gh run download 12345 --dir test-logs/run-12345 s/claude-code-user-docs-review.md x_amd64/vet ignore(http block)https://api.github.com/repos/github/gh-aw/actions/runs/12346/artifacts/usr/bin/gh gh run download 12346 --dir test-logs/run-12346 s/claude-code-user-docs-review.mmain x_amd64/compile ignore(http block)https://api.github.com/repos/github/gh-aw/actions/runs/2/artifacts/usr/bin/gh gh run download 2 --dir test-logs/run-2 s/claude-code-user-docs-review.m-w 64/pkg/tool/linux_amd64/vet ignore(http block)https://api.github.com/repos/github/gh-aw/actions/runs/3/artifacts/usr/bin/gh gh run download 3 --dir test-logs/run-3(http block)https://api.github.com/repos/github/gh-aw/actions/runs/4/artifacts/usr/bin/gh gh run download 4 --dir test-logs/run-4(http block)https://api.github.com/repos/github/gh-aw/actions/runs/5/artifacts/usr/bin/gh gh run download 5 --dir test-logs/run-5(http block)https://api.github.com/repos/github/gh-aw/actions/workflows/usr/bin/gh gh workflow list --json name,state,path --local pull.rebase(http block)/usr/bin/gh gh run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --workflow nonexistent-workflow-12345 --limit 100(http block)/usr/bin/gh gh run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --workflow nonexistent-workflow-12345 --limit 6(http block)https://api.github.com/repos/github/gh-aw/git/ref/tags/v1.0.0/usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.0.0 --jq .object.sha y-test.md(http block)https://api.github.com/repos/github/gh-aw/git/ref/tags/v1.2.3/usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.2.3 --jq .object.sha th .prettierigno-errorsas(http block)https://api.github.com/repos/github/gh-aw/git/ref/tags/v2.0.0/usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq .object.sha th .prettierigno-errorsas(http block)/usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq .object.sha th .prettierignore --log-level=e!../../../pkg/workflow/js/**/*.json(http block)/usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq .object.sha th .prettierignore --log-level=error(http block)https://api.github.com/repos/github/gh-aw/git/ref/tags/v3.0.0/usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v3.0.0 --jq .object.sha th .prettierigno-errorsas(http block)https://api.github.com/repos/nonexistent/action/git/ref/tags/v999.999.999/usr/bin/gh gh api /repos/nonexistent/action/git/ref/tags/v999.999.999 --jq .object.sha(http block)https://api.github.com/repos/nonexistent/repo/actions/runs/12345/usr/bin/gh gh run view 12345 --repo nonexistent/repo --json status,conclusion nore setup/js/node_morev-parse(http block)https://api.github.com/repos/owner/repo/actions/workflows/usr/bin/gh gh workflow list --json name,state,path --repo owner/repo de/node/bin/bash(http block)/usr/bin/gh gh workflow list --json name,state,path --repo owner/repo cal/bin/bash(http block)https://api.github.com/repos/owner/repo/contents/file.md/tmp/go-build340247354/b403/cli.test /tmp/go-build340247354/b403/cli.test -test.testlogfile=/tmp/go-build340247354/b403/testlog.txt -test.paniconexit0 -test.v=true -test.parallel=4 -test.timeout=10m0s -test.run=^Test -test.short=true(http block)https://api.github.com/repos/test-owner/test-repo/actions/secrets/usr/bin/gh gh api /repos/test-owner/test-repo/actions/secrets --jq .secrets[].name --local pull.rebase sh(http block)If you need me to access, download, or install something from one of these locations, you can either:
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.