Improve pr builder around playwright tests and product build - #4339
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (5)
💤 Files with no reviewable changes (2)
🚧 Files skipped from review as they are similar to previous changes (3)
📝 WalkthroughWalkthroughBackend coverage and unit-test gating now use build scripts. Frontend and E2E jobs run in Playwright containers, with detached application processes and six workers. Shared-state E2E specs run through ordered browser projects, and obsolete Playwright setup workflows were removed. ChangesCI test pipeline
Estimated code review effort: 4 (Complex) | ~45 minutes Sequence Diagram(s)sequenceDiagram
participant CI
participant PlaywrightContainer
participant Applications
participant PlaywrightTests
CI->>PlaywrightContainer: Start frontend and E2E jobs
PlaywrightContainer->>Applications: Start detached server and sample app
PlaywrightContainer->>PlaywrightTests: Run tests with six workers
PlaywrightTests->>Applications: Execute browser scenarios
Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 ESLint
tests/e2e/playwright.config.tsParsing error: error TS5012: Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'. 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. Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
🧹 Nitpick comments (1)
.github/workflows/pr-builder.yml (1)
739-741: 🩺 Stability & Availability | 🔵 Trivial | ⚡ Quick winAlign the Playwright E2E container image with the locked
@playwright/testversion.
tests/e2elocks@playwright/testto 1.60.0 via the frontend catalog, but.github/workflows/pr-builder.ymlinstalls Playwright packages from the registry inside themcr.microsoft.com/playwright:v1.60.0-noblecontainer. Use a catalog-derived lock value or document why this image is intentionally decoupled from the package lock to keep E2E results trustworthy.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.github/workflows/pr-builder.yml around lines 739 - 741, Align the Playwright E2E container image in the workflow with the catalog-locked `@playwright/test` 1.60.0 version by deriving the image tag from the same lock source where workflow interpolation supports it; otherwise document the intentional decoupling and its rationale near the container configuration. Preserve the existing noble image variant and root-user option.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/workflows/pr-builder.yml:
- Around line 379-380: Update the “📥 Checkout Code” actions/checkout step to
set persist-credentials to false, matching the other checkout steps in the
workflow while leaving its existing pinned action version unchanged.
- Around line 764-765: Update the “📥 Checkout Code” step using actions/checkout
to set persist-credentials to false, ensuring subsequent package installation
and system commands cannot access persisted checkout credentials.
- Around line 263-264: Update the actions/checkout step in the workflow to set
persist-credentials to false, preventing the GitHub token from being retained in
.git/config for the remainder of the job.
---
Nitpick comments:
In @.github/workflows/pr-builder.yml:
- Around line 739-741: Align the Playwright E2E container image in the workflow
with the catalog-locked `@playwright/test` 1.60.0 version by deriving the image
tag from the same lock source where workflow interpolation supports it;
otherwise document the intentional decoupling and its rationale near the
container configuration. Preserve the existing noble image variant and root-user
option.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: 455b8f33-03a6-4958-bbbd-bd60daf0a66f
📒 Files selected for processing (5)
.github/actions/setup-playwright/action.yml.github/workflows/pr-builder.yml.github/workflows/warm-playwright-cache.ymltests/e2e/playwright.config.tsturbo.json
💤 Files with no reviewable changes (2)
- .github/workflows/warm-playwright-cache.yml
- .github/actions/setup-playwright/action.yml
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
aa42a44 to
078ba20
Compare
Purpose
This pull request makes several significant improvements to the GitHub Actions CI workflows and Playwright E2E test configuration. The main goals are to optimize CI performance, improve reliability (especially for Playwright tests), and simplify Playwright browser setup and caching. The most important changes are grouped below.
test-backend-unitjob is added to run backend unit tests in isolation, and allow product build to finish early to unblock several other jobs that depends on it.mcr.microsoft.com/playwright:v1.60.0-noble), with appropriate environment and shell settings for improved reliability and speed. Native build tools and utilities are installed as needed..github/actions/setup-playwrightaction and the dedicatedwarm-playwright-cache.ymlworkflow have been removed, in favor of using the official Playwright Docker image and its preinstalled browsers for all E2E and frontend test jobs.corepack(shipped with the Playwright image), reducing setup time and noise.playwright.config.ts, matching GitHub's standard runner capacity for faster test execution.Attempt 1: 16m 58s
Attempt 2: 15m 0s

Related Issues
Related PRs
Checklist
breaking changelabel added.Security checks
Summary by CodeRabbit
Summary by CodeRabbit