Skip to content

Support handling retry-able errors for OTLP/gRPC exporter #10855

Support handling retry-able errors for OTLP/gRPC exporter

Support handling retry-able errors for OTLP/gRPC exporter #10855

Workflow file for this run

name: CI
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
# Commented 2024-11-06, lack of workers in github causes CI failures
# 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-12
CXX: /usr/bin/g++-12
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-12
CXX: /usr/bin/g++-12
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-12
CXX: /usr/bin/g++-12
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-12
CXX: /usr/bin/g++-12
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-22.04
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-22.04
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-12
CXX: /usr/bin/g++-12
run: |
sudo -E ./ci/setup_googletest.sh
sudo -E ./ci/setup_ci_environment.sh
- name: run tests
env:
CC: /usr/bin/gcc-12
CXX: /usr/bin/g++-12
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-22.04
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@v5
with:
files: /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
w3c_trace_context_compliance_v1:
name: W3C Distributed Tracing Validation V1
runs-on: ubuntu-latest
steps:
- name: Checkout open-telemetry/opentelemetry-cpp
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: setup
env:
CC: /usr/bin/gcc-12
CXX: /usr/bin/g++-12
run: |
sudo -E ./ci/setup_googletest.sh
sudo -E ./ci/setup_ci_environment.sh
- name: run w3c trace-context test server (background)
env:
CXX_STANDARD: '14'
run: |
./ci/do_ci.sh cmake.w3c.trace-context.build-server
cd $HOME/build/ext/test/w3c_tracecontext_http_test_server
./w3c_tracecontext_http_test_server &
- name: Checkout w3c/trace-context repo
uses: actions/checkout@v4
with:
repository: w3c/trace-context
path: trace-context
- name: install dependencies
run: |
sudo apt update && sudo apt install python3-pip
sudo pip3 install aiohttp
- name: run w3c trace-context test suite
env:
SPEC_LEVEL: 1
run:
|
python ${GITHUB_WORKSPACE}/trace-context/test/test.py http://localhost:30000/test TraceContextTest AdvancedTest
curl http://localhost:30000/stop