Skip to content

ci, dockefile: frozen version of CMake #10178

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

Merged
merged 6 commits into from
Apr 21, 2025

Conversation

mabrarov
Copy link
Contributor

@mabrarov mabrarov commented Apr 6, 2025

Changes (excluding #10230):

This PR fixes #10157 for CI and Dockerfiles.

Solution used:

  1. Downgrade CMake to 3.31 actions/runner-images#11926 (comment)
  2. Downgrade CMake to 3.31 actions/runner-images#11926 (comment)

Tested CI changes on #7608 (cherry-picked this PR commits and #10180 commits on top of #7608).

It looks like jwlawson/actions-setup-cmake GitHub action doesn't support Linux aarch64 yet - refer to jwlawson/actions-setup-cmake#74 - so for GitHub Linux aarch64 builds (until jwlawson/actions-setup-cmake#74 is completed and released) this PR downloads and uses official CMake build from https://github.com/Kitware/CMake/releases. Unfortunately, the same solution cannot be applied to s390x and riscv64 CI builds and to images for Linux containers due to not all platforms required for these cases are represented among official CMake builds, so for:

  • s390x and riscv64 CI builds
  • Linux images built from dockerfiles/Dockerfile

this PR just ensures that version of CMake (installed from Ubuntu repository) is not greater than the latest supported (is < 4.0).

See also CMAKE_POLICY_VERSION_MINIMUM (CMake 4+ only).

Please note that building of Windows Containers images in this PR fails because of #10158, i.e. it is existing (in master branch) issue. Refer to #10180 for the fix which is based on (includes) this PR.

Update: version of CMake was downgraded in Ubuntu GitHub actions runners - refer to actions/runner-images#11933 - which means that the issue this pull request (#10178) fixes should be already fixed since 4/12/2025. IMHO, this pull request providing explicit and configurable version of CMake is still helpful. It also makes possible to test different versions of CMake if needed.

Update: since 04/20/2025 this pull request is based on #10230, because otherwise this pull request fails to build.


Testing

  • [N/A] Example configuration file for the change
  • [N/A] Debug log output from testing the change
  • [N/A] Attached Valgrind output that shows no leaks or memory corruption was found
  • Run local packaging test showing all targets (including any new ones) build.
    Only x86_64 builds (refer to modified packaging/build-config.json) were tested using packaging/local-build-all.sh script. Log of script is available at flb_packaging_local-build-all.log.
  • [N/A] Set ok-package-test label to test for all targets (requires maintainer to do).

Documentation

  • [N/A] Documentation required for this feature

Backporting

  • [N/A] Backport to latest stable release.

Fluent Bit is licensed under Apache 2.0, by submitting this pull request I understand that this code will be released under the terms of that license.

@mabrarov mabrarov force-pushed the feature/ci_cmake_version branch 2 times, most recently from 64da6ba to 69861bd Compare April 6, 2025 12:30
@mabrarov mabrarov force-pushed the feature/ci_cmake_version branch 2 times, most recently from e0c2ef0 to c6dd996 Compare April 6, 2025 13:09
Copy link
Contributor

@patrick-stephens patrick-stephens left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We probably need to fix up the docker files as well.

Thanks for this, can you link it to the relevant issue too?

Cc @edsiper

@mabrarov mabrarov force-pushed the feature/ci_cmake_version branch from ea86803 to c0fb213 Compare April 6, 2025 20:30
@mabrarov mabrarov force-pushed the feature/ci_cmake_version branch from c0fb213 to 4c1b61d Compare April 6, 2025 21:13
@mabrarov mabrarov changed the title ci: frozen version of CMake ci and dockefile: frozen version of CMake Apr 6, 2025
@mabrarov mabrarov changed the title ci and dockefile: frozen version of CMake CI and Dockefile: frozen version of CMake Apr 6, 2025
…nners due to deprecation of Ubuntu 20.04 runners (actions/runner-images#11101).

Signed-off-by: Marat Abrarov <[email protected]>
…CMake projects not compatible with CMake 4.0 (actions/runner-images#11926).

Signed-off-by: Marat Abrarov <[email protected]>
…ne for unit tests on s390x and riscv64.

Signed-off-by: Marat Abrarov <[email protected]>
…to ensure no build issue due to incompatibility with new CMake versions.

Signed-off-by: Marat Abrarov <[email protected]>
…ported one for Linux containers.

Signed-off-by: Marat Abrarov <[email protected]>
Signed-off-by: Marat Abrarov <[email protected]>
@edsiper
Copy link
Member

edsiper commented Apr 21, 2025

thank you!

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

Successfully merging this pull request may close these issues.

CMake errors with cmake 4.0
3 participants