Skip to content

ci: select desktop e2e specs through source reachability - #4583

Open
ZenAlexa wants to merge 1 commit into
apache:mainfrom
ZenAlexa:ci/select-desktop-e2e-specs
Open

ci: select desktop e2e specs through source reachability#4583
ZenAlexa wants to merge 1 commit into
apache:mainfrom
ZenAlexa:ci/select-desktop-e2e-specs

Conversation

@ZenAlexa

@ZenAlexa ZenAlexa commented Sep 2, 2026

Copy link
Copy Markdown

Summary

  • Derive each Desktop E2E spec's transitive repository source closure with the existing esbuild resolver.
  • Pass the selected workspace-relative spec paths to Playwright through a quoted Bash array.
  • Run one daily full CI execution for Electron process boundaries, generated sources, and separately bundled entry points.
  • Use Playwright's list reporter to expose individual test durations in every run.

The workflow exits before Xvfb allocation when the changed files reach zero specs. Selection-authority files and full plans run all 36 spec files.

Fixes #4478

Measured effect

A replay over the latest 300 first-parent commits found 169 E2E-triggering changes. Test invocations fell from 17,914 to 7,583, a 57.67% reduction. The selection histogram was 57 zero-spec changes, 30 single-spec changes, 10 two-spec changes, one three-spec change, one seven-spec change, and 70 full plans. The scheduled escape run adds one 106-test execution per day.

Verification

  • Node 24 focused planner, workflow, selector, and Windows closure suites: 82/82 passed
  • Full Desktop E2E: 102 passed, 4 skipped, 6.2 minutes
  • Selected e2e/sidebar-geometry.spec.ts: 2/2 passed
  • npm run format:check
  • npm run lint
  • npm run build
  • npm run typecheck
  • npx knip --workspace apps/desktop
  • npx knip --workspace packages/ui
  • npm run check:asf-headers
  • npm run check:release: 191/191 passed
  • actionlint .github/workflows/ci.yml
  • git diff --check

The repository-wide npm test run reached macOS environment failures in unmodified Runtime sandbox, Runtime Host fixture, and Desktop shell-env suites.

Copilot AI lite review requested due to automatic review settings September 2, 2026 18:17

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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.

@github-actions github-actions Bot added the effort/M Under 500 readable lines label Sep 2, 2026
@ZenAlexa

ZenAlexa commented Sep 3, 2026

Copy link
Copy Markdown
Author

e2311350 implements #4478 by selecting Desktop e2e specs from each spec's transitive source closure. Full and selection-authority changes continue to select every spec, and a nightly full run preserves broad coverage. The CI and Release Windows check suites are ready for approval; approving them will exercise the current head.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

effort/M Under 500 readable lines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Select Desktop e2e specs by what a change can reach, instead of all 103

2 participants