JetBrains: run the sandbox UI tests headless, in Docker #7
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The sandbox UI tests (
task jetbrains:ui-test: IDE Starter + Driver walking a review in WebStorm 2026.3 against the fakerevue, seejetbrains/README.md→ Testing) need a real IDE window. On macOS a WebStorm window appears for each run (about 35 s); there's no virtual display to hide it in. The input already goes into the IDE's own event queue (jetbrains/src/uiTest/.../Events.kt), so a run never moves the mouse or types for you, and runs no longer raise the window or screenshot the whole screen. But a window still shows.Ask
Run the same walk with nothing appearing on the computer: in a Linux container with a virtual display.
platformVersioninjetbrains/gradle.properties); the arm64 Linux build on Apple silicon, so it doesn't run under x86 emulation.revue(jetbrains/fake-revue) and the sample repository built as today, the walk run inside the container, screenshots andidea.logcopied back tojetbrains/build/ui-screenshots/.jetbrains:ui-test:docker), no shell scripts (CLAUDE.md); the IDE and Gradle caches kept in volumes so runs after the first are quick.jetbrains/.Done when
task jetbrains:ui-test:dockerpasses on a Mac with no window appearing, and on Linux.jetbrains/README.md→ Testing says how to run it.Notes for when this is picked up:
4eee36ethe desktop runs already stay out of the way as far as macOS allows: no raising the window after launch, and screenshots painted by WebStorm itself (jetbrains/src/uiTest/.../Pictures.kt,Driver.paintFrame), so they don't depend on what's on screen. The container run can reuse that helper as is.colima start --cpu 4 --memory 8), the same for Docker Desktop's and OrbStack's settings.task jetbrains:ui-test:dockerruns the walk in a Linux container on Xvfb, nothing on screen (merged inad557bd:85b202e,1312fb9).jetbrains/ui-test.Dockerfile(eclipse-temurin:25-jdk, the computer's architecture); Gradle downloads the Linux WebStorm forplatformVersioninto a volume, so later runs take about 50 s.idea-<test>.logland injetbrains/build/ui-screenshots/;jetbrains/README.md→ Testing says how to run it..forgejo/workflows/jetbrains.ymlwalks it on Xvfb on every push touchingjetbrains/(without Docker-in-Docker, as the runner's socket isn't known to be available).Passes on Linux. Left before closing: a run on a Mac (Apple silicon, arm64 WebStorm) and the first CI run.