open-telemetry / open-telemetry/opentelemetry-cpp
Discuss testing strategy for third-party dependency versions
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 1.4k
- Forks
- 632
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 75
Description
In the otel-cpp SIG meeting today we discussed possible changes to what versions of third-party dependencies are tested in CI.
The goal is to test different versions of third-party dependencies in CI to catch breaking changes early and to better communicate the range of third-party versions that are supported by a opentelemetry-cpp release.
Current Strategy
- The main CI workflow tests the versions defined by the git tags in opentelemetry-cpp/third_party_release
- The cmake_install.yml workflow tests versions defined by:
- CMake installed packages from git tags in:
- install/cmake/third_party_minimum - intended to cover the oldest supported release for each dependency
- install/cmake/third_party_stable - intended to represent a stable release (running in production for a year or so) of each dependency
- install/cmake/third_party_latest - intended to represent the latest release of each dependency
- Conan installed versions of packages defined by
- install/conan/conanfile_stable.txt - intended to represent a stable (within a year or so) versions available in conan-center-index
- install/conan/conanfile_latest.txt - intended to be the latest versions available in conan-center-index
- apt installed packages for all dependencies with Ubuntu 24.04
- Homebrew installed packages (latest) for all dependencies with MacOS
- vcpkg installed versions defined by the current vcpkg git submodule
- CMake installed packages from git tags in:
Proposal discussed
- Change an existing third-party tag file or add a new one to cover the latest versions of dependencies that support C++14 and those that support C++17.
Please add feedback/ideas/concerns on the approaches in this issue thread. To be discussed in future SIG meetings.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Review the existing CI workflows and version sources named in the issue, including .github/workflows/cmake_install.yml, third_party_release, the install/cmake files, and the Conan files. Compare the current dependency coverage with the proposed C++14 and C++17 strategy; the work is complete when the SIG agrees on an approach and the corresponding version-testing changes are defined.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cmake, cpp, github-actions
- Domain
- build-system, ci-cd, devops
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100