-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
[CI] Add tests for -Dexecution_context configuration
#16329
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
base: master
Are you sure you want to change the base?
Conversation
|
Execution contexts (RFC 0002) are nearing maturity (#15342) and until now we aren't even running CI with this configuration.
This is not as bad as it may seem: Because they're actively worked on, there is ample local test coverage. If anything were to break, we'd probably notice relatively quickly.
But going into the future, we want the additional confidence from regular CI tests.
So here is a patch to get this going in GitHub actions.
The first commits are clean-up and refactoring to simplify the configuration. I'll extract that to a separate PR. This requires changes to
release-update.shas well.The meat of the change is adding a matrix with three compiler flags configurations to most of the general test jobs:
-Duse_libevent-Dpreview_mt -Dexecution_contextThat's what I considered most relevant, but I'm open to suggestions.
We could of course test even more, for example only
-Dpreview_mtor the combination-Duse_libevent -Dpreview_mt -Dexecution_context.But that escalate quickly.
In fact, this patch increases the number of jobs on a normal commit from 40 to about 51 (estimate). With smoke tests (which only run under special conditions), it's up from 49 to 78.
The increase naturally also reflects in the overall run time. Unfortunately, this resets most of the improvements we made with #14983 so far.
In order to reduce overall jobs a little bit, I'm dropping
macos-14. Testing onmacos-15should be sufficient.Perhaps we could restrict some configuration tests to run less often. Similar to forward compatibility test, for example? This would make the workflow configurations more complex, unfortunately.
But it could be well worth it, especially providing the ability to easily add additional configurations to the test matrix without exponential growth of CI jobs on most typical commits.
Note: The errors from actionlint seem to be false positives. The workflows work just fine and as expected.