From 90633afaa24340de48ef3b01ac682d27143b53a4 Mon Sep 17 00:00:00 2001 From: Thomas Devoogdt Date: Sun, 25 Aug 2024 20:25:19 +0200 Subject: [PATCH 1/3] workflows: add sanity check for toolchains w/ CXX support Fluent-bit is written in C, so don't require CXX, also not from the libs. Signed-off-by: Thomas Devoogdt --- .github/workflows/pr-compile-check.yaml | 31 +++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/.github/workflows/pr-compile-check.yaml b/.github/workflows/pr-compile-check.yaml index e363377e6db..94871df830a 100644 --- a/.github/workflows/pr-compile-check.yaml +++ b/.github/workflows/pr-compile-check.yaml @@ -120,3 +120,34 @@ jobs: echo "$ldd_result" | grep libmsgpack echo "$ldd_result" | grep librdkafka working-directory: build + + # Sanity check for compilation w/ CXX support + pr-compile-without-cxx: + runs-on: ubuntu-24.04 + timeout-minutes: 60 + strategy: + fail-fast: false + matrix: + cmake_version: + - "3.31.6" + steps: + - name: Setup environment + run: | + sudo apt-get update + sudo apt-get install -y bison cmake flex gcc libssl-dev libyaml-dev + + - name: Install cmake + uses: jwlawson/actions-setup-cmake@v2 + with: + cmake-version: "${{ matrix.cmake_version }}" + + - name: Checkout Fluent Bit code + uses: actions/checkout@v5 + + - name: Compile w/ CXX support + run: | + export CXX=/bin/false + export nparallel=$(( $(getconf _NPROCESSORS_ONLN) > 8 ? 8 : $(getconf _NPROCESSORS_ONLN) )) + cmake ../ + make -j $nparallel + working-directory: build From 9e5848f8cccc8a9c44323630ef334cb145f09697 Mon Sep 17 00:00:00 2001 From: Thomas Devoogdt Date: Sun, 31 Aug 2025 13:50:00 +0200 Subject: [PATCH 2/3] workflows: exclude libzstd from pr-compile-without-cxx This is a temporary fix, until https://github.com/facebook/zstd/commit/769723aee2540aaff8951ac432a1babed358aa71 makes its way to a release. Please revert this commit once we bump to the next libzstd version. Signed-off-by: Thomas Devoogdt --- .github/workflows/pr-compile-check.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pr-compile-check.yaml b/.github/workflows/pr-compile-check.yaml index 94871df830a..a44179a9ad5 100644 --- a/.github/workflows/pr-compile-check.yaml +++ b/.github/workflows/pr-compile-check.yaml @@ -135,6 +135,7 @@ jobs: run: | sudo apt-get update sudo apt-get install -y bison cmake flex gcc libssl-dev libyaml-dev + sudo apt-get install -y libzstd-dev - name: Install cmake uses: jwlawson/actions-setup-cmake@v2 @@ -148,6 +149,6 @@ jobs: run: | export CXX=/bin/false export nparallel=$(( $(getconf _NPROCESSORS_ONLN) > 8 ? 8 : $(getconf _NPROCESSORS_ONLN) )) - cmake ../ + cmake -DFLB_PREFER_SYSTEM_LIB_ZSTD=ON ../ make -j $nparallel working-directory: build From a3b205b64fed95dc61778a89b206ce721ef24db5 Mon Sep 17 00:00:00 2001 From: Thomas Devoogdt Date: Sun, 31 Aug 2025 13:54:11 +0200 Subject: [PATCH 3/3] workflows: exclude librdkafka-dev from pr-compile-without-cxx Upstream is not really amused with the proposal to allow compilation without CXX support, see https://github.com/confluentinc/librdkafka/pull/4366. So disable it from the check for now. Signed-off-by: Thomas Devoogdt --- .github/workflows/pr-compile-check.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pr-compile-check.yaml b/.github/workflows/pr-compile-check.yaml index a44179a9ad5..d171353afd8 100644 --- a/.github/workflows/pr-compile-check.yaml +++ b/.github/workflows/pr-compile-check.yaml @@ -135,7 +135,7 @@ jobs: run: | sudo apt-get update sudo apt-get install -y bison cmake flex gcc libssl-dev libyaml-dev - sudo apt-get install -y libzstd-dev + sudo apt-get install -y libzstd-dev librdkafka-dev - name: Install cmake uses: jwlawson/actions-setup-cmake@v2 @@ -149,6 +149,6 @@ jobs: run: | export CXX=/bin/false export nparallel=$(( $(getconf _NPROCESSORS_ONLN) > 8 ? 8 : $(getconf _NPROCESSORS_ONLN) )) - cmake -DFLB_PREFER_SYSTEM_LIB_ZSTD=ON ../ + cmake -DFLB_PREFER_SYSTEM_LIB_ZSTD=ON -DFLB_PREFER_SYSTEM_LIB_KAFKA=ON ../ make -j $nparallel working-directory: build