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

No one assigned

    Labels

    needs-triageIndicates an issue or PR lacks a `triage/foo` label and requires one.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions