[DO NOT MERGE] cmake: Migrate CI scripts to CMake-based build system – WIP #29790

pull hebasto wants to merge 1 commits into bitcoin:master from hebasto:240402-cmake-DA changing 107 files +5792 −447
  1. hebasto commented at 3:07 pm on April 2, 2024: member
    This PR goal is to facilitate testing CI scripts migration to the CMake.
  2. DrahtBot commented at 3:07 pm on April 2, 2024: contributor

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    Code Coverage

    For detailed information about the code coverage, see the test coverage report.

    Reviews

    See the guideline for information on the review process. A summary of reviews will appear here.

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #30597 (doc: Drop no longer needed workaround for WSL by hebasto)
    • #30527 (Bump python minimum supported version to 3.10 by maflcko)
    • #30465 (depends: Set CMAKE_SYSTEM_VERSION for CMake builds by hebasto)
    • #29881 (guix: use GCC 13 to builds releases by fanquake)
    • #29868 (Reintroduce external signer support for Windows by hebasto)
    • #25573 ([POC] guix: produce a fully -static-pie bitcoind by fanquake)
    • #19461 (multiprocess: Add bitcoin-gui -ipcconnect option by ryanofsky)
    • #19460 (multiprocess: Add bitcoin-wallet -ipcconnect option by ryanofsky)
    • #10102 (Multiprocess bitcoin by ryanofsky)

    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.

  3. hebasto force-pushed on Apr 2, 2024
  4. hebasto force-pushed on Apr 2, 2024
  5. DrahtBot added the label Needs rebase on Apr 2, 2024
  6. hebasto force-pushed on Apr 2, 2024
  7. DrahtBot added the label CI failed on Apr 2, 2024
  8. DrahtBot commented at 6:27 pm on April 2, 2024: contributor

    🚧 At least one of the CI tasks failed. Make sure to run all tests locally, according to the documentation.

    Possibly this is due to a silent merge conflict (the changes in this pull request being incompatible with the current code in the target branch). If so, make sure to rebase on the latest commit of the target branch.

    Leave a comment here, if you need help tracking down a confusing failure.

    Debug: https://github.com/bitcoin/bitcoin/runs/23353954951

  9. DrahtBot removed the label Needs rebase on Apr 2, 2024
  10. hebasto force-pushed on Apr 2, 2024
  11. hebasto force-pushed on Apr 3, 2024
  12. hebasto force-pushed on Apr 3, 2024
  13. DrahtBot added the label Needs rebase on Apr 4, 2024
  14. hebasto force-pushed on Apr 4, 2024
  15. DrahtBot removed the label Needs rebase on Apr 4, 2024
  16. hebasto force-pushed on Apr 4, 2024
  17. hebasto force-pushed on Apr 5, 2024
  18. hebasto force-pushed on Apr 6, 2024
  19. DrahtBot added the label Needs rebase on Apr 7, 2024
  20. hebasto force-pushed on Apr 8, 2024
  21. DrahtBot removed the label Needs rebase on Apr 8, 2024
  22. hebasto force-pushed on Apr 8, 2024
  23. hebasto force-pushed on Apr 8, 2024
  24. hebasto force-pushed on Apr 9, 2024
  25. hebasto force-pushed on Apr 9, 2024
  26. DrahtBot removed the label CI failed on Apr 9, 2024
  27. hebasto force-pushed on Apr 10, 2024
  28. DrahtBot added the label CI failed on Apr 10, 2024
  29. DrahtBot removed the label CI failed on Apr 10, 2024
  30. DrahtBot added the label Needs rebase on Apr 15, 2024
  31. hebasto force-pushed on Apr 18, 2024
  32. DrahtBot removed the label Needs rebase on Apr 18, 2024
  33. hebasto force-pushed on Apr 18, 2024
  34. DrahtBot commented at 1:54 pm on April 18, 2024: contributor

    🚧 At least one of the CI tasks failed. Make sure to run all tests locally, according to the documentation.

    Possibly this is due to a silent merge conflict (the changes in this pull request being incompatible with the current code in the target branch). If so, make sure to rebase on the latest commit of the target branch.

    Leave a comment here, if you need help tracking down a confusing failure.

    Debug: https://github.com/bitcoin/bitcoin/runs/23978850609

  35. DrahtBot added the label CI failed on Apr 18, 2024
  36. hebasto force-pushed on Apr 18, 2024
  37. DrahtBot removed the label CI failed on Apr 18, 2024
  38. hebasto force-pushed on Apr 21, 2024
  39. hebasto commented at 1:25 pm on April 21, 2024: member
    The recent push uses approach from the https://github.com/hebasto/bitcoin/pull/157.
  40. DrahtBot added the label CI failed on Apr 21, 2024
  41. DrahtBot added the label Needs rebase on Apr 24, 2024
  42. hebasto force-pushed on May 12, 2024
  43. hebasto force-pushed on May 12, 2024
  44. hebasto force-pushed on May 12, 2024
  45. hebasto force-pushed on May 12, 2024
  46. hebasto commented at 8:58 am on May 12, 2024: member
    Rebased and updated with usage of https://github.com/hebasto/bitcoin/pull/184.
  47. hebasto force-pushed on May 12, 2024
  48. in ci/test/00_setup_env_native_fuzz_with_msan.sh:21 in 5bd592c003 outdated
    17@@ -18,7 +18,7 @@ export PACKAGES="ninja-build"
    18 export DEP_OPTS="DEBUG=1 NO_BDB=1 NO_QT=1 CC=clang CXX=clang++ CFLAGS='${MSAN_FLAGS}' CXXFLAGS='${MSAN_AND_LIBCXX_FLAGS}'"
    19 export GOAL="install"
    20 # _FORTIFY_SOURCE is not compatible with MSAN.
    21-export BITCOIN_CONFIG="--enable-fuzz --with-sanitizers=fuzzer,memory CPPFLAGS='-DBOOST_MULTI_INDEX_ENABLE_SAFE_MODE -U_FORTIFY_SOURCE'"
    22+export BITCOIN_CONFIG="-DFUZZ=ON -DSANITIZERS=fuzzer,memory -DHARDENING=OFF -DAPPEND_CPPFLAGS='-DBOOST_MULTI_INDEX_ENABLE_SAFE_MODE -U_FORTIFY_SOURCE'"
    


    fanquake commented at 8:50 am on May 13, 2024:
    Should remove -DHARDENING=OFF here.

    hebasto commented at 3:57 pm on May 13, 2024:
    Thanks! Removed.
  49. DrahtBot removed the label Needs rebase on May 13, 2024
  50. hebasto force-pushed on May 13, 2024
  51. hebasto force-pushed on May 13, 2024
  52. DrahtBot removed the label CI failed on May 13, 2024
  53. hebasto commented at 9:59 am on May 14, 2024: member

    @maflcko Would you mind having a look into this, please?

    People who works on CMake migration are highly anticipating your opinion on use cases for APPEND_{CPP,C,CXX,LD}FLAGS in the CI scripts.

    cc @theuni

  54. maflcko commented at 10:35 am on May 14, 2024: member

    Personally I like the append approach, because it specifies that everything is the “default” plus the given flags appended. Otherwise there would be ambiguity and hard-to-debug issues which default flags are omitted (or kept) by setting CXXFLAGS. (c.f. https://github.com/bitcoin/bitcoin/pull/29205/files#diff-8b9cb286f7af766e7d4615428ff76c84947644ed42032c54e97e0aa4aeee751e)

    Other than that, I think the CI system should not receive more thought. I think the primary concern should be that it is clear for end-users. The CI can always be adjusted to fit in.

  55. theuni commented at 5:00 pm on May 14, 2024: member
    @maflcko FWIW, I just suggested that c-i be hooked up so that we could see what real-world usage of the flags would be. I didn’t mean to imply that it was the priority.
  56. maflcko commented at 9:17 am on May 15, 2024: member
    If the CI uses the same patterns that end-users will use, that is ideal. If it does not, then it is fine, too.
  57. hebasto force-pushed on May 17, 2024
  58. hebasto force-pushed on May 17, 2024
  59. hebasto force-pushed on May 18, 2024
  60. hebasto referenced this in commit 1d7605615e on May 20, 2024
  61. hebasto force-pushed on May 20, 2024
  62. hebasto commented at 10:56 pm on May 20, 2024: member

    This branch has been rebased on top of the https://github.com/hebasto/bitcoin/pull/202.

    I’ve noticed two issues in the “tidy” job so far:

    1. Cannot open mapping file '/ci_container_base/ci/scratch/build-/contrib/devtools/iwyu/bitcoin.core.imp': No such file or directory.
    2. Missed disabling EXPORT_COMPILE_COMMANDS property for targets in the crc32c subtree.
  63. hebasto commented at 12:14 pm on May 21, 2024: member

    @maflcko

    The last two commits in this branch have been cherry-picked into https://github.com/hebasto/bitcoin/pull/177.

    Would you mind leave your comment in there please?

  64. hebasto force-pushed on May 21, 2024
  65. hebasto force-pushed on May 21, 2024
  66. DrahtBot added the label CI failed on May 21, 2024
  67. DrahtBot commented at 2:10 pm on May 21, 2024: contributor

    🚧 At least one of the CI tasks failed. Make sure to run all tests locally, according to the documentation.

    Possibly this is due to a silent merge conflict (the changes in this pull request being incompatible with the current code in the target branch). If so, make sure to rebase on the latest commit of the target branch.

    Leave a comment here, if you need help tracking down a confusing failure.

    Debug: https://github.com/bitcoin/bitcoin/runs/25229150795

  68. DrahtBot removed the label CI failed on May 21, 2024
  69. DrahtBot added the label Needs rebase on May 22, 2024
  70. hebasto force-pushed on May 22, 2024
  71. DrahtBot removed the label Needs rebase on May 22, 2024
  72. hebasto commented at 2:24 pm on May 22, 2024: member

    I’ve noticed two issues in the “tidy” job so far:

    1. Cannot open mapping file '/ci_container_base/ci/scratch/build-/contrib/devtools/iwyu/bitcoin.core.imp': No such file or directory.

    2. Missed disabling EXPORT_COMPILE_COMMANDS property for targets in the crc32c subtree.

    The recent push includes:

  73. hebasto referenced this in commit 6c2be70c06 on May 23, 2024
  74. hebasto force-pushed on May 23, 2024
  75. hebasto commented at 10:01 am on May 23, 2024: member

    I’ve noticed two issues in the “tidy” job so far:

    1. Cannot open mapping file '/ci_container_base/ci/scratch/build-/contrib/devtools/iwyu/bitcoin.core.imp': No such file or directory.

    The recent push includes commits from https://github.com/hebasto/bitcoin/pull/205, which fixes the point 1.

    1. Missed disabling EXPORT_COMPILE_COMMANDS property for targets in the crc32c subtree.

    The point 2 has been fixed already.

  76. DrahtBot added the label CI failed on May 23, 2024
  77. DrahtBot commented at 11:16 am on May 23, 2024: contributor

    🚧 At least one of the CI tasks failed. Make sure to run all tests locally, according to the documentation.

    Possibly this is due to a silent merge conflict (the changes in this pull request being incompatible with the current code in the target branch). If so, make sure to rebase on the latest commit of the target branch.

    Leave a comment here, if you need help tracking down a confusing failure.

    Debug: https://github.com/bitcoin/bitcoin/runs/25322968099

  78. hebasto referenced this in commit f5f951d4f0 on May 23, 2024
  79. DrahtBot removed the label CI failed on May 23, 2024
  80. DrahtBot added the label Needs rebase on May 30, 2024
  81. hebasto force-pushed on Jun 4, 2024
  82. hebasto commented at 1:50 pm on June 4, 2024: member

    Rebased. Same as https://github.com/hebasto/bitcoin/pull/220.

    UPD. Markdown link errors have to addressed in the staging branch.

  83. DrahtBot added the label CI failed on Jun 4, 2024
  84. DrahtBot commented at 3:11 pm on June 4, 2024: contributor

    🚧 At least one of the CI tasks failed. Make sure to run all tests locally, according to the documentation.

    Possibly this is due to a silent merge conflict (the changes in this pull request being incompatible with the current code in the target branch). If so, make sure to rebase on the latest commit of the target branch.

    Leave a comment here, if you need help tracking down a confusing failure.

    Debug: https://github.com/bitcoin/bitcoin/runs/25790163888

  85. DrahtBot removed the label Needs rebase on Jun 4, 2024
  86. DrahtBot removed the label CI failed on Jun 4, 2024
  87. hebasto referenced this in commit b0ee403339 on Jun 5, 2024
  88. DrahtBot added the label Needs rebase on Jun 10, 2024
  89. hebasto force-pushed on Jun 30, 2024
  90. DrahtBot added the label CI failed on Jun 30, 2024
  91. DrahtBot commented at 6:25 pm on June 30, 2024: contributor

    🚧 At least one of the CI tasks failed. Make sure to run all tests locally, according to the documentation.

    Possibly this is due to a silent merge conflict (the changes in this pull request being incompatible with the current code in the target branch). If so, make sure to rebase on the latest commit of the target branch.

    Leave a comment here, if you need help tracking down a confusing failure.

    Debug: https://github.com/bitcoin/bitcoin/runs/26861569719

  92. DrahtBot removed the label Needs rebase on Jun 30, 2024
  93. hebasto force-pushed on Jun 30, 2024
  94. hebasto referenced this in commit 6afc48f2d3 on Jul 1, 2024
  95. DrahtBot removed the label CI failed on Jul 1, 2024
  96. DrahtBot added the label Needs rebase on Jul 2, 2024
  97. hebasto force-pushed on Jul 3, 2024
  98. hebasto force-pushed on Jul 3, 2024
  99. hebasto force-pushed on Jul 4, 2024
  100. DrahtBot added the label CI failed on Jul 4, 2024
  101. hebasto force-pushed on Jul 4, 2024
  102. DrahtBot removed the label Needs rebase on Jul 4, 2024
  103. DrahtBot removed the label CI failed on Jul 4, 2024
  104. DrahtBot added the label Needs rebase on Jul 4, 2024
  105. hebasto force-pushed on Jul 13, 2024
  106. DrahtBot removed the label Needs rebase on Jul 13, 2024
  107. DrahtBot added the label CI failed on Jul 13, 2024
  108. hebasto force-pushed on Jul 16, 2024
  109. hebasto force-pushed on Jul 16, 2024
  110. hebasto commented at 2:56 pm on July 16, 2024: member
    Closing. See #30454.
  111. hebasto closed this on Jul 16, 2024

  112. hebasto commented at 7:08 am on July 20, 2024: member
    Temporarily reopening this PR to demonstrate the correctness of the https://github.com/hebasto/bitcoin/pull/273.
  113. hebasto reopened this on Jul 20, 2024

  114. hebasto force-pushed on Jul 20, 2024
  115. DrahtBot removed the label CI failed on Jul 20, 2024
  116. DrahtBot added the label Needs rebase on Jul 20, 2024
  117. hebasto force-pushed on Jul 23, 2024
  118. hebasto force-pushed on Jul 23, 2024
  119. DrahtBot removed the label Needs rebase on Jul 23, 2024
  120. fanquake referenced this in commit 1518c086fd on Jul 24, 2024
  121. DrahtBot added the label Needs rebase on Jul 24, 2024
  122. hebasto force-pushed on Jul 24, 2024
  123. DrahtBot removed the label Needs rebase on Jul 24, 2024
  124. DrahtBot added the label Needs rebase on Jul 25, 2024
  125. hebasto force-pushed on Jul 30, 2024
  126. DrahtBot removed the label Needs rebase on Jul 30, 2024
  127. hebasto force-pushed on Jul 31, 2024
  128. hebasto force-pushed on Jul 31, 2024
  129. DrahtBot added the label Needs rebase on Aug 2, 2024
  130. hebasto force-pushed on Aug 5, 2024
  131. DrahtBot removed the label Needs rebase on Aug 5, 2024
  132. DrahtBot added the label Needs rebase on Aug 5, 2024
  133. build: Introduce CMake-based build system 40814c34dd
  134. hebasto force-pushed on Aug 6, 2024
  135. DrahtBot removed the label Needs rebase on Aug 6, 2024
  136. hebasto closed this on Aug 8, 2024


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: 2024-09-28 22:12 UTC

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