Skip to content

Set up Playwright#229

Merged
yamcodes merged 16 commits intomainfrom
51-add-end-to-end-testing
Oct 14, 2025
Merged

Set up Playwright#229
yamcodes merged 16 commits intomainfrom
51-add-end-to-end-testing

Conversation

@yamcodes
Copy link
Owner

@yamcodes yamcodes commented Oct 14, 2025

Set up Playwright within the project.

Addresses #51 but doesn't fully close it, as this is just the basic infra not the full test.

Summary by CodeRabbit

  • New Features

    • Added end-to-end testing suite with Playwright, multi-browser runs, and test scripts.
  • Tests

    • Added initial E2E “hello world” tests, reporting, and CI artifact upload.
    • CI now runs PR-aware affected E2E jobs and full suites on non-PRs.
  • Documentation

    • Added Playwright README with setup and run instructions.
  • Chores

    • Added tooling workspace, editor recommendations, test ignore rules, and streamlined CI token generation and cache settings.

- Added 'tooling/*' to the pnpm workspace configuration to include tooling packages.
- Moved the GitHub App Token generation step in the release workflow for better organization and clarity.
- Removed duplicate token generation step to streamline the workflow.
- Introduced a new package.json file for the 'playwright-www' tooling package.
- Added new workspace entries for 'docs' and 'assets' under 'apps/www/content' and 'apps/www/public' respectively.
- Included 'tooling' and 'playwright-www' under the 'tooling' directory to improve project organization and accessibility.
- Removed duplicate entries for 'docs' and 'assets' to streamline the workspace structure.
@yamcodes yamcodes linked an issue Oct 14, 2025 that may be closed by this pull request
@changeset-bot
Copy link

changeset-bot bot commented Oct 14, 2025

⚠️ No Changeset found

Latest commit: 10be36c

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

💥 An error occurred when fetching the changed packages and changesets in this PR
Some errors occurred when validating the changesets config:
The package "@repo/playwright-www" depends on the ignored package "www", but "@repo/playwright-www" is not being ignored. Please add "@repo/playwright-www" to the `ignore` option.

@vercel
Copy link

vercel bot commented Oct 14, 2025

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

Project Deployment Preview Comments Updated (UTC)
arkenv Ready Ready Preview Comment Oct 14, 2025 8:43pm

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Oct 14, 2025

Walkthrough

Adds Playwright E2E tooling and tests for the www app, expands workspace and Turbo tasks, adds a PR-aware CI job for E2E runs, moves GitHub App token generation earlier in release workflow and removes its duplicate, and normalizes pnpm cache quoting in workflows.

Changes

Cohort / File(s) Summary
CI Workflows
.github/workflows/release.yml, .../.github/workflows/tests.yml
Move GitHub App token generation before checkout and remove duplicate step; add test-e2e CI job with PR-aware base/head setup, pnpm/Playwright caching and install, affected-vs-full Turbo run, and Playwright report upload; normalize cache quoting to "pnpm".
Monorepo / Turbo & Scripts
package.json, pnpm-workspace.yaml, turbo.json
Add test:e2e* npm scripts; include tooling/* in pnpm workspace and Playwright override; add Turbo tasks test:e2e, test:e2e:report, test:e2e:ui, test:e2e:update with dependencies and env passthrough.
Workspace File
arkenv.code-workspace
Add tooling and tooling/playwright-www workspace folders; intermediate docs/assets entries were added then removed (final file keeps tooling entries).
Playwright Tooling Package
tooling/playwright-www/*
tooling/playwright-www/.gitignore, .../.vscode/extensions.json, .../README.md, .../bin/update-playwright.sh, .../package.json, .../playwright.config.ts, .../tests/hello-world.spec.ts, .../tsconfig.json
Add new private E2E package with gitignore, VSCode extensions, README, update script, package metadata & scripts, Playwright config (webServer, multi-browser projects), two sample hello-world tests, and tsconfig.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  actor Dev as Developer / CI
  participant GH as GitHub Actions
  participant PNPM as pnpm
  participant Turbo as Turbo
  participant PW as Playwright
  participant WWW as apps/www

  rect rgba(200,220,255,0.15)
  note over GH: test-e2e job decision (PR vs push)
  GH->>GH: Detect event (pull_request or push)
  GH->>GH: If PR: fetch base SHA, set TURBO_BASE/TURBO_HEAD
  end

  GH->>PNPM: Setup Node + pnpm (cache "pnpm")
  GH->>PNPM: pnpm install (workspace)
  GH->>PW: Cache/install Playwright browsers

  alt PR
    GH->>Turbo: turbo run test:e2e --affected
  else Push
    GH->>Turbo: turbo run test:e2e
  end

  rect rgba(220,255,220,0.15)
  note over PW,WWW: Playwright runs and manages web server
  Turbo->>PW: Run @repo/playwright-www tests
  PW->>WWW: Start or reuse dev server
  PW->>PW: Execute tests across browsers
  end

  GH-->>GH: Upload Playwright HTML report (if produced)
Loading
sequenceDiagram
  autonumber
  participant Rel as Release Workflow
  participant App as actions/create-github-app-token@v2
  participant CO as actions/checkout

  note over Rel: release.yml ordering change
  Rel->>App: Generate GitHub App Token (app-id, private-key)
  Rel->>CO: Checkout using generated App token
  Rel-->>Rel: Duplicate token generation removed
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Suggested labels

tests, infra, www

Poem

I hop with scripts and tiny paws,
Browsers dance through testing laws.
Playwright lights the staging way,
Turbo runs and clears the day.
CI carrots, reports in rows — I cheer where green code grows. 🥕

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The title succinctly reflects the primary change, which is adding Playwright as the end-to-end testing framework, and it is concise, clear, and specific to the main goal of the pull request.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch 51-add-end-to-end-testing

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

- Introduced a new package '@repo/playwright-www' for managing Playwright tests.
- Added scripts for running end-to-end tests in various modes (UI, headed, debug).
- Configured Playwright with a dedicated configuration file and test structure.
- Updated pnpm and turbo configurations to support new testing tasks.
- Included a .gitignore for Playwright-specific files and directories.
- Enhanced documentation with setup instructions and test execution guidelines.
@github-actions github-actions bot added the docs Improvements or additions to documentation label Oct 14, 2025
- Standardized cache syntax for pnpm in multiple steps.
- Added a new job for end-to-end testing using Playwright, including installation of dependencies and browsers.
- Configured the workflow to run Playwright tests and upload the test report as an artifact.
…uration

- Introduced new scripts for end-to-end testing in package.json, including report generation and updates.
- Enhanced turbo.json with new tasks for e2e reporting and UI testing.
- Added a new script to update Playwright and its dependencies in tooling/playwright-www/bin/update-playwright.sh.
@yamcodes yamcodes changed the title 51 add end to end testing Set up Playwright Oct 14, 2025
@yamcodes yamcodes removed a link to an issue Oct 14, 2025
…ns workflow

- Changed the command for installing Playwright browsers from `npx` to `pnpm exec` to ensure consistency with the package manager used in the workflow.
- Added caching for Playwright browsers to improve workflow efficiency.
- Updated the command for installing Playwright browsers to use `pnpm dlx`.
- Modified the test command to include a filter for better test selection.
- Adjusted the path for uploading Playwright reports to include all report directories.
- Added fetch-depth configuration to checkout step for full history access.
- Introduced environment variables for Turbo base and head commits during pull requests.
- Modified E2E test command to run affected tests for pull requests and all tests for main branch pushes.
@yamcodes yamcodes marked this pull request as ready for review October 14, 2025 19:57
@yamcodes yamcodes added the www Improvements or additions to arkenv.js.org label Oct 14, 2025
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 4

🧹 Nitpick comments (6)
tooling/playwright-www/tests/hello-world.spec.ts (1)

19-19: Consider using Playwright's configured output directory for screenshots.

The hardcoded relative path "tests/screenshots/hello-world.png" works but bypasses Playwright's output configuration. For better maintainability and CI integration, consider using the test output directory pattern or storing screenshots in the standard Playwright output location.

For example, you could use:

await page.screenshot({ path: `test-results/${test.info().titlePath.join('-')}.png` });

Or configure outputDir in playwright.config.ts and reference it via test info.

tooling/playwright-www/bin/update-playwright.sh (1)

1-10: Harden the script with strict mode

Add bash strict mode so failures stop the updater early; keeps CI/dev flows predictable.

 #!/bin/bash
+
+set -euo pipefail
+
 # Update Playwright and download new browser binaries and their dependencies:
 pnpm install --save-dev @playwright/test@latest
 pnpm exec playwright install --with-deps

Also ensure this file is executable (git +x).

tooling/playwright-www/package.json (1)

5-12: Minor: consider adding engines and aligning version ranges

Optional polish:

  • Add engines to mirror CI Node (22) for clearer constraints.
  • Align @types/node to a caret range like others, unless you intentionally want a hard pin.
 {
   "name": "@repo/playwright-www",
   "version": "0.0.0",
   "private": true,
+  "engines": { "node": ">=20 <23" },
   "scripts": {
     "test:e2e": "playwright test",
     "test:e2e:ui": "playwright test --ui",
     "test:e2e:headed": "playwright test --headed",
     "test:e2e:debug": "playwright test --debug",
     "test:e2e:report": "playwright show-report",
     "test:e2e:update": "bin/update-playwright.sh"
   },
   "dependencies": {
     "www": "workspace:*"
   },
   "devDependencies": {
     "@playwright/test": "^1.56.0",
-    "@types/node": "24.7.2",
+    "@types/node": "^24.7.2",
     "typescript": "^5.9.3"
   }
 }
```<!-- review_comment_end -->


Also applies to: 16-20

</blockquote></details>
<details>
<summary>turbo.json (1)</summary><blockquote>

`46-61`: **LGTM: Playwright task graph integration**

Good separation of e2e, report, and UI tasks with pass-through env. Consider adding "CI" to passThroughEnv if you rely on Playwright’s CI heuristics, but not required.


<!-- review_comment_end -->

</blockquote></details>
<details>
<summary>.github/workflows/tests.yml (2)</summary><blockquote>

`108-115`: **Remove unused variable (ShellCheck SC2034)**

BASE_REF is assigned but never used. Drop it to quiet lint and reduce noise.


```diff
-      - name: Fetch base commit for PRs
+      - name: Fetch base commit for PRs
         if: ${{ github.event_name == 'pull_request' }}
         shell: bash
         run: |
           BASE_SHA='${{ github.event.pull_request.base.sha }}'
-          BASE_REF='${{ github.event.pull_request.base.ref }}'
           BASE_REPO='${{ github.event.pull_request.base.repo.full_name }}'
           THIS_REPO='${{ github.repository }}'

125-130: Quote $GITHUB_ENV (ShellCheck SC2086)

Quote $GITHUB_ENV to prevent word splitting and globbing.

-          echo "TURBO_SCM_BASE=${{ github.event.pull_request.base.sha }}" >> $GITHUB_ENV
-          echo "TURBO_SCM_HEAD=${{ github.event.pull_request.head.sha }}" >> $GITHUB_ENV
+          echo "TURBO_SCM_BASE=${{ github.event.pull_request.base.sha }}" >> "$GITHUB_ENV"
+          echo "TURBO_SCM_HEAD=${{ github.event.pull_request.head.sha }}" >> "$GITHUB_ENV"

You can re-run actionlint locally to confirm the warnings are gone.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 0ab77a2 and b36b004.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (14)
  • .github/workflows/release.yml (2 hunks)
  • .github/workflows/tests.yml (4 hunks)
  • arkenv.code-workspace (2 hunks)
  • package.json (1 hunks)
  • pnpm-workspace.yaml (1 hunks)
  • tooling/playwright-www/.gitignore (1 hunks)
  • tooling/playwright-www/.vscode/extensions.json (1 hunks)
  • tooling/playwright-www/README.md (1 hunks)
  • tooling/playwright-www/bin/update-playwright.sh (1 hunks)
  • tooling/playwright-www/package.json (1 hunks)
  • tooling/playwright-www/playwright.config.ts (1 hunks)
  • tooling/playwright-www/tests/hello-world.spec.ts (1 hunks)
  • tooling/playwright-www/tsconfig.json (1 hunks)
  • turbo.json (1 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
**/README.md

📄 CodeRabbit inference engine (.github/copilot-instructions.md)

Document environment requirements in README files

Files:

  • tooling/playwright-www/README.md
🪛 actionlint (1.7.8)
.github/workflows/tests.yml

111-111: shellcheck reported issue in this script: SC2034:warning:2:1: BASE_REF appears unused. Verify use (or export if used externally)

(shellcheck)


127-127: shellcheck reported issue in this script: SC2086:info:1:68: Double quote to prevent globbing and word splitting

(shellcheck)


127-127: shellcheck reported issue in this script: SC2086:info:2:68: Double quote to prevent globbing and word splitting

(shellcheck)

🪛 LanguageTool
tooling/playwright-www/README.md

[grammar] ~48-~48: There might be a mistake here.
Context: ...figuration The tests are configured to: - Start the www app on `http://localhost:3...

(QB_NEW_EN)

🔇 Additional comments (6)
pnpm-workspace.yaml (1)

5-5: LGTM!

The workspace expansion correctly includes the new tooling directory, supporting the Playwright test infrastructure introduced in this PR.

tooling/playwright-www/.vscode/extensions.json (1)

1-3: LGTM!

The Playwright extension recommendation is appropriate and will help developers with test authoring and debugging.

tooling/playwright-www/tsconfig.json (1)

1-103: LGTM!

The TypeScript configuration is appropriate for a Playwright test project with strict type checking enabled and proper interop settings.

arkenv.code-workspace (1)

7-14: LGTM!

The workspace folder additions properly organize the new tooling structure and content directories for better navigation in VSCode.

Also applies to: 27-34

package.json (1)

18-21: LGTM!

The new E2E test scripts properly delegate to Turbo and provide clear entry points for different test modes (run, report, UI, update).

.github/workflows/release.yml (1)

18-24: LGTM: token generation order and cache config

Early token generation and consistent cache quoting look good. If you ever need private submodules, pass the token to actions/checkout; otherwise current setup is fine.

Also applies to: 35-35

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
@github-actions github-actions bot removed the www Improvements or additions to arkenv.js.org label Oct 14, 2025
… changes

- Added environment requirements section detailing Node.js version, supported operating systems, and browser installation.
- Updated test command examples to use the new `pnpm run` syntax for consistency.
- Moved the page navigation and HTML structure validation checks to the correct position within the test for better clarity and execution flow.
- Ensured that the checks for visibility and attachment of HTML elements occur after the page has been navigated to the root URL.
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

♻️ Duplicate comments (1)
tooling/playwright-www/README.md (1)

43-46: Fix Turbo task name and verify package scope.
Likely should be test:e2e, not e2e. Also confirm the filter matches the actual package name.

Apply this diff:

-# Run e2e tests for this package
-turbo run e2e --filter=@repo/playwright-www
+# Run e2e tests for this package
+turbo run test:e2e --filter=@repo/playwright-www

Verify Turbo task and package name:

#!/bin/bash
# Find turbo config and verify task names
fd -a turbo.json turbo.config.*.json turbo.*.json || true
rg -nP '"test:e2e"|"\be2e\b"' -C3 --type=json
# Confirm actual package name used for filter
jq -r '.name' tooling/playwright-www/package.json 2>/dev/null
🧹 Nitpick comments (5)
tooling/playwright-www/tests/hello-world.spec.ts (2)

18-19: Consider using test artifacts for screenshots.

The relative path tests/screenshots/hello-world.png may not resolve correctly depending on the execution context. Playwright's test fixtures provide a more reliable approach via testInfo.outputPath().

Apply this diff to use test artifacts:

-test("hello world - basic page load", async ({ page }) => {
+test("hello world - basic page load", async ({ page }, testInfo) => {
 	// Navigate to the homepage
 	await page.goto("/");
 
 	// Wait for the page to load
 	await page.waitForLoadState("networkidle");
 
 	// Check that the page title is not empty
 	const title = await page.title();
 	expect(title).toBeTruthy();
 
 	// Check that the page has some content
 	const body = await page.locator("body");
 	await expect(body).toBeVisible();
 
 	// Take a screenshot for visual verification
-	await page.screenshot({ path: "tests/screenshots/hello-world.png" });
+	await page.screenshot({ path: testInfo.outputPath("hello-world.png") });
 });

22-44: Previous concern resolved; consider modernizing to Playwright 1.56.0 API.

The console listener is now correctly registered before page.goto("/"), resolving the previous review concern. However, Playwright 1.56.0 introduces a more reliable approach using the page.consoleMessages() introspection API, which retrieves all console messages after page load without requiring event listener timing.

Based on learnings

Apply this diff to use the newer API:

 test("hello world - check for basic HTML structure", async ({ page }) => {
-	// Check that the page has loaded without major errors
-	const consoleErrors: string[] = [];
-	page.on("console", (msg) => {
-		if (msg.type() === "error") {
-			consoleErrors.push(msg.text());
-		}
-	});
-
 	await page.goto("/");
 
 	// Check that we have a proper HTML structure
 	await expect(page.locator("html")).toBeVisible();
 	await expect(page.locator("head")).toBeAttached();
 	await expect(page.locator("body")).toBeVisible();
 
 	await page.waitForLoadState("networkidle");
 
-	// Log any console errors for debugging
+	// Check for console errors using the new introspection API
+	const messages = await page.consoleMessages();
+	const consoleErrors = messages
+		.filter((msg) => msg.type() === "error")
+		.map((msg) => msg.text());
+
 	if (consoleErrors.length > 0) {
 		console.log("Console errors found:", consoleErrors);
 	}
 });
tooling/playwright-www/playwright.config.ts (1)

66-70: Add timeout and output handling to webServer for reliability.

The webServer configuration lacks a timeout and output stream handling, which can make debugging server startup failures difficult and cause tests to hang if the server is slow to start.

Apply this diff to add recommended options:

 	/* Run your local dev server before starting the tests */
 	webServer: {
 		command: "pnpm --filter=www run dev",
 		url: "http://localhost:3000",
 		reuseExistingServer: !process.env.CI,
+		timeout: 120 * 1000, // 2 minutes
+		stdout: "pipe",
+		stderr: "pipe",
 	},

These additions:

  • timeout: Explicitly sets a 2-minute startup timeout (adjust based on your server's typical startup time)
  • stdout/stderr: "pipe": Pipes server output to test logs for easier debugging when startup fails
tooling/playwright-www/README.md (2)

15-21: Add dependency install step and prefer workspace exec.
Include pnpm install before installing browsers; use pnpm exec for local CLI.

-### Install Dependencies
-
-First, install the Playwright browsers:
+### Install dependencies and browsers
+
+Install package dependencies, then Playwright browsers:
 
 ```bash
+npm i -g pnpm # if needed
+pnpm install
-npx playwright install
+pnpm exec playwright install
+# On Linux CI or fresh containers, consider:
+# pnpm exec playwright install --with-deps

---

`56-60`: **Align configuration notes with actual settings & add HTML report tip**  

After the list, add:  
```diff
+ To view the HTML report locally after a run:
+   pnpm run test:e2e:report
+
+ To change base URL/port or target browsers, edit tooling/playwright-www/playwright.config.ts (webServer.port, use.baseURL, projects).
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between b36b004 and cd92f29.

📒 Files selected for processing (3)
  • tooling/playwright-www/README.md (1 hunks)
  • tooling/playwright-www/playwright.config.ts (1 hunks)
  • tooling/playwright-www/tests/hello-world.spec.ts (1 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
**/README.md

📄 CodeRabbit inference engine (.github/copilot-instructions.md)

Document environment requirements in README files

Files:

  • tooling/playwright-www/README.md
🪛 LanguageTool
tooling/playwright-www/README.md

[grammar] ~9-~9: There might be a mistake here.
Context: ...ou have: - Node.js: v18.x or higher - Operating System: macOS, Linux, or Win...

(QB_NEW_EN)


[grammar] ~10-~10: There might be a mistake here.
Context: ...ating System**: macOS, Linux, or Windows - Browsers: Playwright browsers installe...

(QB_NEW_EN)


[grammar] ~56-~56: There might be a mistake here.
Context: ...figuration The tests are configured to: - Start the www app on `http://localhost:3...

(QB_NEW_EN)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: test-e2e
🔇 Additional comments (3)
tooling/playwright-www/playwright.config.ts (1)

14-15: Verify single worker limitation in CI.

Setting workers to 1 in CI eliminates parallelism, which significantly slows test execution. While this may be intentional to avoid resource constraints or flaky tests, most modern CI environments handle multiple workers well. With only three browser projects configured, parallel execution would substantially reduce runtime.

Consider increasing to 2 or removing the override to use Playwright's default (50% of CPU cores):

-	/* Opt out of parallel tests on CI. */
-	workers: process.env.CI ? 1 : undefined,
+	/* Use moderate parallelism on CI. */
+	workers: process.env.CI ? 2 : undefined,
tooling/playwright-www/README.md (2)

5-12: Environment requirements: LGTM.
Clear, concise, and meets guidelines.


25-37: Scripts in README match package.json Confirmed test:e2e, test:e2e:ui, test:e2e:headed, and test:e2e:debug are defined in tooling/playwright-www/package.json.

- Added Playwright as a devDependency in package.json.
- Updated pnpm-lock.yaml and pnpm-workspace.yaml to reflect the new version.
- Modified GitHub Actions workflow to use the updated command for installing Playwright browsers.
- Changed screenshot output path from `tests/screenshots/` to `tests/test-results/` in `hello-world.spec.ts`.
- Updated `.gitignore` to reflect the new test results directory.
- Modified `playwright.config.ts` to specify the output directory for test artifacts.
- Revised README.md to describe the new structure for test artifacts.
- Modified the test command example from `turbo run e2e` to `turbo run test:e2e` for clarity and accuracy.
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between cd92f29 and fa5ef75.

⛔ Files ignored due to path filters (2)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
  • tooling/playwright-www/tests/screenshots/hello-world.png is excluded by !**/*.png
📒 Files selected for processing (7)
  • .github/workflows/tests.yml (4 hunks)
  • package.json (1 hunks)
  • pnpm-workspace.yaml (1 hunks)
  • tooling/playwright-www/.gitignore (1 hunks)
  • tooling/playwright-www/README.md (1 hunks)
  • tooling/playwright-www/playwright.config.ts (1 hunks)
  • tooling/playwright-www/tests/hello-world.spec.ts (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (3)
  • package.json
  • tooling/playwright-www/playwright.config.ts
  • tooling/playwright-www/tests/hello-world.spec.ts
🧰 Additional context used
📓 Path-based instructions (1)
**/README.md

📄 CodeRabbit inference engine (.github/copilot-instructions.md)

Document environment requirements in README files

Files:

  • tooling/playwright-www/README.md
🪛 LanguageTool
tooling/playwright-www/README.md

[grammar] ~9-~9: There might be a mistake here.
Context: ...ou have: - Node.js: v18.x or higher - Operating System: macOS, Linux, or Win...

(QB_NEW_EN)


[grammar] ~10-~10: There might be a mistake here.
Context: ...ating System**: macOS, Linux, or Windows - Browsers: Playwright browsers installe...

(QB_NEW_EN)


[grammar] ~56-~56: There might be a mistake here.
Context: ...figuration The tests are configured to: - Start the www app on `http://localhost:3...

(QB_NEW_EN)

- Changed the installation instructions to use `pnpm install` for project dependencies.
- Updated the Playwright browser installation command to `pnpm exec playwright install` for consistency with the new setup.
@yamcodes yamcodes merged commit ed9ca44 into main Oct 14, 2025
14 of 15 checks passed
@yamcodes yamcodes deleted the 51-add-end-to-end-testing branch October 14, 2025 20:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant