Skip to content

Proposal to replace the vcpkg submodule with vcpkg manifests #3684

@dbarker

Description

@dbarker

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

Metadata

Metadata

Assignees

Labels

triage/acceptedIndicates an issue or PR is ready to be actively worked on.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions