Skip to content

[q] fix: add Node.js 22 runtime to daily-multi-device-docs-tester (#23449) #23451

@github-actions

Description

@github-actions

Q Workflow Optimization Report

Issue Found (from live data)

Workflow: daily-multi-device-docs-tester
Run analyzed: #23708510481 — March 29, 2026

The daily-multi-device-docs-tester workflow was missing runtimes: node: version: "22", which is explicitly required by the shared docs-server-lifecycle.md import it uses.

Root cause (from agent log evidence):

Node.js v20.20.1 is not supported by Astro!
Please upgrade Node.js to a supported version: ">=22.12.0"

The agent encountered this error twice (at 12:02:00 and 12:04:53 UTC) before finding a Node.js 22 toolchain in /opt/hostedtoolcache. This added ~5 minutes of failed server start attempts before a working server was started.

Impact of missing runtime:

  • 57 agent turns (vs. ~20 expected) — costing $1.61 in a single run
  • Playwright testing window was compressed; the server was still "cold" when Playwright connected
  • Playwright navigation timed out (page.goto: Timeout 30000ms exceeded) on the first attempt
  • Agent correctly fell back to static curl/HTML analysis as instructed by the lifecycle doc
  • Result: no real browser screenshots, no JavaScript interaction testing, no visual rendering checks

Comparison: docs-noob-tester.md already has runtimes: node: version: "22" set correctly. This fix brings daily-multi-device-docs-tester.md into alignment.


Change Made

File: .github/workflows/daily-multi-device-docs-tester.md

Added:

runtimes:
  node:
    version: "22"  # Astro 6.x requires Node.js >= 22; without this the dev server fails and agent wastes many turns
```

---

## Expected Improvements

- Astro dev server starts **on the first try** (no Node.js version errors)
- Agent turn count reduces from ~57 to ~20–25
- Cost per run reduces from ~$1.61 to ~$0.50–0.70
- Server is warm and ready when Playwright connects → better chance of successful browser testing
- Report quality improves: real screenshots and JS interaction testing become possible

---

## Validation

Compiled successfully with the `compile` tool (strict mode):
```
✅ daily-multi-device-docs-tester.md — valid, no errors, no warnings

Note: .lock.yml included as it was regenerated by the compile step.


References


Warning

Protected Files — Push Permission Denied

This was originally intended as a pull request, but the patch modifies protected files. A human must create the pull request manually.

Protected files

The push was rejected because GitHub Actions does not have workflows permission to push these changes, and is never allowed to make such changes, or other authorization being used does not have this permission.

Create the pull request manually
# Download the patch from the workflow run
gh run download 23708799537 -n agent -D /tmp/agent-23708799537

# Create a new branch
git checkout -b q/fix-playwright-node-runtime-63b9a62853fb2921 main

# Apply the patch (--3way handles cross-repo patches)
git am --3way /tmp/agent-23708799537/aw-q-fix-playwright-node-runtime.patch

# Push the branch and create the pull request
git push origin q/fix-playwright-node-runtime-63b9a62853fb2921
gh pr create --title '[q] fix: add Node.js 22 runtime to daily-multi-device-docs-tester (#23449)' --base main --head q/fix-playwright-node-runtime-63b9a62853fb2921 --repo github/gh-aw

🎩 Equipped by Q ·

  • expires on Mar 31, 2026, 12:27 PM UTC

Metadata

Metadata

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions