ci: vcpkg-specific cleanups #34883
pull hebasto wants to merge 3 commits into bitcoin:master from hebasto:260320-release-triplet changing 2 files +4 −14-
hebasto commented at 3:29 pm on March 20, 2026: memberThis PR removes three vcpkg-specific workarounds. See the commit messages for more details.
-
65882fa68f
ci: Remove upstreamed vcpkg workaround
See https://github.com/microsoft/vcpkg/pull/44712.
-
9aa5b3c3a3
ci: Switch to `x64-windows-release` triplet
This removes the need to patch vcpkg source code to skip debug builds for dependencies.
-
hebasto added the label Windows on Mar 20, 2026
-
hebasto added the label Tests on Mar 20, 2026
-
DrahtBot commented at 3:29 pm on March 20, 2026: contributor
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.
Reviews
See the guideline for information on the review process.
Type Reviewers ACK hodlinator Concept ACK janb84 If your review is incorrectly listed, please copy-paste <!–meta-tag:bot-skip–> into the comment that the bot should ignore.
Conflicts
Reviewers, this pull request conflicts with the following ones:
- #31507 (build: Use clang-cl to build on Windows natively by hebasto)
If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.
-
2d5cedfe12
ci: Switch to VS-vendored vcpkg instance
The GHA Windows image contains two vcpkg installations: one vendored by VS (`VCPKG_ROOT`) and an independent one (`VCPKG_INSTALLATION_ROOT`). Our build documentation recommends using the VS-vendored instance to minimize user effort. While this option previously failed to build in the CI, forcing us to use the independent installation, it is now working correctly. This change removes the no-longer-needed workaround.
-
hebasto force-pushed on Mar 20, 2026
-
fanquake commented at 0:24 am on March 21, 2026: membercc @hodlinator
-
janb84 commented at 7:41 pm on March 23, 2026: contributor
Concept ACK 2d5cedfe1291ecfc22081f3368471e4a9af0c695
The changes are CI changes but;
Did a local build on windows 11 (non-ci):
- with the new triplet: 27,9gb of packages disk usage
- without: 42,6 gb of packages disk usage
Both build fine but given the difference in disk usage, is the usage of the TRIPLET not something we also want add to the build documentation ?
Browsed trough the CI logs and I could not spot any error
-
hebasto commented at 8:32 pm on March 23, 2026: member
Did a local build on windows 11 (non-ci):
-
with the new triplet: 27,9gb of packages disk usage
-
without: 42,6 gb of packages disk usage
Both build fine but given the difference in disk usage, is the usage of the TRIPLET not something we also want add to the build documentation ?
Consider the content of the triplet files:
0set(VCPKG_TARGET_ARCHITECTURE x64) 1set(VCPKG_CRT_LINKAGE dynamic) 2set(VCPKG_LIBRARY_LINKAGE dynamic)0set(VCPKG_TARGET_ARCHITECTURE x64) 1set(VCPKG_CRT_LINKAGE dynamic) 2set(VCPKG_LIBRARY_LINKAGE dynamic) 3set(VCPKG_BUILD_TYPE release)The same diff we currently apply manually on the master branch:https://github.com/bitcoin/bitcoin/blob/1a1f584360ce053f9f832e310d063d686f86c6d7/.github/workflows/ci.yml#L258
Not sure about updating the build docs. If we want to do this, perhaps we should first document a policy on which triplets are documented and which are not.
-
-
janb84 commented at 9:30 am on March 24, 2026: contributor
Did a local build on windows 11 (non-ci):
- with the new triplet: 27,9gb of packages disk usage
- without: 42,6 gb of packages disk usage
Both build fine but given the difference in disk usage, is the usage of the TRIPLET not something we also want add to the build documentation ?
Consider the content of the triplet files:
0set(VCPKG_TARGET_ARCHITECTURE x64) 1set(VCPKG_CRT_LINKAGE dynamic) 2set(VCPKG_LIBRARY_LINKAGE dynamic)0set(VCPKG_TARGET_ARCHITECTURE x64) 1set(VCPKG_CRT_LINKAGE dynamic) 2set(VCPKG_LIBRARY_LINKAGE dynamic) 3set(VCPKG_BUILD_TYPE release)The same diff we currently apply manually on the master branch:
Not sure about updating the build docs. If we want to do this, perhaps we should first document a policy on which triplets are documented and which are not.
The CI changes are not disputed, as you show they are equal to what we already did in CI.
Because of the disk usage savings I was merely suggesting it to add this as an option to the manual build instructions build-windows-msvc.md. In there we are already describing the
x64-windowsandx64-windows-statictriplets. The-releasetriplet would be the same but without additional debug information/options.But I agree to keep this PR an CI only change.
-
hodlinator approved
-
hodlinator commented at 2:33 pm on March 24, 2026: contributor
utACK 2d5cedfe1291ecfc22081f3368471e4a9af0c695
Nice to get rid of:
- A workaround no longer needed due to upstream fix.
- Using a CLI arg rather than patching out-of-tree file.
- Using the GHA vendored vcpkg root.
Unchanged mentions of vcpkg in ci.yml already used ~/AppData/Local/vcpkg/archives for the binary cache.
“Generate build system” step took 1h49m on CI but I guess that’s not slower than usual when the cache is cold? https://github.com/bitcoin/bitcoin/actions/runs/23361871973/job/67966938087?pr=34883#step:8:211
-
DrahtBot requested review from janb84 on Mar 24, 2026
-
hebasto commented at 2:39 pm on March 24, 2026: member
“Generate build system” step took 1h49m on CI but I guess that’s not slower than usual when the cache is cold?
I guess so.
-
fanquake merged this on Mar 25, 2026
-
fanquake closed this on Mar 25, 2026
-
hebasto deleted the branch on Mar 25, 2026
This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-03-28 00:13 UTC
More mirrored repositories can be found on mirror.b10c.me