]> git.proxmox.com Git - ceph.git/blame - ceph/src/jaegertracing/opentelemetry-cpp/.github/workflows/ci.yml
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / jaegertracing / opentelemetry-cpp / .github / workflows / ci.yml
CommitLineData
1e59de90
TL
1name: CI
2
3on:
4 push:
5 branches: [ main ]
6 pull_request:
7 branches: [ main, async-changes ]
8
9jobs:
10 cmake_test:
11 name: CMake test (without otlp-exporter)
12 runs-on: ubuntu-latest
13 steps:
14 - uses: actions/checkout@v3
15 with:
16 submodules: 'recursive'
17 - name: setup
18 run: |
19 sudo ./ci/setup_cmake.sh
20 sudo ./ci/setup_ci_environment.sh
21 - name: run cmake tests (without otlp-exporter)
22 run: |
23 sudo ./ci/setup_thrift.sh
24 ./ci/do_ci.sh cmake.test
25
26 cmake_absel_stl_test:
27 name: CMake test (with abseil)
28 runs-on: ubuntu-latest
29 steps:
30 - uses: actions/checkout@v3
31 with:
32 submodules: 'recursive'
33 - name: setup
34 run: |
35 sudo ./ci/setup_cmake.sh
36 sudo ./ci/setup_ci_environment.sh
37 - name: run cmake tests (enable abseil-cpp)
38 run: |
39 sudo ./ci/install_abseil.sh
40 ./ci/do_ci.sh cmake.abseil.test
41
42 cmake_gcc_48_test:
43 name: CMake gcc 4.8 (without otlp exporter)
44 runs-on: ubuntu-18.04
45 steps:
46 - uses: actions/checkout@v3
47 with:
48 submodules: 'recursive'
49 - name: setup
50 run: |
51 sudo ./ci/setup_ci_environment.sh
52 sudo ./ci/install_gcc48.sh
53 - name: setup cmake
54 run: |
55 sudo CC=/usr/bin/gcc-4.8 CXX=/usr/bin/g++-4.8 ./ci/setup_cmake.sh
56 - name: run tests
57 run: ./ci/do_ci.sh cmake.legacy.test
58 env:
59 CC: /usr/bin/gcc-4.8
60 CXX: /usr/bin/g++-4.8
61
62 cmake_gcc_48_otlp_exporter_test:
63 name: CMake gcc 4.8 (with otlp exporter)
64 runs-on: ubuntu-18.04
65 steps:
66 - uses: actions/checkout@v3
67 with:
68 submodules: 'recursive'
69 - name: setup
70 run: |
71 sudo ./ci/setup_ci_environment.sh
72 sudo ./ci/install_gcc48.sh
73 - name: setup cmake
74 run: |
75 sudo CC=/usr/bin/gcc-4.8 CXX=/usr/bin/g++-4.8 ./ci/setup_cmake.sh
76 - name: setup grpc
77 run: |
78 sudo CC=/usr/bin/gcc-4.8 CXX=/usr/bin/g++-4.8 ./ci/setup_grpc.sh -v 4.8
79 - name: run tests
80 run: ./ci/do_ci.sh cmake.legacy.exporter.otprotocol.test
81 env:
82 CC: /usr/bin/gcc-4.8
83 CXX: /usr/bin/g++-4.8
84
85 cmake_test_cxx20:
86 name: CMake C++20 test
87 runs-on: ubuntu-20.04
88 steps:
89 - uses: actions/checkout@v3
90 with:
91 submodules: 'recursive'
92 - name: setup
93 run: |
94 sudo ./ci/setup_ci_environment.sh
95 sudo ./ci/setup_cmake.sh
96 - name: run tests
97 run: ./ci/do_ci.sh cmake.c++20.test
98 - name: run tests (enable stl)
99 run: ./ci/do_ci.sh cmake.c++20.stl.test
100
101 cmake_otprotocol_test:
102 name: CMake test (with otlp-exporter)
103 runs-on: ubuntu-latest
104 steps:
105 - uses: actions/checkout@v3
106 with:
107 submodules: 'recursive'
108 - name: setup
109 run: |
110 sudo ./ci/setup_cmake.sh
111 sudo ./ci/setup_ci_environment.sh
112 - name: run otlp exporter tests
113 run: |
114 sudo ./ci/setup_grpc.sh
115 ./ci/do_ci.sh cmake.exporter.otprotocol.test
116
117 plugin_test:
118 name: Plugin -> CMake
119 runs-on: ubuntu-latest
120 steps:
121 - uses: actions/checkout@v3
122 with:
123 submodules: 'recursive'
124 - name: setup
125 run: |
126 sudo ./ci/setup_cmake.sh
127 sudo ./ci/setup_ci_environment.sh
128 - name: run tests
129 run: ./ci/do_ci.sh cmake.test_example_plugin
130
131 bazel_test:
132 name: Bazel
133 runs-on: ubuntu-latest
134 steps:
135 - uses: actions/checkout@v3
136 with:
137 submodules: 'recursive'
138 - name: Mount Bazel Cache
139 uses: actions/cache@v3
140 env:
141 cache-name: bazel_cache
142 with:
143 path: /home/runner/.cache/bazel
144 key: bazel_test
145 - name: setup
146 run: |
147 sudo ./ci/setup_thrift.sh dependencies_only
148 sudo ./ci/setup_ci_environment.sh
149 sudo ./ci/install_bazelisk.sh
150 - name: run tests
151 run: ./ci/do_ci.sh bazel.test
152
153 bazel_with_abseil:
154 name: Bazel with external abseil
155 runs-on: ubuntu-latest
156 steps:
157 - uses: actions/checkout@v3
158 with:
159 submodules: 'recursive'
160 - name: Mount Bazel Cache
161 uses: actions/cache@v3
162 env:
163 cache-name: bazel_cache
164 with:
165 path: /home/runner/.cache/bazel
166 key: bazel_test
167 - name: setup
168 run: |
169 sudo ./ci/setup_thrift.sh dependencies_only
170 sudo ./ci/setup_ci_environment.sh
171 sudo ./ci/install_bazelisk.sh
172 - name: run tests
173 run: ./ci/do_ci.sh bazel.with_abseil
174
175 bazel_valgrind:
176 name: Bazel valgrind
177 runs-on: ubuntu-latest
178 steps:
179 - uses: actions/checkout@v3
180 with:
181 submodules: 'recursive'
182 - name: Mount Bazel Cache
183 uses: actions/cache@v3
184 env:
185 cache-name: bazel_cache
186 with:
187 path: /home/runner/.cache/bazel
188 key: bazel_valgrind
189 - name: setup
190 run: |
191 sudo ./ci/setup_thrift.sh dependencies_only
192 sudo ./ci/setup_ci_environment.sh
193 sudo ./ci/install_bazelisk.sh
194 - name: run tests
195 run: ./ci/do_ci.sh bazel.valgrind
196
197 bazel_noexcept:
198 name: Bazel noexcept
199 runs-on: ubuntu-latest
200 steps:
201 - uses: actions/checkout@v3
202 with:
203 submodules: 'recursive'
204 - name: Mount Bazel Cache
205 uses: actions/cache@v3
206 env:
207 cache-name: bazel_cache
208 with:
209 path: /home/runner/.cache/bazel
210 key: bazel_noexcept
211 - name: setup
212 run: |
213 sudo ./ci/setup_thrift.sh dependencies_only
214 sudo ./ci/setup_ci_environment.sh
215 sudo ./ci/install_bazelisk.sh
216 - name: run tests
217 run: ./ci/do_ci.sh bazel.noexcept
218
219 bazel_nortti:
220 name: Bazel nortti
221 runs-on: ubuntu-latest
222 steps:
223 - uses: actions/checkout@v3
224 with:
225 submodules: 'recursive'
226 - name: Mount Bazel Cache
227 uses: actions/cache@v3
228 env:
229 cache-name: bazel_cache
230 with:
231 path: /home/runner/.cache/bazel
232 key: bazel_nortti
233 - name: setup
234 run: |
235 sudo ./ci/setup_thrift.sh dependencies_only
236 sudo ./ci/setup_ci_environment.sh
237 sudo ./ci/install_bazelisk.sh
238 - name: run tests
239 run: ./ci/do_ci.sh bazel.nortti
240
241 bazel_asan:
242 name: Bazel asan config
243 runs-on: ubuntu-latest
244 steps:
245 - uses: actions/checkout@v3
246 with:
247 submodules: 'recursive'
248 - name: Mount Bazel Cache
249 uses: actions/cache@v3
250 env:
251 cache-name: bazel_cache
252 with:
253 path: /home/runner/.cache/bazel
254 key: bazel_asan
255 - name: setup
256 run: |
257 sudo ./ci/setup_thrift.sh dependencies_only
258 sudo ./ci/setup_ci_environment.sh
259 sudo ./ci/install_bazelisk.sh
260 - name: run tests
261 run: ./ci/do_ci.sh bazel.asan
262
263 bazel_tsan:
264 name: Bazel tsan config
265 runs-on: ubuntu-latest
266 steps:
267 - uses: actions/checkout@v3
268 with:
269 submodules: 'recursive'
270 - name: Mount Bazel Cache
271 uses: actions/cache@v3
272 env:
273 cache-name: bazel_cache
274 with:
275 path: /home/runner/.cache/bazel
276 key: bazel_tsan
277 - name: setup
278 run: |
279 sudo ./ci/setup_thrift.sh dependencies_only
280 sudo ./ci/setup_ci_environment.sh
281 sudo ./ci/install_bazelisk.sh
282 - name: run tests
283 run: ./ci/do_ci.sh bazel.tsan
284
285 bazel_osx:
286 name: Bazel on MacOS
287 runs-on: macos-latest
288 steps:
289 - uses: actions/checkout@v3
290 with:
291 submodules: 'recursive'
292 - name: Mount Bazel Cache
293 uses: actions/cache@v3
294 env:
295 cache-name: bazel_cache
296 with:
297 path: /Users/runner/.cache/bazel
298 key: bazel_osx
299 - name: run tests
300 run: ./ci/do_ci.sh bazel.macos.test
301
302 benchmark:
303 name: Benchmark
304 runs-on: ubuntu-latest
305 steps:
306 - uses: actions/checkout@v3
307 with:
308 submodules: 'recursive'
309 - name: Mount Bazel Cache
310 uses: actions/cache@v3
311 env:
312 cache-name: bazel_cache
313 with:
314 path: /home/runner/.cache/bazel
315 key: bazel_benchmark
316 - name: setup
317 run: |
318 sudo ./ci/setup_ci_environment.sh
319 sudo ./ci/install_bazelisk.sh
320 - name: run tests
321 run: |
322 env BENCHMARK_DIR=/benchmark
323 ./ci/do_ci.sh benchmark
324 - name: Upload benchmark results
325 uses: actions/upload-artifact@v2
326 with:
327 name: benchmark_reports
328 path: /home/runner/benchmark
329
330 format:
331 name: Format
332 runs-on: ubuntu-latest
333 steps:
334 - uses: actions/checkout@v3
335 - name: setup
336 run: sudo ./ci/install_format_tools.sh
337 - name: run tests
338 run: ./ci/do_ci.sh format
339
340
341 windows:
342 name: CMake -> exporter proto
343 runs-on: windows-2019
344 steps:
345 - uses: actions/checkout@v3
346 with:
347 submodules: 'recursive'
348 - name: setup
349 run: |
350 ./ci/setup_windows_cmake.ps1
351 ./ci/setup_windows_ci_environment.ps1
352 ./ci/install_windows_protobuf.ps1
353 - name: run cmake test
354 run: ./ci/do_ci.ps1 cmake.test
355 - name: run otprotocol test
356 run: ./ci/do_ci.ps1 cmake.exporter.otprotocol.test
357
358 windows_bazel:
359 name: Bazel Windows
360 runs-on: windows-2019
361 steps:
362 - uses: actions/checkout@v3
363 with:
364 submodules: 'recursive'
365 - name: setup
366 run: |
367 ./ci/setup_thrift.ps1
368 ./ci/install_windows_bazelisk.ps1
369 - name: run tests
370 run: ./ci/do_ci.ps1 bazel.build
371
372 windows_plugin_test:
373 name: Plugin -> CMake Windows
374 runs-on: windows-2019
375 steps:
376 - uses: actions/checkout@v3
377 with:
378 submodules: 'recursive'
379 - name: setup
380 run: |
381 ./ci/setup_windows_cmake.ps1
382 ./ci/setup_windows_ci_environment.ps1
383 - name: run tests
384 run: ./ci/do_ci.ps1 cmake.test_example_plugin
385
386 code_coverage:
387 name: Code coverage
388 runs-on: ubuntu-latest
389 steps:
390 - uses: actions/checkout@v3
391 with:
392 submodules: 'recursive'
393 - name: setup
394 run: |
395 sudo ./ci/setup_cmake.sh
396 sudo ./ci/setup_ci_environment.sh
397 - name: run tests and generate report
398 run: ./ci/do_ci.sh code.coverage
399 - name: upload report
400 uses: codecov/codecov-action@v3
401 with:
402 file: /home/runner/build/coverage.info
403
404 markdown-lint:
405 runs-on: ubuntu-latest
406
407 steps:
408 - name: check out code
409 uses: actions/checkout@v3
410
411 - name: install markdownlint-cli
412 run: sudo npm install -g markdownlint-cli
413
414 - name: run markdownlint
415 run: markdownlint .
416
417 misspell:
418 runs-on: ubuntu-latest
419 steps:
420 - name: check out code
421 uses: actions/checkout@v3
422 - name: install misspell
423 run: |
424 curl -L -o ./install-misspell.sh https://git.io/misspell
425 sh ./install-misspell.sh
426 - name: run misspell
427 run: ./bin/misspell -error .
428
429 docfx_check:
430 name: DocFX check
431 runs-on: windows-latest
432 steps:
433 - uses: actions/checkout@v3
434 - name: install docfx
435 run: choco install docfx -y --version=2.58.5
436 - name: run ./ci/docfx.cmd
437 shell: cmd
438 run: ./ci/docfx.cmd