open-telemetry / open-telemetry/opentelemetry-cpp

Proposal to replace the vcpkg submodule with vcpkg manifests

Open
#3,684 1 comment 0 reactions 1 assignee View on GitHub

@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:

  1. Clone the latest git tag for vcpkg in the CI jobs in place of the ./tools/vcpkg submodule
  2. Add and use vcpkg manifest files install/vcpkg/third_party_<stable,latest>.json to install and test against specified third-party versions similar to the conan tests (see install/conan).
  3. Remove the vcpkg submodule

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.