Skip to content

Use release-only vcpkg triplet in sysio CI#340

Open
huangminghuang wants to merge 1 commit into
masterfrom
feature/sysio-release-vcpkg-triplet
Open

Use release-only vcpkg triplet in sysio CI#340
huangminghuang wants to merge 1 commit into
masterfrom
feature/sysio-release-vcpkg-triplet

Conversation

@huangminghuang
Copy link
Copy Markdown
Contributor

Summary

  • Add a repo-local x64-linux-release vcpkg overlay triplet with VCPKG_BUILD_TYPE=release.
  • Use the release-only triplet for both target and host vcpkg package builds in the reusable sysio build workflow.
  • Pass ccache as the compiler launcher for CMake-based vcpkg ports, including LLVM when it has to compile.
  • Include vcpkg-configuration.json and .github/vcpkg-triplets/** in the vcpkg binary cache key so cache entries are invalidated when registry or triplet behavior changes.

Why this is necessary

This mirrors the CI performance issue addressed in wire-cdt PR #55. wire-sysio already sets -DCMAKE_BUILD_TYPE=Release, but that only controls the top-level CMake build. vcpkg was still using the default x64-linux triplet, which does not set VCPKG_BUILD_TYPE, so package builds such as LLVM and protobuf can include unnecessary Debug variants or host helper packages under the default triplet.

Using x64-linux-release for both target and host triplets keeps vcpkg dependency builds release-only and makes the binary cache behavior more predictable.

Validation

  • Parsed .github/workflows/build.yaml and .github/workflows/build_base.yaml with PyYAML.
  • jq empty vcpkg.json vcpkg-configuration.json
  • git diff --check
  • vcpkg install --dry-run --x-manifest-root=. --triplet x64-linux-release --host-triplet x64-linux-release --overlay-triplets=.github/vcpkg-triplets shows LLVM, protobuf, and vcpkg helper packages selected under x64-linux-release.
  • Isolated vcpkg package probe confirmed the overlay triplet passes -DCMAKE_C_COMPILER_LAUNCHER=ccache and -DCMAKE_CXX_COMPILER_LAUNCHER=ccache into CMake package configure, and the generated package CMakeCache.txt contains both launcher settings.

Notes

  • This does not mark protobuf as host-only. Unlike CDT, sysio finds and links protobuf in normal target code paths, so protobuf remains a target dependency.

@huangminghuang huangminghuang requested a review from heifner May 15, 2026 19:03
@huangminghuang huangminghuang marked this pull request as ready for review May 15, 2026 19:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants