Skip to content

test(e2e): publish shared local Playwright suite - #241

Merged
ThisIs-Developer merged 3 commits into
mainfrom
agent/publish-playwright-tests
Aug 11, 2026
Merged

test(e2e): publish shared local Playwright suite#241
ThisIs-Developer merged 3 commits into
mainfrom
agent/publish-playwright-tests

Conversation

@ThisIs-Developer

@ThisIs-Developer ThisIs-Developer commented Aug 11, 2026

Copy link
Copy Markdown
Owner

What changed

  • publishes the root Playwright configuration, 109-test Chromium suite, fixtures, helpers, and locked npm dependencies
  • adds a cross-platform local static server and static validation for JavaScript syntax, JSON, HTML references/IDs, and desktop-resource synchronization
  • documents clean local setup and contributor-run commands in tests/README.md and wiki/Contributing.md
  • removes private machine paths and unconditional screenshots from the shared tests
  • fixes readiness/reload races and clipboard result handling exposed by the suite
  • updates DOMPurify and js-yaml, uses valid integrity-checked CDN assets, restores local WebKit compatibility, and synchronizes the Neutralino offline resources
  • keeps .nvmrc to pin Node.js 22 for reproducible local contributor installs
  • adds vercel.json to preserve the existing root-served static deployment after introducing the root package.json

Local-only testing policy

This PR intentionally does not add a GitHub Actions workflow for Playwright. Contributors run the relevant checks locally before requesting review or merging. Playwright reports and failure artifacts remain local and ignored by Git.

Why

The contributing guide advertised root npm run build and npm run test:e2e commands, but the root package, Playwright configuration, and tests were excluded from version control. A fresh clone therefore could not run the maintainer's local workflow. This publishes that workflow for contributors without adding remote test execution.

Fixes #240.

Local validation

  • npm ci
  • npm audit --audit-level=high — 0 vulnerabilities
  • npm run build — passed
  • npm test — 109/109 Chromium tests passed
  • npm run test:e2e:cross-browser — 9/9 smoke tests passed across Chromium, Firefox, and WebKit
  • final local-only configuration check: npm run build and npm run test:e2e:smoke — 3/3 passed
  • reset/reload stability check — 5/5 repeated runs passed
  • git diff --check — passed

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Aug 11, 2026

Copy link
Copy Markdown

Deploying markdownviewer with  Cloudflare Pages  Cloudflare Pages

Latest commit: 7f5fd89
Status: ✅  Deploy successful!
Preview URL: https://599edce8.markdownviewer.pages.dev
Branch Preview URL: https://agent-publish-playwright-tes.markdownviewer.pages.dev

View logs

@vercel

vercel Bot commented Aug 11, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
markdown-viwer Ready Ready Preview Aug 11, 2026 5:15pm

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 43 out of 45 changed files in this pull request and generated no new comments.

Suppressed comments (2)

tests/e2e/smoke.spec.js:11

  • The smoke test spawns the static build check via execFileSync('node', ...). Relying on a node binary in PATH can fail in constrained CI/sandbox environments; using process.execPath ensures the same Node runtime running the tests is used.
test('static build smoke check passes', () => {
  const output = execFileSync('node', ['tests/helpers/static-build-check.mjs'], {
    cwd: process.cwd(),
    encoding: 'utf8'
  });

tests/helpers/static-server.mjs:38

  • resolveRequestPath() calls decodeURIComponent() on the URL pathname; malformed percent-encoding (e.g., "/%E0%A4%A") will throw and crash the static server process. Treat decode failures as a forbidden path (return null) so the server responds 403/404 instead of exiting.

@ThisIs-Developer ThisIs-Developer changed the title test(e2e): publish shared Playwright suite and CI test(e2e): publish shared local Playwright suite Aug 11, 2026
@ThisIs-Developer
ThisIs-Developer marked this pull request as ready for review August 11, 2026 17:21
@ThisIs-Developer
ThisIs-Developer merged commit c1445fc into main Aug 11, 2026
4 checks passed
@ThisIs-Developer
ThisIs-Developer deleted the agent/publish-playwright-tests branch August 11, 2026 17:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Contributing.md mentions root npm run build / test:e2e, but neither exists

2 participants