diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-21 11:54:28 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-21 11:54:28 +0000 |
commit | e6918187568dbd01842d8d1d2c808ce16a894239 (patch) | |
tree | 64f88b554b444a49f656b6c656111a145cbbaa28 /src/jaegertracing/opentelemetry-cpp/.github | |
parent | Initial commit. (diff) | |
download | ceph-b26c4052f3542036551aa9dec9caa4226e456195.tar.xz ceph-b26c4052f3542036551aa9dec9caa4226e456195.zip |
Adding upstream version 18.2.2.upstream/18.2.2
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/jaegertracing/opentelemetry-cpp/.github')
11 files changed, 709 insertions, 0 deletions
diff --git a/src/jaegertracing/opentelemetry-cpp/.github/.codecov.yaml b/src/jaegertracing/opentelemetry-cpp/.github/.codecov.yaml new file mode 100644 index 000000000..62d96e70f --- /dev/null +++ b/src/jaegertracing/opentelemetry-cpp/.github/.codecov.yaml @@ -0,0 +1,42 @@ +codecov: + require_ci_to_pass: false + max_report_age: off + +coverage: + precision: 2 + round: up + range: "80...100" + status: + project: + default: + informational: true + target: auto + threshold: 10% + patch: false + +parsers: + gcov: + branch_detection: + conditional: yes + loop: yes + method: no + macro: no + +comment: + layout: "reach,diff,flags,tree" + behavior: default + require_changes: false + +# Relative file path fixing. +# CI file paths must match Git file paths. +# This fix removes the "/home/runner/" prefix +# to coverage report file paths. +fixes: + - "/home/runner/::" + +ignore: + - "docs/**/*" + - "docker/**/*" + - "examples/**/*" + - "**/test/**/*" + - "**.md"
\ No newline at end of file diff --git a/src/jaegertracing/opentelemetry-cpp/.github/CODEOWNERS b/src/jaegertracing/opentelemetry-cpp/.github/CODEOWNERS new file mode 100644 index 000000000..7a40cd0b0 --- /dev/null +++ b/src/jaegertracing/opentelemetry-cpp/.github/CODEOWNERS @@ -0,0 +1,8 @@ +# Code owners file. +# This file controls who is tagged for review for any given pull request. + +# For ETW exporter +exporters/etw/* @reyang @maxgolov @lalitb @ThomsonTan @open-telemetry/cpp-approvers + +# For anything not explicitly taken by someone else: +* @open-telemetry/cpp-approvers diff --git a/src/jaegertracing/opentelemetry-cpp/.github/ISSUE_TEMPLATE/bug_report.md b/src/jaegertracing/opentelemetry-cpp/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 000000000..e0bb4cca2 --- /dev/null +++ b/src/jaegertracing/opentelemetry-cpp/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,19 @@ +--- +name: Bug Report +about: Create a report to help us improve +labels: bug +--- + +**Describe your environment** Describe any aspect of your environment relevant to the problem, including your platform, build system, version numbers of installed dependencies, etc. If you're reporting a problem with a specific version of a library in this repo, please check whether the problem has been fixed on main branch. + +**Steps to reproduce** +Describe exactly how to reproduce the error. Include a code sample if applicable. + +**What is the expected behavior?** +What did you expect to see? + +**What is the actual behavior?** +What did you see instead? + +**Additional context** +Add any other context about the problem here. diff --git a/src/jaegertracing/opentelemetry-cpp/.github/ISSUE_TEMPLATE/feature_request.md b/src/jaegertracing/opentelemetry-cpp/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 000000000..973549ab2 --- /dev/null +++ b/src/jaegertracing/opentelemetry-cpp/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,19 @@ +--- +name: Feature Request +about: Suggest an idea for this project +labels: feature-request +--- + +Before opening a feature request against this repo, consider whether the feature should/could be implemented in the [other OpenTelemetry client libraries](https://github.com/open-telemetry/). If so, please [open an issue on opentelemetry-specification](https://github.com/open-telemetry/opentelemetry-specification/issues/new) first. + +**Is your feature request related to a problem?** +If so, provide a concise description of the problem. + +**Describe the solution you'd like** +What do you want to happen instead? What is the expected behavior? + +**Describe alternatives you've considered** +Which alternative solutions or features have you considered? + +**Additional context** +Add any other context about the feature request here. diff --git a/src/jaegertracing/opentelemetry-cpp/.github/dependabot.yml b/src/jaegertracing/opentelemetry-cpp/.github/dependabot.yml new file mode 100644 index 000000000..d90739296 --- /dev/null +++ b/src/jaegertracing/opentelemetry-cpp/.github/dependabot.yml @@ -0,0 +1,8 @@ +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "daily" + labels: + - "GHA" diff --git a/src/jaegertracing/opentelemetry-cpp/.github/pull_request_template.md b/src/jaegertracing/opentelemetry-cpp/.github/pull_request_template.md new file mode 100644 index 000000000..e54760323 --- /dev/null +++ b/src/jaegertracing/opentelemetry-cpp/.github/pull_request_template.md @@ -0,0 +1,11 @@ +Fixes # (issue) + +## Changes + +Please provide a brief description of the changes here. + +For significant contributions please make sure you have completed the following items: + +* [ ] `CHANGELOG.md` updated for non-trivial changes +* [ ] Unit tests have been added +* [ ] Changes in public API reviewed
\ No newline at end of file diff --git a/src/jaegertracing/opentelemetry-cpp/.github/workflows/benchmark.yml b/src/jaegertracing/opentelemetry-cpp/.github/workflows/benchmark.yml new file mode 100644 index 000000000..d6b12b82d --- /dev/null +++ b/src/jaegertracing/opentelemetry-cpp/.github/workflows/benchmark.yml @@ -0,0 +1,72 @@ +name: OpenTelemetry-cpp benchmarks +on: + push: + branches: + - main + +permissions: + contents: write + deployments: write + +jobs: + benchmark: + name: Run OpenTelemetry-cpp benchmarks + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + submodules: 'recursive' + - name: Mount Bazel Cache + uses: actions/cache@v3 + env: + cache-name: bazel_cache + with: + path: /home/runner/.cache/bazel + key: bazel_benchmark + - name: setup + run: | + sudo ./ci/setup_cmake.sh + sudo ./ci/setup_ci_environment.sh + - name: Run benchmark + id: run_benchmarks + run: | + ci/do_ci.sh bazel.benchmark + mkdir -p benchmarks + mv api-benchmark_result.json benchmarks + mv sdk-benchmark_result.json benchmarks + mv exporters-benchmark_result.json benchmarks + - uses: actions/upload-artifact@master + with: + name: benchmark_results + path: benchmarks + store_benchmark: + needs: benchmark + strategy: + matrix: + components: ["api", "sdk", "exporters"] + name: Store benchmark result + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/download-artifact@master + with: + name: benchmark_results + path: benchmarks + - name: Print json files + id: print_json + run: | + cat benchmarks/* + - name: Push benchmark result + uses: benchmark-action/github-action-benchmark@v1 + with: + name: OpenTelemetry-cpp ${{ matrix.components }} Benchmark + tool: 'googlecpp' + output-file-path: benchmarks/${{ matrix.components }}-benchmark_result.json + github-token: ${{ secrets.GITHUB_TOKEN }} + auto-push: true + # Show alert with commit comment on detecting possible performance regression + alert-threshold: '200%' + comment-on-alert: true + fail-on-alert: false + gh-pages-branch: gh-pages + benchmark-data-dir-path: benchmarks diff --git a/src/jaegertracing/opentelemetry-cpp/.github/workflows/ci.yml b/src/jaegertracing/opentelemetry-cpp/.github/workflows/ci.yml new file mode 100644 index 000000000..7030c719d --- /dev/null +++ b/src/jaegertracing/opentelemetry-cpp/.github/workflows/ci.yml @@ -0,0 +1,438 @@ +name: CI + +on: + push: + branches: [ main ] + pull_request: + branches: [ main, async-changes ] + +jobs: + cmake_test: + name: CMake test (without otlp-exporter) + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + submodules: 'recursive' + - name: setup + run: | + sudo ./ci/setup_cmake.sh + sudo ./ci/setup_ci_environment.sh + - name: run cmake tests (without otlp-exporter) + run: | + sudo ./ci/setup_thrift.sh + ./ci/do_ci.sh cmake.test + + cmake_absel_stl_test: + name: CMake test (with abseil) + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + submodules: 'recursive' + - name: setup + run: | + sudo ./ci/setup_cmake.sh + sudo ./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_gcc_48_test: + name: CMake gcc 4.8 (without otlp exporter) + runs-on: ubuntu-18.04 + steps: + - uses: actions/checkout@v3 + with: + submodules: 'recursive' + - name: setup + run: | + sudo ./ci/setup_ci_environment.sh + sudo ./ci/install_gcc48.sh + - name: setup cmake + run: | + sudo CC=/usr/bin/gcc-4.8 CXX=/usr/bin/g++-4.8 ./ci/setup_cmake.sh + - name: run tests + run: ./ci/do_ci.sh cmake.legacy.test + env: + CC: /usr/bin/gcc-4.8 + CXX: /usr/bin/g++-4.8 + + cmake_gcc_48_otlp_exporter_test: + name: CMake gcc 4.8 (with otlp exporter) + runs-on: ubuntu-18.04 + steps: + - uses: actions/checkout@v3 + with: + submodules: 'recursive' + - name: setup + run: | + sudo ./ci/setup_ci_environment.sh + sudo ./ci/install_gcc48.sh + - name: setup cmake + run: | + sudo CC=/usr/bin/gcc-4.8 CXX=/usr/bin/g++-4.8 ./ci/setup_cmake.sh + - name: setup grpc + run: | + sudo CC=/usr/bin/gcc-4.8 CXX=/usr/bin/g++-4.8 ./ci/setup_grpc.sh -v 4.8 + - name: run tests + run: ./ci/do_ci.sh cmake.legacy.exporter.otprotocol.test + env: + CC: /usr/bin/gcc-4.8 + CXX: /usr/bin/g++-4.8 + + cmake_test_cxx20: + name: CMake C++20 test + runs-on: ubuntu-20.04 + steps: + - uses: actions/checkout@v3 + with: + submodules: 'recursive' + - name: setup + run: | + sudo ./ci/setup_ci_environment.sh + sudo ./ci/setup_cmake.sh + - name: run tests + run: ./ci/do_ci.sh cmake.c++20.test + - name: run tests (enable stl) + run: ./ci/do_ci.sh cmake.c++20.stl.test + + cmake_otprotocol_test: + name: CMake test (with otlp-exporter) + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + submodules: 'recursive' + - name: setup + run: | + sudo ./ci/setup_cmake.sh + sudo ./ci/setup_ci_environment.sh + - name: run otlp exporter tests + run: | + sudo ./ci/setup_grpc.sh + ./ci/do_ci.sh cmake.exporter.otprotocol.test + + plugin_test: + name: Plugin -> CMake + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + submodules: 'recursive' + - name: setup + run: | + sudo ./ci/setup_cmake.sh + sudo ./ci/setup_ci_environment.sh + - name: run tests + run: ./ci/do_ci.sh cmake.test_example_plugin + + bazel_test: + name: Bazel + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + submodules: 'recursive' + - name: Mount Bazel Cache + uses: actions/cache@v3 + env: + cache-name: bazel_cache + with: + path: /home/runner/.cache/bazel + key: bazel_test + - name: setup + run: | + sudo ./ci/setup_thrift.sh dependencies_only + sudo ./ci/setup_ci_environment.sh + sudo ./ci/install_bazelisk.sh + - name: run tests + run: ./ci/do_ci.sh bazel.test + + bazel_with_abseil: + name: Bazel with external abseil + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + submodules: 'recursive' + - name: Mount Bazel Cache + uses: actions/cache@v3 + env: + cache-name: bazel_cache + with: + path: /home/runner/.cache/bazel + key: bazel_test + - name: setup + run: | + sudo ./ci/setup_thrift.sh dependencies_only + sudo ./ci/setup_ci_environment.sh + sudo ./ci/install_bazelisk.sh + - name: run tests + run: ./ci/do_ci.sh bazel.with_abseil + + bazel_valgrind: + name: Bazel valgrind + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + submodules: 'recursive' + - name: Mount Bazel Cache + uses: actions/cache@v3 + env: + cache-name: bazel_cache + with: + path: /home/runner/.cache/bazel + key: bazel_valgrind + - name: setup + run: | + sudo ./ci/setup_thrift.sh dependencies_only + 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@v3 + with: + submodules: 'recursive' + - name: Mount Bazel Cache + uses: actions/cache@v3 + env: + cache-name: bazel_cache + with: + path: /home/runner/.cache/bazel + key: bazel_noexcept + - name: setup + run: | + sudo ./ci/setup_thrift.sh dependencies_only + 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@v3 + with: + submodules: 'recursive' + - name: Mount Bazel Cache + uses: actions/cache@v3 + env: + cache-name: bazel_cache + with: + path: /home/runner/.cache/bazel + key: bazel_nortti + - name: setup + run: | + sudo ./ci/setup_thrift.sh dependencies_only + 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@v3 + with: + submodules: 'recursive' + - name: Mount Bazel Cache + uses: actions/cache@v3 + env: + cache-name: bazel_cache + with: + path: /home/runner/.cache/bazel + key: bazel_asan + - name: setup + run: | + sudo ./ci/setup_thrift.sh dependencies_only + 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@v3 + with: + submodules: 'recursive' + - name: Mount Bazel Cache + uses: actions/cache@v3 + env: + cache-name: bazel_cache + with: + path: /home/runner/.cache/bazel + key: bazel_tsan + - name: setup + run: | + sudo ./ci/setup_thrift.sh dependencies_only + 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@v3 + with: + submodules: 'recursive' + - name: Mount Bazel Cache + uses: actions/cache@v3 + 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@v3 + with: + submodules: 'recursive' + - name: Mount Bazel Cache + uses: actions/cache@v3 + 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@v2 + with: + name: benchmark_reports + path: /home/runner/benchmark + + format: + name: Format + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: setup + run: sudo ./ci/install_format_tools.sh + - name: run tests + run: ./ci/do_ci.sh format + + + windows: + name: CMake -> exporter proto + runs-on: windows-2019 + steps: + - uses: actions/checkout@v3 + with: + submodules: 'recursive' + - name: setup + run: | + ./ci/setup_windows_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_bazel: + name: Bazel Windows + runs-on: windows-2019 + steps: + - uses: actions/checkout@v3 + with: + submodules: 'recursive' + - name: setup + run: | + ./ci/setup_thrift.ps1 + ./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@v3 + with: + submodules: 'recursive' + - name: setup + run: | + ./ci/setup_windows_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-latest + steps: + - uses: actions/checkout@v3 + with: + submodules: 'recursive' + - name: setup + run: | + sudo ./ci/setup_cmake.sh + sudo ./ci/setup_ci_environment.sh + - name: run tests and generate report + run: ./ci/do_ci.sh code.coverage + - name: upload report + uses: codecov/codecov-action@v3 + with: + file: /home/runner/build/coverage.info + + markdown-lint: + runs-on: ubuntu-latest + + steps: + - name: check out code + uses: actions/checkout@v3 + + - name: install markdownlint-cli + run: sudo npm install -g markdownlint-cli + + - name: run markdownlint + run: markdownlint . + + misspell: + runs-on: ubuntu-latest + steps: + - name: check out code + uses: actions/checkout@v3 + - 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@v3 + - name: install docfx + run: choco install docfx -y --version=2.58.5 + - name: run ./ci/docfx.cmd + shell: cmd + run: ./ci/docfx.cmd diff --git a/src/jaegertracing/opentelemetry-cpp/.github/workflows/codeql-analysis.yml b/src/jaegertracing/opentelemetry-cpp/.github/workflows/codeql-analysis.yml new file mode 100644 index 000000000..000a0eb0d --- /dev/null +++ b/src/jaegertracing/opentelemetry-cpp/.github/workflows/codeql-analysis.yml @@ -0,0 +1,32 @@ +name: "CodeQL" + +on: + push: + branches: [main] + pull_request: + # The branches below must be a subset of the branches above + branches: [main] + +jobs: + CodeQL-Build: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v3 + with: + submodules: 'recursive' + - name: Remove Third_party Modules from Code Scan + run: | + rm -rf third_party + - name: Setup + run: | + sudo ./ci/setup_cmake.sh + sudo ./ci/setup_ci_environment.sh + - name: Initialize CodeQL + uses: github/codeql-action/init@v2 + with: + languages: cpp + - name: Autobuild + uses: github/codeql-action/autobuild@v2 + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v2 diff --git a/src/jaegertracing/opentelemetry-cpp/.github/workflows/dependencies_image.yml b/src/jaegertracing/opentelemetry-cpp/.github/workflows/dependencies_image.yml new file mode 100644 index 000000000..3a55a0b4e --- /dev/null +++ b/src/jaegertracing/opentelemetry-cpp/.github/workflows/dependencies_image.yml @@ -0,0 +1,46 @@ +name: 'OpenTelemetry-cpp dependencies image' +on: + schedule: + - cron: "0 3 * * 6" + +jobs: + docker_image: + name: Docker Image + runs-on: ubuntu-latest + timeout-minutes: 300 + steps: + - + name: checkout + uses: actions/checkout@v2 + - + name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - + name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@v2 + - + name: Build Image + uses: docker/build-push-action@v3 + with: + builder: ${{ steps.buildx.outputs.name }} + context: ci/ + file: ./docker/Dockerfile + build-args: BASE_IMAGE=ubuntu:latest + platforms: linux/amd64 + # platforms: linux/amd64,linux/arm64 + push: false + tags: otel-cpp-deps + load: true + - + name: Save Image + run: | + docker images + docker save -o /opt/otel-cpp-deps-debian.tar otel-cpp-deps + - + name: Upload Image + uses: actions/upload-artifact@v3 + with: + name: otel-cpp-deps + path: /opt/otel-cpp-deps-debian.tar + retention-days: 14 diff --git a/src/jaegertracing/opentelemetry-cpp/.github/workflows/stale.yml b/src/jaegertracing/opentelemetry-cpp/.github/workflows/stale.yml new file mode 100644 index 000000000..214516541 --- /dev/null +++ b/src/jaegertracing/opentelemetry-cpp/.github/workflows/stale.yml @@ -0,0 +1,14 @@ +name: 'Mark and close stale issues' +on: + schedule: + - cron: '30 1 * * *' + +jobs: + stale: + runs-on: ubuntu-latest + steps: + - uses: actions/stale@v5 + with: + stale-issue-message: 'This issue was marked as stale due to lack of activity.' + days-before-issue-stale: 60 + exempt-issue-labels: 'do-not-stale' |