| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247 |
- name: CI
- on:
- push:
- branches: [ main ]
- pull_request:
- branches: [ main ]
- permissions:
- contents: read
- 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@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- # 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_ci_environment.sh
- # sudo -E ./ci/setup_cmake.sh
- # sudo -E ./ci/setup_googletest.sh
- # sudo -E ./ci/install_abseil.sh
- # sudo -E ./ci/install_protobuf.sh
- cmake_test:
- name: CMake test (prometheus, elasticsearch, zipkin)
- runs-on: ubuntu-22.04
- env:
- CXX_STANDARD: '17'
- steps:
- - name: Harden the runner (Audit all outbound calls)
- uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
- with:
- egress-policy: audit
- - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- with:
- submodules: 'recursive'
- - name: setup
- run: |
- sudo -E ./ci/setup_ci_environment.sh
- sudo -E ./ci/setup_cmake.sh
- sudo -E ./ci/setup_googletest.sh
- - name: run cmake tests
- run: |
- ./ci/do_ci.sh cmake.test
- cmake_fetch_content_test:
- name: CMake FetchContent usage with opentelemetry-cpp
- runs-on: ubuntu-24.04
- env:
- CXX_STANDARD: '17'
- BUILD_TYPE: 'Debug'
- steps:
- - name: Harden the runner (Audit all outbound calls)
- uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
- with:
- egress-policy: audit
- - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- with:
- submodules: 'recursive'
- - name: setup
- run: |
- sudo -E ./ci/setup_ci_environment.sh
- sudo -E ./ci/setup_cmake.sh
- sudo -E ./ci/setup_googletest.sh
- - name: Install abseil, protobuf, and grpc with apt
- run: |
- sudo -E apt-get update
- sudo -E apt-get install -y libabsl-dev libprotobuf-dev libgrpc++-dev protobuf-compiler protobuf-compiler-grpc
- - name: run fetch content cmake test
- run: |
- ./ci/do_ci.sh cmake.fetch_content.test
- cmake_gcc_maintainer_sync_test:
- name: CMake gcc 14 (maintainer mode, sync)
- runs-on: ubuntu-24.04
- steps:
- - name: Harden the runner (Audit all outbound calls)
- uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
- with:
- egress-policy: audit
- - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- 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_ci_environment.sh
- sudo -E ./ci/setup_cmake.sh
- sudo -E ./ci/setup_googletest.sh
- sudo -E ./ci/install_protobuf.sh
- - name: setup grpc
- run: |
- sudo ./ci/setup_grpc.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:
- - name: Harden the runner (Audit all outbound calls)
- uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
- with:
- egress-policy: audit
- - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- 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_ci_environment.sh
- sudo -E ./ci/setup_cmake.sh
- sudo -E ./ci/setup_googletest.sh
- sudo -E ./ci/install_protobuf.sh
- - name: setup grpc
- run: |
- sudo ./ci/setup_grpc.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:
- - name: Harden the runner (Audit all outbound calls)
- uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
- with:
- egress-policy: audit
- - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- 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_ci_environment.sh
- sudo -E ./ci/setup_cmake.sh
- sudo -E ./ci/setup_googletest.sh
- sudo -E ./ci/install_protobuf.sh
- - name: setup grpc
- run: |
- sudo ./ci/setup_grpc.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:
- - name: Harden the runner (Audit all outbound calls)
- uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
- with:
- egress-policy: audit
- - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- 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_ci_environment.sh
- sudo -E ./ci/setup_cmake.sh
- sudo -E ./ci/setup_googletest.sh
- sudo -E ./ci/install_protobuf.sh
- - name: setup grpc
- run: |
- sudo ./ci/setup_grpc.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:
- - name: Harden the runner (Audit all outbound calls)
- uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
- with:
- egress-policy: audit
- - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- 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_ci_environment.sh
- sudo -E ./ci/setup_cmake.sh
- sudo -E ./ci/setup_googletest.sh
- sudo -E ./ci/install_protobuf.sh
- - name: setup grpc
- run: |
- sudo ./ci/setup_grpc.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:
- - name: Harden the runner (Audit all outbound calls)
- uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
- with:
- egress-policy: audit
- - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- with:
- submodules: 'recursive'
- - name: setup
- run: |
- ./ci/setup_cmake.ps1
- ./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:
- - name: Harden the runner (Audit all outbound calls)
- uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
- with:
- egress-policy: audit
- - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- with:
- submodules: 'recursive'
- - name: setup
- run: |
- ./ci/setup_cmake.ps1
- ./ci/setup_windows_ci_environment.ps1
- - name: run tests
- env:
- CXX_STANDARD: '20'
- run: ./ci/do_ci.ps1 cmake.maintainer.cxx20.stl.test
- cmake_msvc_maintainer_abiv2_test:
- name: CMake msvc (maintainer mode, abiv2)
- runs-on: windows-latest
- steps:
- - name: Harden the runner (Audit all outbound calls)
- uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
- with:
- egress-policy: audit
- - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- with:
- submodules: 'recursive'
- - name: setup
- run: |
- ./ci/setup_cmake.ps1
- ./ci/setup_windows_ci_environment.ps1
- - name: run tests
- env:
- CXX_STANDARD: '20'
- run: ./ci/do_ci.ps1 cmake.maintainer.abiv2.test
- cmake_with_async_export_test:
- name: CMake test (without otlp-exporter and with async export)
- runs-on: ubuntu-latest
- steps:
- - name: Harden the runner (Audit all outbound calls)
- uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
- with:
- egress-policy: audit
- - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- with:
- submodules: 'recursive'
- - name: setup
- env:
- CC: /usr/bin/gcc-12
- CXX: /usr/bin/g++-12
- run: |
- sudo -E ./ci/setup_ci_environment.sh
- sudo -E ./ci/setup_cmake.sh
- sudo -E ./ci/setup_googletest.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_opentracing_shim_test:
- name: CMake test (with opentracing-shim)
- runs-on: ubuntu-latest
- steps:
- - name: Harden the runner (Audit all outbound calls)
- uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
- with:
- egress-policy: audit
- - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- with:
- submodules: 'recursive'
- - name: setup
- run: |
- sudo -E ./ci/setup_ci_environment.sh
- sudo -E ./ci/setup_cmake.sh
- sudo -E ./ci/setup_googletest.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-22.04
- steps:
- - name: Harden the runner (Audit all outbound calls)
- uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
- with:
- egress-policy: audit
- - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- with:
- submodules: 'recursive'
- - name: setup
- run: |
- sudo -E ./ci/setup_ci_environment.sh
- sudo -E ./ci/setup_cmake.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-22.04
- steps:
- - name: Harden the runner (Audit all outbound calls)
- uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
- with:
- egress-policy: audit
- - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- with:
- submodules: 'recursive'
- - name: setup
- run: |
- sudo -E ./ci/setup_ci_environment.sh
- sudo -E ./ci/setup_cmake.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-22.04
- steps:
- - name: Harden the runner (Audit all outbound calls)
- uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
- with:
- egress-policy: audit
- - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- with:
- submodules: 'recursive'
- - name: setup
- run: |
- sudo -E ./ci/setup_ci_environment.sh
- sudo -E ./ci/setup_cmake.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:
- - name: Harden the runner (Audit all outbound calls)
- uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
- with:
- egress-policy: audit
- - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- 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_cmake.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:
- - name: Harden the runner (Audit all outbound calls)
- uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
- with:
- egress-policy: audit
- - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- with:
- submodules: 'recursive'
- - name: setup
- run: |
- sudo -E ./ci/setup_ci_environment.sh
- sudo -E ./ci/setup_cmake.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:
- - name: Harden the runner (Audit all outbound calls)
- uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
- with:
- egress-policy: audit
- - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- 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_cmake.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-22.04
- steps:
- - name: Harden the runner (Audit all outbound calls)
- uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
- with:
- egress-policy: audit
- - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- with:
- submodules: 'recursive'
- - name: setup
- run: |
- sudo -E ./ci/setup_ci_environment.sh
- sudo -E ./ci/setup_cmake.sh
- sudo -E ./ci/setup_googletest.sh
- - name: run otlp exporter tests
- run: |
- sudo ./ci/setup_grpc.sh
- ./ci/do_ci.sh cmake.exporter.otprotocol.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_modern_protobuf_grpc_with_abseil_test:
- name: CMake test (with modern protobuf,grpc and abseil)
- runs-on: ubuntu-latest
- steps:
- - name: Harden the runner (Audit all outbound calls)
- uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
- with:
- egress-policy: audit
- - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- with:
- submodules: 'recursive'
- - name: setup
- env:
- PROTOBUF_VERSION: '23.3'
- ABSEIL_CPP_VERSION: '20230125.3'
- CXX_STANDARD: '14'
- run: |
- sudo -E ./ci/setup_ci_environment.sh
- sudo -E ./ci/setup_cmake.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:
- 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-22.04
- steps:
- - name: Harden the runner (Audit all outbound calls)
- uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
- with:
- egress-policy: audit
- - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- with:
- submodules: 'recursive'
- - name: setup
- run: |
- sudo -E ./ci/setup_ci_environment.sh
- sudo -E ./ci/setup_cmake.sh
- sudo -E ./ci/setup_googletest.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-22.04
- steps:
- - name: Harden the runner (Audit all outbound calls)
- uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
- with:
- egress-policy: audit
- - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- with:
- submodules: 'recursive'
- - name: setup
- run: |
- sudo -E ./ci/setup_ci_environment.sh
- sudo -E ./ci/setup_cmake.sh
- sudo -E ./ci/setup_googletest.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
- plugin_test:
- name: Plugin -> CMake
- runs-on: ubuntu-latest
- steps:
- - name: Harden the runner (Audit all outbound calls)
- uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
- with:
- egress-policy: audit
- - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- with:
- submodules: 'recursive'
- - name: setup
- env:
- CC: /usr/bin/gcc-12
- CXX: /usr/bin/g++-12
- run: |
- sudo -E ./ci/setup_ci_environment.sh
- sudo -E ./ci/setup_cmake.sh
- sudo -E ./ci/setup_googletest.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:
- - name: Harden the runner (Audit all outbound calls)
- uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
- with:
- egress-policy: audit
- - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- with:
- submodules: 'recursive'
- - name: Mount Bazel Cache
- uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
- 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/setup_cmake.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:
- - name: Harden the runner (Audit all outbound calls)
- uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
- with:
- egress-policy: audit
- - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- with:
- submodules: 'recursive'
- - name: Mount Bazel Cache
- uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
- 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/setup_cmake.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:
- - name: Harden the runner (Audit all outbound calls)
- uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
- with:
- egress-policy: audit
- - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- with:
- submodules: 'recursive'
- - name: Mount Bazel Cache
- uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
- 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/setup_cmake.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:
- - name: Harden the runner (Audit all outbound calls)
- uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
- with:
- egress-policy: audit
- - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- with:
- submodules: 'recursive'
- - name: Mount Bazel Cache
- uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
- 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/setup_cmake.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:
- - name: Harden the runner (Audit all outbound calls)
- uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
- with:
- egress-policy: audit
- - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- with:
- submodules: 'recursive'
- - name: Mount Bazel Cache
- uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
- 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/setup_cmake.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:
- - name: Harden the runner (Audit all outbound calls)
- uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
- with:
- egress-policy: audit
- - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- with:
- submodules: 'recursive'
- - name: Mount Bazel Cache
- uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
- 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/setup_cmake.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:
- - name: Harden the runner (Audit all outbound calls)
- uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
- with:
- egress-policy: audit
- - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- with:
- submodules: 'recursive'
- - name: Mount Bazel Cache
- uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
- 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/setup_cmake.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:
- - name: Harden the runner (Audit all outbound calls)
- uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
- with:
- egress-policy: audit
- - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- with:
- submodules: 'recursive'
- - name: Mount Bazel Cache
- uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
- 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/setup_cmake.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:
- - name: Harden the runner (Audit all outbound calls)
- uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
- with:
- egress-policy: audit
- - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- with:
- submodules: 'recursive'
- - name: Mount Bazel Cache
- uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
- 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:
- - name: Harden the runner (Audit all outbound calls)
- uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
- with:
- egress-policy: audit
- - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- with:
- submodules: 'recursive'
- - name: Mount Bazel Cache
- uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
- 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@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
- with:
- name: benchmark_reports
- path: /home/runner/benchmark
- format:
- name: Format
- runs-on: ubuntu-24.04
- steps:
- - name: Harden the runner (Audit all outbound calls)
- uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
- with:
- egress-policy: audit
- - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- - 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-22.04
- steps:
- - name: Harden the runner (Audit all outbound calls)
- uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
- with:
- egress-policy: audit
- - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- - name: check copyright
- run: ./tools/check_copyright.sh
- windows:
- name: CMake -> exporter proto
- runs-on: windows-2019
- steps:
- - name: Harden the runner (Audit all outbound calls)
- uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
- with:
- egress-policy: audit
- - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- with:
- submodules: 'recursive'
- - name: setup
- run: |
- ./ci/setup_cmake.ps1
- ./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:
- - name: Harden the runner (Audit all outbound calls)
- uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
- with:
- egress-policy: audit
- - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- with:
- submodules: 'recursive'
- - name: setup
- run: |
- ./ci/setup_cmake.ps1
- ./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:
- - name: Harden the runner (Audit all outbound calls)
- uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
- with:
- egress-policy: audit
- - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- with:
- submodules: 'recursive'
- - name: setup
- run: |
- ./ci/setup_cmake.ps1
- ./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:
- - name: Harden the runner (Audit all outbound calls)
- uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
- with:
- egress-policy: audit
- - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- 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:
- - name: Harden the runner (Audit all outbound calls)
- uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
- with:
- egress-policy: audit
- - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- with:
- submodules: 'recursive'
- - name: setup
- run: |
- ./ci/setup_cmake.ps1
- ./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:
- - name: Harden the runner (Audit all outbound calls)
- uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
- with:
- egress-policy: audit
- - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- with:
- submodules: 'recursive'
- - name: setup
- env:
- CC: /usr/bin/gcc-10
- CXX: /usr/bin/g++-10
- run: |
- sudo -E ./ci/setup_ci_environment.sh
- sudo -E ./ci/setup_cmake.sh
- sudo -E ./ci/setup_googletest.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@18283e04ce6e62d37312384ff67231eb8fd56d24 # v5.4.3
- with:
- files: /home/runner/build/coverage.info
- markdown-lint:
- runs-on: ubuntu-latest
- steps:
- - name: Harden the runner (Audit all outbound calls)
- uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
- with:
- egress-policy: audit
- - name: check out code
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- - name: install markdownlint-cli
- run: sudo npm install -g [email protected]
- - name: run markdownlint
- run: markdownlint .
- shellcheck:
- runs-on: ubuntu-latest
- steps:
- - name: Harden the runner (Audit all outbound calls)
- uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
- with:
- egress-policy: audit
- - name: check out code
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- - 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: Harden the runner (Audit all outbound calls)
- uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
- with:
- egress-policy: audit
- - name: check out code
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- - 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:
- - name: Harden the runner (Audit all outbound calls)
- uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
- with:
- egress-policy: audit
- - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- - 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: Harden the runner (Audit all outbound calls)
- uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
- with:
- egress-policy: audit
- - name: Checkout open-telemetry/opentelemetry-cpp
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- with:
- submodules: 'recursive'
- - name: setup
- env:
- CC: /usr/bin/gcc-12
- CXX: /usr/bin/g++-12
- run: |
- sudo -E ./ci/setup_ci_environment.sh
- sudo -E ./ci/setup_cmake.sh
- sudo -E ./ci/setup_googletest.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@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- with:
- repository: w3c/trace-context
- path: trace-context
- - name: install dependencies
- run: |
- sudo apt update && sudo apt install python3-pip
- sudo pip3 install aiohttp==3.11.18
- - 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
|