-
Notifications
You must be signed in to change notification settings - Fork 279
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Test probe only #923
Test probe only #923
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
@ferdnyc would you fix the conflicts please. |
@winterz Sorry for the delay, will do. |
- Use inheritance to avoid repeating 'generator' and 'binaryDir' - Take advantage of 'inherits' feature that allows specifying a string, rather than a list, if inheriting only one config - Add configurations for ci-dev-probe-only-qt5 and -qt6.
- Also add additional workflow parameter 'matrix.config.tests_with', which is set to either 'qt5' or 'qt6' if tests should be run for a particular configuration. - Update unit test 'if:' parameters to use 'matrix.config.tests_with' - Only perform the "enable gdb attaching" steps if unit tests are going to be run. - Enable unit tests for client-and-ui builds
@winterz Done. I took the opportunity to squash some of the back-and-forth away, since I had to rewrite all of the commits to rebase the branch. |
the 2 CI failures are related to KDStateMachineEditor dependency which we're still working. |
Way back in #765, I submitted some patches to fix the
GAMMARAY_CLIENT_ONLY_BUILD
, which had stealth-broken because it wasn't being tested in CI.The same is now true of
GAMMARAY_PROBE_ONLY_BUILD
, so to avoid the possibility of similar stealth breakage, this PR adds test runs for probe-only builds to the standard CI, by first adding configurations for them to theCMakePresets.json
.Along the way, it makes some adjustments to the existing configuration(s), to facilitate adding additional CI build configurations
Presets file
CMakePresets.json
"generator"
or"binaryDir"
when those can simply be inherited."inherits"
, rather than a list value, when only one configuration is being inherited from.(Not all configurations were adjusted, mostly just the ones I was touching anyway. But in both cases, they all could be changed the same way.)
CI configuration
build.yml
matrix.config.tests_with
value is optionally added to matrix members, set to eitherqt5
orqt6
.This allows the complicated version checks:
startsWith(matrix.config.qt_version, '6.')
matrix.config.tests_with == 'qt6'
runner.os
) not only controls which tests are run, but its absence will prevent tests from being run at all. (Mostly because unit tests on aPROBE_ONLY
build are simultaneously both pointless and redundant.)