[CI] Add a clang-tidy build #9965
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
jobs: | |
arm64_test: | |
name: CMake test arm64 (with modern protobuf,grpc and abseil) | |
runs-on: actuated-arm64-4cpu-16gb | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: setup | |
env: | |
PROTOBUF_VERSION: '23.3' | |
ABSEIL_CPP_VERSION: '20230125.3' | |
CXX_STANDARD: '14' | |
CC: /usr/bin/gcc-10 | |
CXX: /usr/bin/g++-10 | |
run: | | |
sudo -E ./ci/setup_gcc10.sh | |
sudo -E ./ci/setup_cmake.sh | |
sudo -E ./ci/setup_ci_environment.sh | |
sudo -E ./ci/setup_googletest.sh | |
sudo -E ./ci/install_abseil.sh | |
sudo -E ./ci/install_protobuf.sh | |
- name: run otlp exporter tests | |
env: | |
CC: /usr/bin/gcc-10 | |
CXX: /usr/bin/g++-10 | |
WITH_ABSEIL: 'ON' | |
CXX_STANDARD: '14' | |
run: | | |
sudo -E ./ci/setup_grpc.sh -m -p protobuf -p abseil-cpp | |
./ci/do_ci.sh cmake.exporter.otprotocol.test | |
cmake_test: | |
name: CMake test (without otlp-exporter) | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: setup | |
env: | |
CC: /usr/bin/gcc-10 | |
CXX: /usr/bin/g++-10 | |
run: | | |
sudo -E ./ci/setup_googletest.sh | |
sudo -E ./ci/setup_ci_environment.sh | |
- name: run cmake tests (without otlp-exporter) | |
env: | |
CC: /usr/bin/gcc-10 | |
CXX: /usr/bin/g++-10 | |
run: | | |
./ci/do_ci.sh cmake.test | |
cmake_gcc_maintainer_sync_test: | |
name: CMake gcc 14 (maintainer mode, sync) | |
runs-on: ubuntu-24.04 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: setup | |
env: | |
CC: /usr/bin/gcc-14 | |
CXX: /usr/bin/g++-14 | |
PROTOBUF_VERSION: 21.12 | |
run: | | |
sudo apt remove needrestart #refer: https://github.com/actions/runner-images/issues/9937 | |
sudo -E ./ci/setup_googletest.sh | |
sudo -E ./ci/setup_ci_environment.sh | |
sudo -E ./ci/install_protobuf.sh | |
- name: run cmake gcc (maintainer mode, sync) | |
env: | |
CC: /usr/bin/gcc-14 | |
CXX: /usr/bin/g++-14 | |
run: | | |
./ci/do_ci.sh cmake.maintainer.sync.test | |
- name: generate test cert | |
env: | |
CFSSL_VERSION: 1.6.3 | |
run: | | |
sudo -E ./tools/setup-cfssl.sh | |
(cd ./functional/cert; ./generate_cert.sh) | |
- name: run func test | |
run: | | |
(cd ./functional/otlp; ./run_test.sh) | |
cmake_gcc_maintainer_async_test: | |
name: CMake gcc 14 (maintainer mode, async) | |
runs-on: ubuntu-24.04 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: setup | |
env: | |
CC: /usr/bin/gcc-14 | |
CXX: /usr/bin/g++-14 | |
PROTOBUF_VERSION: 21.12 | |
run: | | |
sudo apt remove needrestart #refer: https://github.com/actions/runner-images/issues/9937 | |
sudo -E ./ci/setup_googletest.sh | |
sudo -E ./ci/setup_ci_environment.sh | |
sudo -E ./ci/install_protobuf.sh | |
- name: run cmake gcc (maintainer mode, async) | |
env: | |
CC: /usr/bin/gcc-14 | |
CXX: /usr/bin/g++-14 | |
run: | | |
./ci/do_ci.sh cmake.maintainer.async.test | |
- name: generate test cert | |
env: | |
CFSSL_VERSION: 1.6.3 | |
run: | | |
sudo -E ./tools/setup-cfssl.sh | |
(cd ./functional/cert; ./generate_cert.sh) | |
- name: run func test | |
run: | | |
(cd ./functional/otlp; ./run_test.sh) | |
cmake_clang_maintainer_sync_test: | |
name: CMake clang 18 (maintainer mode, sync) | |
runs-on: ubuntu-24.04 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: setup | |
env: | |
CC: /usr/bin/clang-18 | |
CXX: /usr/bin/clang++-18 | |
PROTOBUF_VERSION: 21.12 | |
run: | | |
sudo apt remove needrestart #refer: https://github.com/actions/runner-images/issues/9937 | |
sudo -E ./ci/setup_googletest.sh | |
sudo -E ./ci/setup_ci_environment.sh | |
sudo -E ./ci/install_protobuf.sh | |
- name: run cmake clang (maintainer mode, sync) | |
env: | |
CC: /usr/bin/clang-18 | |
CXX: /usr/bin/clang++-18 | |
run: | | |
./ci/do_ci.sh cmake.maintainer.sync.test | |
- name: generate test cert | |
env: | |
CFSSL_VERSION: 1.6.3 | |
run: | | |
sudo -E ./tools/setup-cfssl.sh | |
(cd ./functional/cert; ./generate_cert.sh) | |
- name: run func test | |
run: | | |
(cd ./functional/otlp; ./run_test.sh) | |
cmake_clang_maintainer_async_test: | |
name: CMake clang 18 (maintainer mode, async) | |
runs-on: ubuntu-24.04 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: setup | |
env: | |
CC: /usr/bin/clang-18 | |
CXX: /usr/bin/clang++-18 | |
PROTOBUF_VERSION: 21.12 | |
run: | | |
sudo apt remove needrestart #refer: https://github.com/actions/runner-images/issues/9937 | |
sudo -E ./ci/setup_googletest.sh | |
sudo -E ./ci/setup_ci_environment.sh | |
sudo -E ./ci/install_protobuf.sh | |
- name: run cmake clang (maintainer mode, async) | |
env: | |
CC: /usr/bin/clang-18 | |
CXX: /usr/bin/clang++-18 | |
run: | | |
./ci/do_ci.sh cmake.maintainer.async.test | |
- name: generate test cert | |
env: | |
CFSSL_VERSION: 1.6.3 | |
run: | | |
sudo -E ./tools/setup-cfssl.sh | |
(cd ./functional/cert; ./generate_cert.sh) | |
- name: run func test | |
run: | | |
(cd ./functional/otlp; ./run_test.sh) | |
cmake_clang_maintainer_abiv2_test: | |
name: CMake clang 18 (maintainer mode, abiv2) | |
runs-on: ubuntu-24.04 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: setup | |
env: | |
CC: /usr/bin/clang-18 | |
CXX: /usr/bin/clang++-18 | |
PROTOBUF_VERSION: 21.12 | |
run: | | |
sudo apt remove needrestart #refer: https://github.com/actions/runner-images/issues/9937 | |
sudo -E ./ci/setup_googletest.sh | |
sudo -E ./ci/setup_ci_environment.sh | |
sudo -E ./ci/install_protobuf.sh | |
- name: run cmake clang (maintainer mode, abiv2) | |
env: | |
CC: /usr/bin/clang-18 | |
CXX: /usr/bin/clang++-18 | |
run: | | |
./ci/do_ci.sh cmake.maintainer.abiv2.test | |
- name: generate test cert | |
env: | |
CFSSL_VERSION: 1.6.3 | |
run: | | |
sudo -E ./tools/setup-cfssl.sh | |
(cd ./functional/cert; ./generate_cert.sh) | |
- name: run func test | |
run: | | |
(cd ./functional/otlp; ./run_test.sh) | |
cmake_msvc_maintainer_test: | |
name: CMake msvc (maintainer mode) | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: setup | |
run: | | |
./ci/setup_windows_ci_environment.ps1 | |
- name: run tests | |
run: ./ci/do_ci.ps1 cmake.maintainer.test | |
cmake_msvc_maintainer_test_stl_cxx20: | |
name: CMake msvc (maintainer mode) with C++20 | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: setup | |
run: | | |
./ci/setup_windows_ci_environment.ps1 | |
- name: run tests | |
env: | |
CXX_STANDARD: '20' | |
run: ./ci/do_ci.ps1 cmake.maintainer.cxx20.stl.test | |
cmake_with_async_export_test: | |
name: CMake test (without otlp-exporter and with async export) | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: setup | |
env: | |
CC: /usr/bin/gcc-10 | |
CXX: /usr/bin/g++-10 | |
run: | | |
sudo -E ./ci/setup_googletest.sh | |
sudo -E ./ci/setup_ci_environment.sh | |
- name: run cmake tests (without otlp-exporter) | |
env: | |
CC: /usr/bin/gcc-10 | |
CXX: /usr/bin/g++-10 | |
run: | | |
./ci/do_ci.sh cmake.with_async_export.test | |
cmake_abseil_stl_test: | |
name: CMake test (with abseil) | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: setup | |
run: | | |
sudo -E ./ci/setup_googletest.sh | |
sudo -E ./ci/setup_ci_environment.sh | |
- name: run cmake tests (enable abseil-cpp) | |
run: | | |
sudo ./ci/install_abseil.sh | |
./ci/do_ci.sh cmake.abseil.test | |
cmake_opentracing_shim_test: | |
name: CMake test (with opentracing-shim) | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: setup | |
run: | | |
sudo -E ./ci/setup_googletest.sh | |
sudo -E ./ci/setup_ci_environment.sh | |
- name: run cmake tests (enable opentracing-shim) | |
run: ./ci/do_ci.sh cmake.opentracing_shim.test | |
cmake_test_cxx14_gcc: | |
name: CMake C++14 test(GCC) | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: setup | |
run: | | |
sudo -E ./ci/setup_ci_environment.sh | |
sudo -E ./ci/setup_googletest.sh | |
- name: run tests (enable stl) | |
env: | |
CXX_STANDARD: '14' | |
run: ./ci/do_ci.sh cmake.c++14.stl.test | |
cmake_test_cxx17_gcc: | |
name: CMake C++17 test(GCC) | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: setup | |
run: | | |
sudo -E ./ci/setup_ci_environment.sh | |
sudo -E ./ci/setup_googletest.sh | |
- name: run tests (enable stl) | |
env: | |
CXX_STANDARD: '17' | |
run: ./ci/do_ci.sh cmake.c++17.stl.test | |
cmake_test_cxx20_gcc: | |
name: CMake C++20 test(GCC) | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: setup | |
run: | | |
sudo -E ./ci/setup_ci_environment.sh | |
sudo -E ./ci/setup_googletest.sh | |
- name: run tests | |
env: | |
CXX_STANDARD: '20' | |
run: ./ci/do_ci.sh cmake.c++20.test | |
- name: run tests (enable stl) | |
env: | |
CXX_STANDARD: '20' | |
run: ./ci/do_ci.sh cmake.c++20.stl.test | |
cmake_test_cxx20_clang: | |
name: CMake C++20 test(Clang with libc++) | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: setup | |
env: | |
CC: /usr/bin/clang | |
CXX: /usr/bin/clang++ | |
CXXFLAGS: "-stdlib=libc++" | |
run: | | |
sudo -E ./ci/setup_ci_environment.sh | |
sudo -E ./ci/setup_googletest.sh | |
- name: run tests | |
env: | |
CC: /usr/bin/clang | |
CXX: /usr/bin/clang++ | |
CXXFLAGS: "-stdlib=libc++" | |
CXX_STANDARD: '20' | |
run: ./ci/do_ci.sh cmake.c++20.test | |
- name: run tests (enable stl) | |
env: | |
CC: /usr/bin/clang | |
CXX: /usr/bin/clang++ | |
CXXFLAGS: "-stdlib=libc++" | |
CXX_STANDARD: '20' | |
run: ./ci/do_ci.sh cmake.c++20.stl.test | |
cmake_test_cxx23_gcc: | |
name: CMake C++23 test(GCC) | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: setup | |
run: | | |
sudo -E ./ci/setup_ci_environment.sh | |
sudo -E ./ci/setup_googletest.sh | |
- name: run tests | |
env: | |
CXX_STANDARD: '23' | |
run: ./ci/do_ci.sh cmake.c++23.test | |
- name: run tests (enable stl) | |
env: | |
CXX_STANDARD: '23' | |
run: ./ci/do_ci.sh cmake.c++23.stl.test | |
cmake_test_cxx23_clang: | |
name: CMake C++23 test(Clang with libc++) | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: setup | |
env: | |
CC: /usr/bin/clang | |
CXX: /usr/bin/clang++ | |
CXXFLAGS: "-stdlib=libc++" | |
run: | | |
sudo -E ./ci/setup_ci_environment.sh | |
sudo -E ./ci/setup_googletest.sh | |
- name: run tests | |
env: | |
CC: /usr/bin/clang | |
CXX: /usr/bin/clang++ | |
CXXFLAGS: "-stdlib=libc++" | |
CXX_STANDARD: '23' | |
run: ./ci/do_ci.sh cmake.c++23.test | |
- name: run tests (enable stl) | |
env: | |
CC: /usr/bin/clang | |
CXX: /usr/bin/clang++ | |
CXXFLAGS: "-stdlib=libc++" | |
CXX_STANDARD: '23' | |
run: ./ci/do_ci.sh cmake.c++23.stl.test | |
cmake_otprotocol_test: | |
name: CMake test (with otlp-exporter) | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: setup | |
run: | | |
sudo -E ./ci/setup_googletest.sh | |
sudo -E ./ci/setup_ci_environment.sh | |
- name: run otlp exporter tests | |
run: | | |
sudo ./ci/setup_grpc.sh | |
./ci/do_ci.sh cmake.exporter.otprotocol.test | |
cmake_modern_protobuf_grpc_with_abseil_test: | |
name: CMake test (with modern protobuf,grpc and abseil) | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: setup | |
env: | |
PROTOBUF_VERSION: '23.3' | |
ABSEIL_CPP_VERSION: '20230125.3' | |
CXX_STANDARD: '14' | |
run: | | |
sudo ./ci/setup_googletest.sh | |
sudo ./ci/setup_ci_environment.sh | |
sudo -E ./ci/install_abseil.sh | |
sudo -E ./ci/install_protobuf.sh | |
- name: run otlp exporter tests | |
env: | |
WITH_ABSEIL: 'ON' | |
CXX_STANDARD: '14' | |
run: | | |
sudo -E ./ci/setup_grpc.sh -m -p protobuf -p abseil-cpp | |
./ci/do_ci.sh cmake.exporter.otprotocol.test | |
cmake_do_not_install_test: | |
name: CMake do not install test (with otlp-exporter) | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: setup | |
run: | | |
sudo -E ./ci/setup_googletest.sh | |
sudo -E ./ci/setup_ci_environment.sh | |
- name: run otlp exporter tests | |
run: | | |
sudo ./ci/setup_grpc.sh | |
./ci/do_ci.sh cmake.do_not_install.test | |
cmake_otprotocol_shared_libs_with_static_grpc_test: | |
name: CMake test (build shared libraries with otlp-exporter and static gRPC) | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: setup | |
run: | | |
sudo -E ./ci/setup_googletest.sh | |
sudo -E ./ci/setup_ci_environment.sh | |
- name: run otlp exporter tests | |
run: | | |
sudo ./ci/setup_grpc.sh -T | |
./ci/do_ci.sh cmake.exporter.otprotocol.shared_libs.with_static_grpc.test | |
cmake_install_test: | |
name: CMake install test (with abseil) | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: setup | |
run: | | |
sudo -E ./ci/setup_googletest.sh | |
sudo -E ./ci/setup_ci_environment.sh | |
- name: run cmake install (with abseil) | |
run: | | |
sudo ./ci/install_abseil.sh | |
./ci/do_ci.sh cmake.install.test | |
- name: verify packages | |
run: | | |
./ci/verify_packages.sh | |
plugin_test: | |
name: Plugin -> CMake | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: setup | |
env: | |
CC: /usr/bin/gcc-10 | |
CXX: /usr/bin/g++-10 | |
run: | | |
sudo -E ./ci/setup_googletest.sh | |
sudo -E ./ci/setup_ci_environment.sh | |
- name: run tests | |
env: | |
CC: /usr/bin/gcc-10 | |
CXX: /usr/bin/g++-10 | |
run: ./ci/do_ci.sh cmake.test_example_plugin | |
bazel_test: | |
name: Bazel | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: Mount Bazel Cache | |
uses: actions/cache@v4 | |
env: | |
cache-name: bazel_cache | |
with: | |
path: /home/runner/.cache/bazel | |
key: bazel_test | |
- name: setup | |
run: | | |
sudo ./ci/setup_ci_environment.sh | |
sudo ./ci/install_bazelisk.sh | |
- name: run tests | |
run: ./ci/do_ci.sh bazel.test | |
bazel_no_bzlmod_test: | |
name: Bazel without bzlmod | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: Mount Bazel Cache | |
uses: actions/cache@v4 | |
env: | |
cache-name: bazel_cache | |
with: | |
path: /home/runner/.cache/bazel | |
key: bazel_test | |
- name: setup | |
run: | | |
sudo ./ci/setup_ci_environment.sh | |
sudo ./ci/install_bazelisk.sh | |
- name: run tests | |
run: ./ci/do_ci.sh bazel.no_bzlmod.test | |
bazel_test_async: | |
name: Bazel with async export | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: Mount Bazel Cache | |
uses: actions/cache@v4 | |
env: | |
cache-name: bazel_cache | |
with: | |
path: /home/runner/.cache/bazel | |
key: bazel_test | |
- name: setup | |
run: | | |
sudo ./ci/setup_ci_environment.sh | |
sudo ./ci/install_bazelisk.sh | |
- name: run tests | |
run: ./ci/do_ci.sh bazel.with_async_export.test | |
bazel_valgrind: | |
name: Bazel valgrind | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: Mount Bazel Cache | |
uses: actions/cache@v4 | |
env: | |
cache-name: bazel_cache | |
with: | |
path: /home/runner/.cache/bazel | |
key: bazel_valgrind | |
- name: setup | |
run: | | |
sudo ./ci/setup_ci_environment.sh | |
sudo ./ci/install_bazelisk.sh | |
- name: run tests | |
run: ./ci/do_ci.sh bazel.valgrind | |
bazel_noexcept: | |
name: Bazel noexcept | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: Mount Bazel Cache | |
uses: actions/cache@v4 | |
env: | |
cache-name: bazel_cache | |
with: | |
path: /home/runner/.cache/bazel | |
key: bazel_noexcept | |
- name: setup | |
run: | | |
sudo ./ci/setup_ci_environment.sh | |
sudo ./ci/install_bazelisk.sh | |
- name: run tests | |
run: ./ci/do_ci.sh bazel.noexcept | |
bazel_nortti: | |
name: Bazel nortti | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: Mount Bazel Cache | |
uses: actions/cache@v4 | |
env: | |
cache-name: bazel_cache | |
with: | |
path: /home/runner/.cache/bazel | |
key: bazel_nortti | |
- name: setup | |
run: | | |
sudo ./ci/setup_ci_environment.sh | |
sudo ./ci/install_bazelisk.sh | |
- name: run tests | |
run: ./ci/do_ci.sh bazel.nortti | |
bazel_asan: | |
name: Bazel asan config | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: Mount Bazel Cache | |
uses: actions/cache@v4 | |
env: | |
cache-name: bazel_cache | |
with: | |
path: /home/runner/.cache/bazel | |
key: bazel_asan | |
- name: setup | |
run: | | |
sudo ./ci/setup_ci_environment.sh | |
sudo ./ci/install_bazelisk.sh | |
- name: run tests | |
run: ./ci/do_ci.sh bazel.asan | |
bazel_tsan: | |
name: Bazel tsan config | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: Mount Bazel Cache | |
uses: actions/cache@v4 | |
env: | |
cache-name: bazel_cache | |
with: | |
path: /home/runner/.cache/bazel | |
key: bazel_tsan | |
- name: setup | |
run: | | |
sudo ./ci/setup_ci_environment.sh | |
sudo ./ci/install_bazelisk.sh | |
- name: run tests | |
run: ./ci/do_ci.sh bazel.tsan | |
bazel_osx: | |
name: Bazel on MacOS | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: Mount Bazel Cache | |
uses: actions/cache@v4 | |
env: | |
cache-name: bazel_cache | |
with: | |
path: /Users/runner/.cache/bazel | |
key: bazel_osx | |
- name: run tests | |
run: ./ci/do_ci.sh bazel.macos.test | |
benchmark: | |
name: Benchmark | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: Mount Bazel Cache | |
uses: actions/cache@v4 | |
env: | |
cache-name: bazel_cache | |
with: | |
path: /home/runner/.cache/bazel | |
key: bazel_benchmark | |
- name: setup | |
run: | | |
sudo ./ci/setup_ci_environment.sh | |
sudo ./ci/install_bazelisk.sh | |
- name: run tests | |
run: | | |
env BENCHMARK_DIR=/benchmark | |
./ci/do_ci.sh benchmark | |
- name: Upload benchmark results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: benchmark_reports | |
path: /home/runner/benchmark | |
format: | |
name: Format | |
runs-on: ubuntu-24.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: setup | |
run: sudo apt remove needrestart && sudo ./ci/install_format_tools.sh #refer: https://github.com/actions/runner-images/issues/9937 | |
- name: run tests | |
run: ./ci/do_ci.sh format | |
copyright: | |
name: Copyright | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: check copyright | |
run: ./tools/check_copyright.sh | |
windows: | |
name: CMake -> exporter proto | |
runs-on: windows-2019 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: setup | |
run: | | |
./ci/setup_windows_ci_environment.ps1 | |
./ci/install_windows_protobuf.ps1 | |
- name: run cmake test | |
run: ./ci/do_ci.ps1 cmake.test | |
- name: run otprotocol test | |
run: ./ci/do_ci.ps1 cmake.exporter.otprotocol.test | |
windows-build-dll: | |
name: CMake -> exporter proto (Build as DLL) | |
runs-on: windows-2019 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: setup | |
run: | | |
./ci/setup_windows_ci_environment.ps1 | |
./ci/install_windows_protobuf.ps1 | |
- name: run cmake test (DLL build) | |
run: ./ci/do_ci.ps1 cmake.dll.test | |
- name: run cmake cxx20 test (DLL build) | |
run: ./ci/do_ci.ps1 cmake.dll.cxx20.test | |
- name: run otprotocol test (DLL build) | |
run: ./ci/do_ci.ps1 cmake.exporter.otprotocol.dll.test | |
windows_with_async_export: | |
name: CMake (With async export) -> exporter proto | |
runs-on: windows-2019 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: setup | |
run: | | |
./ci/setup_windows_ci_environment.ps1 | |
./ci/install_windows_protobuf.ps1 | |
- name: run cmake test | |
run: ./ci/do_ci.ps1 cmake.with_async_export.test | |
- name: run otprotocol test | |
run: ./ci/do_ci.ps1 cmake.exporter.otprotocol.with_async_export.test | |
windows_bazel: | |
name: Bazel Windows | |
runs-on: windows-2019 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: setup | |
run: | | |
./ci/install_windows_bazelisk.ps1 | |
- name: run tests | |
run: ./ci/do_ci.ps1 bazel.build | |
windows_plugin_test: | |
name: Plugin -> CMake Windows | |
runs-on: windows-2019 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: setup | |
run: | | |
./ci/setup_windows_ci_environment.ps1 | |
- name: run tests | |
run: ./ci/do_ci.ps1 cmake.test_example_plugin | |
code_coverage: | |
name: Code coverage | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: setup | |
env: | |
CC: /usr/bin/gcc-10 | |
CXX: /usr/bin/g++-10 | |
run: | | |
sudo -E ./ci/setup_googletest.sh | |
sudo -E ./ci/setup_ci_environment.sh | |
- name: run tests and generate report | |
env: | |
CC: /usr/bin/gcc-10 | |
CXX: /usr/bin/g++-10 | |
run: ./ci/do_ci.sh code.coverage | |
- name: upload report | |
uses: codecov/codecov-action@v4 | |
with: | |
file: /home/runner/build/coverage.info | |
markdown-lint: | |
runs-on: ubuntu-latest | |
steps: | |
- name: check out code | |
uses: actions/checkout@v4 | |
- name: install markdownlint-cli | |
run: sudo npm install -g markdownlint-cli | |
- name: run markdownlint | |
run: markdownlint . | |
shellcheck: | |
runs-on: ubuntu-latest | |
steps: | |
- name: check out code | |
uses: actions/checkout@v4 | |
- name: install shellcheck | |
run: sudo apt install --assume-yes shellcheck | |
- name: run shellcheck | |
run: find . -name \*.sh | xargs shellcheck --severity=error | |
misspell: | |
runs-on: ubuntu-latest | |
steps: | |
- name: check out code | |
uses: actions/checkout@v4 | |
- name: install misspell | |
run: | | |
curl -L -o ./install-misspell.sh https://git.io/misspell | |
sh ./install-misspell.sh | |
- name: run misspell | |
run: ./bin/misspell -error . | |
docfx_check: | |
name: DocFX check | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: install docfx | |
run: choco install docfx -y --version=2.58.5 | |
- name: run ./ci/docfx.cmd | |
shell: cmd | |
run: ./ci/docfx.cmd |