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
  1. hebasto commented at 3:29 pm on March 20, 2026: member
    This PR removes three vcpkg-specific workarounds. See the commit messages for more details.
  2. ci: Remove upstreamed vcpkg workaround
    See https://github.com/microsoft/vcpkg/pull/44712.
    65882fa68f
  3. ci: Switch to `x64-windows-release` triplet
    This removes the need to patch vcpkg source code to skip debug builds
    for dependencies.
    9aa5b3c3a3
  4. hebasto added the label Windows on Mar 20, 2026
  5. hebasto added the label Tests on Mar 20, 2026
  6. 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.

  7. 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.
    2d5cedfe12
  8. hebasto force-pushed on Mar 20, 2026
  9. fanquake commented at 0:24 am on March 21, 2026: member
  10. 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

  11. 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.

  12. 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:

    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.

    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-windows and x64-windows-static triplets. The -release triplet would be the same but without additional debug information/options.

    But I agree to keep this PR an CI only change.

  13. hodlinator approved
  14. 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

  15. DrahtBot requested review from janb84 on Mar 24, 2026
  16. 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.

  17. fanquake merged this on Mar 25, 2026
  18. fanquake closed this on Mar 25, 2026

  19. hebasto deleted the branch on Mar 25, 2026

github-metadata-mirror

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

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me