]>
Commit | Line | Data |
---|---|---|
1e59de90 TL |
1 | name: CI |
2 | ||
3 | on: | |
4 | push: | |
5 | branches: [ main ] | |
6 | pull_request: | |
7 | branches: [ main, async-changes ] | |
8 | ||
9 | jobs: | |
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 |