open-telemetry / open-telemetry/opentelemetry-cpp
Proposal to replace the vcpkg submodule with vcpkg manifests
Open
@dbarker is already working on this.
Since Nov 12, 2025.
Stale
triage/accepted
- Dominant language
- C++
- Stars
- 1.4k
- Forks
- 632
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 75
Description
This is a proposal to remove the vcpkg git submodule and satisfy its use case by adding the newer vcpkg manifest files to install/vcpkg.
Context:
- opentelemetry-cpp has a git submodule for vcpkg (at
tools/vcpkg) that is used to install third-party dependencies for CI testing on Windows (via ci/setup_windows_ci_environment.ps1). - The script installs the latest versions of the third-party dependencies available at the git tag of the vcpkg submodule (currently set to
2024.02.14). - This submodule must be periodically updated to pull in newer versions of otel-cpp third-party dependencies and the dependency versions are not selected explicitly.
- vcpkg has added the manifest mode to explicitly select which package versions to install and this is now the recommended approach.
Proposal:
- Clone the latest git tag for vcpkg in the CI jobs in place of the ./tools/vcpkg submodule
- Add and use vcpkg manifest files
install/vcpkg/third_party_<stable,latest>.jsonto install and test against specified third-party versions similar to the conan tests (seeinstall/conan). - Remove the vcpkg submodule
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.
Assessment
This issue has not been assessed yet.