Skip to content

test: support isolated parallel desktop E2E workers - #498

Merged
Azganoth merged 2 commits into
mainfrom
chore/parallel-desktop-e2e
Sep 22, 2026
Merged

Azganoth merged 2 commits into
mainfrom
chore/parallel-desktop-e2e

Conversation

@Azganoth

Copy link
Copy Markdown
Owner

Summary

  • Add validated, bounded desktop E2E worker concurrency while keeping the persistence write/restart sequence ordered on one worker.
  • Give every worker an isolated WebDriver port, runtime application identifier, persisted-data and WebView2 roots, fixture context, artifact namespace, and cleanup path.
  • Preserve worker-specific failure evidence and let healthy workers finish queued scenario groups after another worker fails.
  • Keep CI explicitly on one worker pending hosted timing evidence, while checking the full supported port range for leaked listeners.

Related Issue

Closes #495

Verification

  • pnpm test:e2e:desktop:runner validates option parsing, worker bounds, ordered scenario groups, and healthy-worker continuation after failure.
  • pnpm build:e2e:desktop builds the E2E Tauri application with its test-only runtime identifier override.
  • pnpm check passes the cross-cutting frontend, backend, formatting, lint, build, coverage, and Rust test gates.
  • pnpm check:frontend revalidates the final TypeScript runner and documentation state after cleanup hardening.
  • cargo clippy --all-targets --features desktop-e2e --manifest-path src-tauri/Cargo.toml -- -D warnings validates the desktop E2E Rust feature path.

Manually verified in Windows:

  1. The already-built full suite completed with --workers 1 and --workers 2; a representative run took about 123 seconds with one worker and 74 seconds with two.
  2. A forced Diagnostics failure with two workers retained worker-specific evidence, allowed the healthy worker to finish its queue, returned failure, and removed worker fixtures, application state, processes, and listeners on ports 4445 through 4448.

Not verified: concurrent execution on a GitHub-hosted Windows runner. CI intentionally requests --workers 1 until the pull request run provides comparable hosted reliability and timing evidence.

Notes

The default remains one worker. Local callers can opt into two through four workers without changing scenario coverage; switching CI later is a one-line worker-count change once hosted evidence supports it.

@Azganoth Azganoth added the Maintenance Chore, refactor, dependency, or test work without user-facing change label Sep 22, 2026
@Azganoth Azganoth self-assigned this Sep 22, 2026
@github-project-automation github-project-automation Bot moved this to Backlog in Leafdown Sep 22, 2026
@Azganoth
Azganoth merged commit 0dfd70f into main Sep 22, 2026
5 of 6 checks passed
@Azganoth
Azganoth deleted the chore/parallel-desktop-e2e branch September 22, 2026 17:11
@github-project-automation github-project-automation Bot moved this from Backlog to Done in Leafdown Sep 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Maintenance Chore, refactor, dependency, or test work without user-facing change

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Allow bounded parallel execution of isolated desktop E2E scenarios

1 participant