Repository navigation
test(wework): split slow desktop e2e checkpoints - #2569
Conversation
|
Warning Review limit reached
Next review available in: 30 minutes You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughDesktop E2E adds ChangesDesktop E2E checkpoint expansion
Estimated code review effort: 4 (Complex) | ~45 minutes Sequence Diagram(s)sequenceDiagram
participant ExecutorBuild
participant CloudBackend
participant DesktopBuild
participant RealCloudEnvironment
ExecutorBuild->>RealCloudEnvironment: provide executor binary
CloudBackend->>RealCloudEnvironment: start backend
DesktopBuild->>RealCloudEnvironment: prepare desktop application
RealCloudEnvironment->>RealCloudEnvironment: start remote executor
Possibly related PRs
Suggested labels: Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 2📝 Generate docstrings 💡
🛠️ Fix failing CI checks 💡
🧪 Generate unit tests (beta)
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: 1
🧹 Nitpick comments (1)
wework/e2e/desktop/task-flow.e2e.mjs (1)
15410-15413: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winRemove the unreachable
MODEL_SWITCH_ONLYbranch.The block at Line 14971 runs and returns whenever
MODEL_SWITCH_ONLYis true. Execution never reaches Line 15410 withMODEL_SWITCH_ONLYset, so this branch is dead code. Keep the single focused entry point at Line 14971.♻️ Proposed cleanup
- if (MODEL_SWITCH_ONLY) { - console.log(`Wework desktop six-way model-switch E2E passed. Evidence: ${resultDir}`) - return - } if (shouldStopAfterDesktopCheckpoint('model-routing')) {As per coding guidelines: "Delete dead code and do not add compatibility shims or fallback paths without agreement; correct the primary path."
🤖 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 `@wework/e2e/desktop/task-flow.e2e.mjs` around lines 15410 - 15413, Remove the unreachable MODEL_SWITCH_ONLY conditional block near the end of the E2E flow, including its success log and return. Keep the existing focused MODEL_SWITCH_ONLY entry point earlier in the flow unchanged.Source: Coding guidelines
🤖 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 `@wework/e2e/desktop/task-flow.e2e.mjs`:
- Around line 14977-14986: Update the project selection flow around
projectSnapshot and projectMenuTestId to record existing project-menu- test IDs
before creating the model-routing project, then select the newly added test ID
from the snapshot rather than the first matching row. Preserve the existing
assertion and projectId extraction, following the established pattern used later
in the file.
---
Nitpick comments:
In `@wework/e2e/desktop/task-flow.e2e.mjs`:
- Around line 15410-15413: Remove the unreachable MODEL_SWITCH_ONLY conditional
block near the end of the E2E flow, including its success log and return. Keep
the existing focused MODEL_SWITCH_ONLY entry point earlier in the flow
unchanged.
🪄 Autofix
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: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: ca4297b9-50c6-4e47-8667-13c5ea763e5a
📒 Files selected for processing (6)
.github/scripts/classify-wework-desktop-e2e.sh.github/scripts/test-classify-ci-changes.shdocs/en/wework/developer-guide/wework-e2e-automation.mddocs/zh/wework/developer-guide/wework-e2e-automation.mdwework/e2e/desktop/checkpoints.mjswework/e2e/desktop/task-flow.e2e.mjs
What changed
core-task-flowinto an independently bootstrappedautomation-lifecyclecheckpointmodel-routingcheckpointWhy
Recent successful CI runs showed
core-task-flowtaking roughly 6.5–7 minutes and the cloud desktop suite taking roughly 10.5–11 minutes. Model routing accounted for about three minutes of the serialized core flow, while cloud startup performed independent build and service-preparation work sequentially.The new checkpoints preserve the existing assertions and establish their own minimal fixtures, allowing GitHub Actions to execute the slow sections in parallel. The unsegmented complete desktop flow still executes every scenario.
Impact
Validation
bash .github/scripts/test-classify-ci-changes.shpnpm --filter wework exec prettier --check e2e/desktop/task-flow.e2e.mjs e2e/desktop/checkpoints.mjspnpm --filter wework exec eslint e2e/desktop/task-flow.e2e.mjs e2e/desktop/checkpoints.mjspnpm --filter wework test— 344 files, 3325 tests passedmodel-routingcheckpoint passed locallyLocal macOS runs of longer desktop flows also exposed an existing harness issue where the WebView control client can stop polling after otherwise successful UI commands. Failures occurred at unrelated actions in separate runs; Linux GitHub Actions remains the authoritative full desktop validation environment.
Summary by CodeRabbit
Tests
Documentation