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,31 @@ 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_platform : " linux-aarch64"
163
+ cmake_home : " /opt/cmake"
164
+
147
165
steps :
148
166
- name : Checkout Fluent Bit code
149
167
uses : actions/checkout@v4
150
168
151
169
- name : Setup environment
152
170
run : |
153
171
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
172
+ 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
173
sudo ln -s /usr/bin/llvm-symbolizer-12 /usr/bin/llvm-symbolizer || true
174
+ sudo mkdir -p "${CMAKE_HOME}"
175
+ cmake_url="https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}-${CMAKE_PLATFORM}.tar.gz"
176
+ cmake_dist="$(mktemp --suffix ".tar.gz")"
177
+ echo "Downloading CMake ${CMAKE_VERSION}: ${cmake_url} -> ${cmake_dist}"
178
+ curl -jksSL -o "${cmake_dist}" "${cmake_url}"
179
+ echo "Extracting CMake ${CMAKE_VERSION}: ${cmake_dist} -> ${CMAKE_HOME}"
180
+ sudo tar -xzf "${cmake_dist}" -C "${CMAKE_HOME}" --strip-components 1
181
+ rm "${cmake_dist}"
182
+ env :
183
+ CMAKE_HOME : ${{ matrix.config.cmake_home }}
184
+ CMAKE_VERSION : ${{ matrix.config.cmake_version }}
185
+ CMAKE_PLATFORM : ${{ matrix.config.cmake_platform }}
156
186
157
187
- name : Build and test with arm runners
158
188
run : |
@@ -169,6 +199,10 @@ jobs:
169
199
170
200
echo "CC = ${{ matrix.config.compiler_cc }}, CXX = ${{ matrix.config.compiler_cxx }}, FLB_OPT = $FLB_OPT"
171
201
202
+ if [[ -n "${CMAKE_HOME}" ]]; then
203
+ export PATH="${CMAKE_HOME}/bin:${PATH}"
204
+ fi
205
+
172
206
cmake ${FLB_OPT} ../
173
207
make -j $nparallel
174
208
ctest -j $nparallel --build-run-dir . --output-on-failure
@@ -177,6 +211,7 @@ jobs:
177
211
CC : ${{ matrix.config.compiler_cc }}
178
212
CXX : ${{ matrix.config.compiler_cxx }}
179
213
CALYPTIA_FLEET_TOKEN : ${{ secrets.CALYPTIA_FLEET_TOKEN }}
214
+ CMAKE_HOME : ${{ matrix.config.cmake_home }}
180
215
181
216
run-qemu-ubuntu-unit-tests :
182
217
# We chain this after Linux one as there are CPU time costs for QEMU emulation
0 commit comments