CI: test headless (--disable-gui) build - #4394
Open
grandixximo wants to merge 1 commit into
Open
Conversation
BsAtHome
reviewed
Aug 16, 2026
grandixximo
force-pushed
the
headless-ci
branch
4 times, most recently
from
August 17, 2026 03:35
2c3b488 to
4cc768d
Compare
Contributor
|
You need to resolve the conflict. Also, maybe squash the commits. |
keeps working. The new rip-headless job configures with --disable-gui --disable-manpages --disable-build-documentation using a minimal dependency set without X11, Tk or GTK development packages, so a regression that reintroduces a GUI dependency into the headless build fails at configure or build time instead of being masked by full build-deps. After the build it asserts that GUI artifacts (axis, touchy, halshow, pyvcp, ...) are absent and core headless artifacts (linuxcncrsh, halcmd, halui, ...) exist, then runs the full test suite. Also included, all found by running the full suite on a headless build: - pyvcp and gladevcp were still built with --disable-gui (LinuxCNC#4364 guarded only the install rules); guard USER_COMP_PY in hal/user_comps/Submakefile. - preview_helpers.py moved from the GUI-gated gremlin directory to lib/python: it is a pure-Python helper needed by the GUI-free tests/interp_initcode test. - Tests needing Tcl/GUI bits a headless build does not provide (pyvcp, twopass, twopass-personality, tclsh-extensions, tooledit, ui-smoke) get skip scripts, the mechanism the ui-smoke tests already use. The ui-smoke skip helper now takes the GUI binary under test as an argument.
grandixximo
force-pushed
the
headless-ci
branch
from
August 17, 2026 11:31
4cc768d to
c83bc11
Compare
Contributor
Author
|
Done and done |
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
#4364 added
--disable-guiheadless build support. If we support it, we should test it does not break. This PR adds arip-headlessCI job and fixes one gap the new test immediately caught.CI job (
rip-headless)--disable-gui --disable-manpages --disable-build-documentation.axis,touchy,halshow,pyvcp,gladevcp,tcl/linuxcnc.so, ...) and core headless artifacts exist (linuxcncrsh,halcmd,halui, ...).tests/linuxcncrsh,tests/linuxcncrsh-tcp,tests/halui,tests/motion.Build fix
pyvcp/gladevcpbehindBUILD_GUIbut not the RIP build rules, so headless builds still producedbin/pyvcpandbin/gladevcp. GuardedUSER_COMP_PYinsrc/hal/user_comps/Submakefileto match.Test plan
ubuntu:24.04container with only the minimal deps installed: configure, build, artifact assertions, and all 9 headless tests pass.USER_COMP_PYfix (bin/pyvcpwas still built) and passes after, confirming the check actually tests something.