[CI] Add tests for -Dexecution_context configuration#16329
Draft
straight-shoota wants to merge 17 commits intomasterfrom
Draft
[CI] Add tests for -Dexecution_context configuration#16329straight-shoota wants to merge 17 commits intomasterfrom
-Dexecution_context configuration#16329straight-shoota wants to merge 17 commits intomasterfrom
Conversation
Collaborator
|
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.
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.