51
51
- " -DFLB_SANITIZE_THREAD=On"
52
52
- " -DFLB_SIMD=On"
53
53
- " -DFLB_SIMD=Off"
54
+ cmake_version :
55
+ - " 3.31.6"
54
56
compiler :
55
57
- gcc :
56
58
cc : gcc
72
74
sudo apt-get install -y gcc-7 g++-7 clang-6.0 libsystemd-dev gcovr libyaml-dev libbpf-dev linux-tools-common
73
75
sudo ln -s /usr/bin/llvm-symbolizer-6.0 /usr/bin/llvm-symbolizer || true
74
76
77
+ - name : Install cmake
78
+ uses : jwlawson/actions-setup-cmake@v2
79
+ with :
80
+ cmake-version : " ${{ matrix.cmake_version }}"
81
+
75
82
- uses : actions/checkout@v4
76
83
77
84
- uses : actions/checkout@v4
@@ -106,9 +113,16 @@ jobs:
106
113
- " -DFLB_JEMALLOC=Off"
107
114
- " -DFLB_SANITIZE_MEMORY=On"
108
115
- " -DFLB_SANITIZE_THREAD=On"
116
+ cmake_version :
117
+ - " 3.31.6"
109
118
permissions :
110
119
contents : read
111
120
steps :
121
+ - name : Install cmake
122
+ uses : jwlawson/actions-setup-cmake@v2
123
+ with :
124
+ cmake-version : " ${{ matrix.cmake_version }}"
125
+
112
126
- uses : actions/checkout@v4
113
127
- uses : actions/checkout@v4
114
128
with :
@@ -144,15 +158,29 @@ jobs:
144
158
unit_test_option : " -DFLB_TESTS_INTERNAL=On"
145
159
compiler_cc : gcc
146
160
compiler_cxx : g++
161
+ cmake_version : " 3.31.6"
162
+ cmake_home : " /opt/cmake"
163
+
147
164
steps :
148
165
- name : Checkout Fluent Bit code
149
166
uses : actions/checkout@v4
150
167
151
168
- name : Setup environment
152
169
run : |
153
170
sudo apt-get update
154
- sudo apt-get install -y gcc-9 g++-9 clang-12 cmake flex bison libsystemd-dev gcovr libyaml-dev libbpf-dev linux-tools-common
171
+ sudo apt-get install -y gcc-9 g++-9 clang-12 flex bison libsystemd-dev gcovr libyaml-dev libbpf-dev linux-tools-common curl tar gzip
155
172
sudo ln -s /usr/bin/llvm-symbolizer-12 /usr/bin/llvm-symbolizer || true
173
+ sudo mkdir -p "${CMAKE_HOME}"
174
+ cmake_url="https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}-linux-$(uname -m).tar.gz"
175
+ cmake_dist="$(mktemp --suffix ".tar.gz")"
176
+ echo "Downloading CMake ${CMAKE_VERSION}: ${cmake_url} -> ${cmake_dist}"
177
+ curl -jksSL -o "${cmake_dist}" "${cmake_url}"
178
+ echo "Extracting CMake ${CMAKE_VERSION}: ${cmake_dist} -> ${CMAKE_HOME}"
179
+ sudo tar -xzf "${cmake_dist}" -C "${CMAKE_HOME}" --strip-components 1
180
+ rm "${cmake_dist}"
181
+ env :
182
+ CMAKE_HOME : ${{ matrix.config.cmake_home }}
183
+ CMAKE_VERSION : ${{ matrix.config.cmake_version }}
156
184
157
185
- name : Build and test with arm runners
158
186
run : |
@@ -169,6 +197,10 @@ jobs:
169
197
170
198
echo "CC = ${{ matrix.config.compiler_cc }}, CXX = ${{ matrix.config.compiler_cxx }}, FLB_OPT = $FLB_OPT"
171
199
200
+ if [[ -n "${CMAKE_HOME}" ]]; then
201
+ export PATH="${CMAKE_HOME}/bin:${PATH}"
202
+ fi
203
+
172
204
cmake ${FLB_OPT} ../
173
205
make -j $nparallel
174
206
ctest -j $nparallel --build-run-dir . --output-on-failure
@@ -177,6 +209,7 @@ jobs:
177
209
CC : ${{ matrix.config.compiler_cc }}
178
210
CXX : ${{ matrix.config.compiler_cxx }}
179
211
CALYPTIA_FLEET_TOKEN : ${{ secrets.CALYPTIA_FLEET_TOKEN }}
212
+ CMAKE_HOME : ${{ matrix.config.cmake_home }}
180
213
181
214
run-qemu-ubuntu-unit-tests :
182
215
# We chain this after Linux one as there are CPU time costs for QEMU emulation
0 commit comments