-
Notifications
You must be signed in to change notification settings - Fork 154
CI: Convert CI to use CMake Presets where possible #816
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: main
Are you sure you want to change the base?
Conversation
353e3ac
to
9eebe15
Compare
0cf835e
to
5efe4be
Compare
Signed-off-by: Patrick M. Niedzielski <[email protected]>
This patch removes the separate C++ unit test job from our GitHub Actions CI, integrating it instead into the default Ubuntu build job. This avoids rebuilding BlazingMQ in the C++ unit test job. In theory, there is some parallelism to gain by running the unit tests without building bmqtool and bmqstoragetool, in practice these are simple enough to build that the gains are minimal. Signed-off-by: Patrick M. Niedzielski <[email protected]>
Signed-off-by: Patrick M. Niedzielski <[email protected]>
6f557b6
to
761644d
Compare
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.
Build 2869 of commit 761644d has completed with FAILURE
|
||
build_ubuntu: | ||
name: Build [ubuntu] | ||
name: Build and Unit Test [ubuntu] |
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.
We specially separated Build and UTs builds to speed up the CI.
The longest workflow in CI is ITs run. If ITs wait for UTs build, it becomes even slower, and it's not really necessary.
Compare these 2 workflow runs.
The old workflow: Build [ubuntu]
takes just 8 minutes and ITs can start right after. At the same time, UT [c++]
build and run takes 14-15 minutes in parallel.
The new workflow. Now ITs have to wait for UTs build/run. As a result, the entire workflow run time increased from 29-30 minutes to 36 minutes.
I think that saving 6 minutes of developer's time is worth doing.
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.
Another thing, if UTs are failing, will ITs run be skipped now?
Sometimes UTs failures are independent from ITs and do not represent a bug that must be fixed right now. Also we want to know all the errors to fix in advance. If there is an UT failure, we still want to know if there are IT failures. Re-running everything multiple times just to get to ITs is very slow.
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.
And looking at the build history:
https://github.com/bloomberg/blazingmq/actions/workflows/build.yaml?query=is%3Asuccess
In many cases the old workflow worked even faster and took just 26-28 minutes.
cb698e9
to
b141fd4
Compare
Signed-off-by: Patrick M. Niedzielski <[email protected]>
b141fd4
to
2324c98
Compare
Signed-off-by: Patrick M. Niedzielski <[email protected]>
306ac33
to
0ac8851
Compare
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.
Build 2882 of commit 0ac8851 has completed with FAILURE
No description provided.