CI: Convert CI to use CMake Presets where possible - #816
pniedzielski wants to merge 5 commits into
Conversation
353e3ac to
9eebe15
Compare
0cf835e to
5efe4be
Compare
Signed-off-by: Patrick M. Niedzielski <patrick@pniedzielski.net>
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 <patrick@pniedzielski.net>
Signed-off-by: Patrick M. Niedzielski <patrick@pniedzielski.net>
6f557b6 to
761644d
Compare
|
|
||
| build_ubuntu: | ||
| name: Build [ubuntu] | ||
| name: Build and Unit Test [ubuntu] |
There was a problem hiding this comment.
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.
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.
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 <patrick@pniedzielski.net>
b141fd4 to
2324c98
Compare
Signed-off-by: Patrick M. Niedzielski <patrick@pniedzielski.net>
306ac33 to
0ac8851
Compare

No description provided.