build, ci: Fix MSVC builds and other improvements #24516

pull hebasto wants to merge 3 commits into bitcoin:master from hebasto:220310-msvc-ci changing 2 files +9 −1
  1. hebasto commented at 7:28 AM on March 10, 2022: member

    The current MSVC builds are broken due to the bug in the zeromq port. From IRC:

    <sipsorcery> Looks like it's a problem downloading the zeromq dependency from https://patch-diff.githubusercontent.com/raw/zeromq/libzmq/pull/4311.diff <dhruv> sipsorcery: I'm definitely misunderstanding, i actually have no clue which file the CI is failing to download. I'll DM you more details. <sipsorcery> It's saying the hash of the patch file has changed. <dhruv> so we'd need to verify that the change is not malicious and then commit the new hash? <sipsorcery> No that dependency is managed by the vcpkg repo. Seems they might be working on it https://github.com/microsoft/vcpkg/pull/22681#issuecomment-1061312320 <dhruv> ok, thanks

    This PR fixes this issue with specifying the previous port version explicitly.

    The current CI task does not fail due to the cached binaries.


    The second commit makes vcpkg binary cache invalid if dependencies changed.

    The third commit drops double-conversion from dependencies as Qt is configured as follows:

    Configure summary:
    
    Build type: win32-msvc (x86_64, CPU features: sse sse2)
    Compiler: msvc 193131104
    Configuration: sse2 aesni sse3 ssse3 sse4_1 sse4_2 avx avx2 avx512f avx512bw avx512cd avx512dq avx512er avx512ifma avx512pf avx512vbmi avx512vl compile_examples f16c largefile msvc_mp precompile_header rdrnd rdseed shani silent x86SimdAlways release c++11 c++14 c++17 c++1z concurrent no-pkg-config static static_runtime stl
    Build options:
    ...
    Qt Core:
      DoubleConversion ....................... yes
        Using system DoubleConversion ........ no
    ...
    
  2. build: Specify `zeromq` port explicitly for MSVC builds
    Current port 4 is broken:
    - https://github.com/microsoft/vcpkg/pull/22681#issuecomment-1061312320
    20b6c87117
  3. ci: Invalidate vcpkg binary cache if dependencies changed 7ff43e5372
  4. build: Drop `double-conversion` from MSVC dependencies
    Qt uses its own `double-conversion`.
    c3296b21e4
  5. hebasto force-pushed on Mar 10, 2022
  6. DrahtBot added the label Tests on Mar 10, 2022
  7. hebasto commented at 8:01 AM on March 10, 2022: member
  8. sipsorcery commented at 8:25 AM on March 10, 2022: member

    @hebasto looks good. First time I've seen the vcpkg builtin-baseline feature. Looks very handy.

    I suspect you could remove the git -c advice.detachedHead=false checkout %CI_VCPKG_TAG% line from the cirrus build file now since the job of pegging the vcpkg dependencies is now being done by the builtin-baseline.

  9. hebasto commented at 9:08 AM on March 10, 2022: member

    @sipsorcery

    @hebasto looks good. First time I've seen the vcpkg builtin-baseline feature. Looks very handy.

    I suspect you could remove the git -c advice.detachedHead=false checkout %CI_VCPKG_TAG% line from the cirrus build file now since the job of pegging the vcpkg dependencies is now being done by the builtin-baseline.

    It appears that builtin-baseline is required for using of overrides. I hope we could revert the first commit when zeromq port get fixed. Therefore, suggesting to postpone the choice between git checkout and builtin-baseline.

  10. sipsorcery commented at 9:29 AM on March 10, 2022: member

    tACK c3296b21e40be3a5cb7060ceb8f1b6db1fd79e65.

  11. MarcoFalke merged this on Mar 10, 2022
  12. MarcoFalke closed this on Mar 10, 2022

  13. hebasto deleted the branch on Mar 10, 2022
  14. dhruv commented at 6:36 PM on March 10, 2022: member

    Thank you, @hebasto !

  15. sidhujag referenced this in commit 98cdf15b39 on Mar 11, 2022
  16. DrahtBot locked this on Mar 10, 2023
Labels

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-04-24 21:14 UTC

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