Skip to content

Conversation

pniedzielski
Copy link
Collaborator

No description provided.

@pniedzielski pniedzielski added enhancement New feature or request A-Build Area: Build System labels Jul 8, 2025
@pniedzielski pniedzielski force-pushed the ci/cmake-presets branch 6 times, most recently from 353e3ac to 9eebe15 Compare July 8, 2025 20:33
hallfox
hallfox previously approved these changes Jul 8, 2025
@pniedzielski pniedzielski force-pushed the ci/cmake-presets branch 3 times, most recently from 0cf835e to 5efe4be Compare July 8, 2025 21:04
@pniedzielski pniedzielski changed the title CI: Convert build-ubuntu to CMake Presets CI: Convert CI to use CMake Presets where possible Jul 8, 2025
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]>
@pniedzielski pniedzielski force-pushed the ci/cmake-presets branch 4 times, most recently from 6f557b6 to 761644d Compare July 8, 2025 22:33
Copy link

@bmq-oss-ci bmq-oss-ci bot left a 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]
Copy link
Collaborator

@678098 678098 Jul 9, 2025

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.
Screenshot 2025-07-09 at 09 55 49

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.
Screenshot 2025-07-09 at 09 55 58

I think that saving 6 minutes of developer's time is worth doing.

Copy link
Collaborator

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.

Copy link
Collaborator

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.

Screenshot 2025-07-09 at 10 09 58

@pniedzielski pniedzielski force-pushed the ci/cmake-presets branch 5 times, most recently from cb698e9 to b141fd4 Compare July 10, 2025 18:02
Signed-off-by: Patrick M. Niedzielski <[email protected]>
Signed-off-by: Patrick M. Niedzielski <[email protected]>
Copy link

@bmq-oss-ci bmq-oss-ci bot left a 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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-Build Area: Build System enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants