Repository navigation
feat(dx): headless L2 script and smoke workflow (#1487, part 2) - #1618
Merged
Merged
Conversation
scripts/dev/headless_app.sh starts Xvfb on a free display, runs a copy of a built bundle with QUERYA_PORTABLE=1 on a throw-away profile, waits for the window, checks that it stays up, optionally takes a screenshot and stops everything. Exit codes: 0 ok, 1 died / no window, 2 usage or missing tool. The Headless smoke workflow builds the Linux bundle and runs it (on changes to the script, weekly, on demand) and keeps the screenshot and log. docs/dev-containers.md describes the three levels as one command each. Refs #1487
Closed
5 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Section 2 of #1487: define the L2 headless level as one command, and use it in CI. Section 1 is #1617; section 3 (extension-author container) is not started. This PR says
Refs.scripts/dev/headless_app.sh: finds a free X display, starts Xvfb, runs a copy of the bundle withQUERYA_PORTABLE=1(the profile is a throw-awayQueryaDataand the built bundle stays clean), waits for a window (xdotool, orxwininfo; without either it only checks the process stays alive), keeps watching for--keepseconds to catch a crash right after start, optionally screenshots (import), stops the app and Xvfb, and removes the temp directory. Exit codes: 0 ok, 1 died / no window (with the last 40 lines of the app output), 2 usage / missing bundle or tool..github/workflows/headless-smoke.yml: builds the Linux release bundle on a runner and runs the script with a screenshot and a log, uploaded as an artifact. It is a separate workflow because a Linux build takes minutes: it runs on changes to the script or the workflow, weekly, and on demand, not on every PR.docs/dev-containers.md: the level table is three one-liners now, with a section for L2.Checked
bash -n,--helpand the "missing bundle" path (exit 2) locally. Xvfb is not installed on my machine, so the real run is the new workflow on this PR (it triggers on the script path).Open points
dbus-run-sessionwhen it exists; secrets use the OS keyring, so the app may log keyring errors in this mode. That is fine for a start smoke, but if the app refuses to show a window without a keyring the workflow will tell.querya-mcp) stays open, as in the issue.Refs #1487