opentelemetry-cpp/ci
..
ports
Dockerfile
README.md
do_ci.ps1
do_ci.sh
docfx.cmd
docfx.json
install_abseil.sh
install_bazelisk.sh
install_format_tools.sh
install_gcc48.sh
install_osx_bazelisk.sh
install_protobuf.sh
install_windows_bazelisk.ps1
install_windows_protobuf.ps1
run_docker.sh
setup_ci_environment.sh
setup_cmake.sh
setup_grpc.sh
setup_thrift.ps1
setup_thrift.sh
setup_windows_ci_environment.ps1
setup_windows_cmake.ps1
toc.yml
valgrind-suppressions

README.md

Building and running tests as a developer

CI tests can be run on docker by invoking the script ./ci/run_docker.sh ./ci/do_ci.sh {TARGET} where the targets are:

  • cmake.test: build cmake targets and run tests.
  • cmake.legacy.test: build cmake targets with gcc 4.8 and run tests.
  • cmake.c++20.test: build cmake targets with the C++20 standard and run tests.
  • cmake.test_example_plugin: build and test an example OpenTelemetry plugin.
  • cmake.exporter.otprotocol.test: build and test the otprotocol exporter
  • bazel.test: build bazel targets and run tests.
  • bazel.legacy.test: build bazel targets and run tests for the targets meant to work with older compilers.
  • bazel.noexcept: build bazel targets and run tests with exceptions disabled.
  • bazel.nortti: build bazel targets and run tests with runtime type identification disabled.
  • bazel.asan: build bazel targets and run tests with AddressSanitizer.
  • bazel.tsan: build bazel targets and run tests with ThreadSanitizer.
  • bazel.valgrind: build bazel targets and run tests under the valgrind memory checker.
  • benchmark: run all benchmarks.
  • format: use tools/format.sh to enforce text formatting.
  • third_party.tags: store third_party release tags.
  • code.coverage: build cmake targets with CXX option --coverage and run tests.

Additionally, ./ci/run_docker.sh can be invoked with no arguments to get a docker shell where tests can be run manually.