ci: use LLVM 23 in *san, fuzz, *cross jobs #36100

pull fanquake wants to merge 3 commits into bitcoin:master from fanquake:ci_llvm_23 changing 11 files +15 −10
  1. fanquake commented at 1:53 PM on August 27, 2026: member

    LLVM 23.1.0 was recently released, switch to using it across sanitizer, fuzzer and cross-compilation jobs.

  2. DrahtBot added the label Tests on Aug 27, 2026
  3. DrahtBot commented at 1:53 PM on August 27, 2026: contributor

    <!--e57a25ab6845829454e8d69fc972939a-->

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

    <!--006a51241073e994b41acfe9ec718e94-->

    Code Coverage & Benchmarks

    For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/36100.

    <!--021abf342d371248e50ceaed478a90ca-->

    Reviews

    See the guideline and AI policy for information on the review process.

    Type Reviewers
    ACK hebasto, willcl-ark
    Concept ACK l0rinc

    If your review is incorrectly listed, please copy-paste <code>&lt;!--meta-tag:bot-skip--&gt;</code> into the comment that the bot should ignore.

    <!--174a7506f384e20aa4161008e828411d-->

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #36147 (ci: add [free|open|net]BSD ci test jobs by willcl-ark)

    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.

    <!--5faf32d7da4f0f540f40219e4f7537a3-->

  4. hebasto commented at 2:05 PM on August 27, 2026: member

    Concept ACK. When running the "tidy" job locally, I can see new warnings though. Let's wait for the CI.

  5. DrahtBot added the label CI failed on Aug 27, 2026
  6. DrahtBot commented at 3:39 PM on August 27, 2026: contributor

    <!--85328a0da195eb286784d51f73fa0af9-->

    🚧 At least one of the CI tasks failed. <sub>Task tidy: https://github.com/bitcoin/bitcoin/actions/runs/33079209989/job/98541478471</sub> <sub>LLM reason (✨ experimental): CI failed because clang-tidy reported performance warnings (e.g., prefer single-char overload / use std::move) that were treated as errors (-warnings-as-errors).</sub>

    <details><summary>Hints</summary>

    Try to run the tests locally, according to the documentation. However, a CI failure may still happen due to a number of reasons, for example:

    • Possibly 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.

    • A sanitizer issue, which can only be found by compiling with the sanitizer and running the affected test.

    • An intermittent issue.

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

    </details>

  7. l0rinc commented at 4:20 PM on August 27, 2026: contributor

    Concept ACK

  8. fanquake force-pushed on Aug 27, 2026
  9. DrahtBot removed the label CI failed on Aug 27, 2026
  10. fanquake force-pushed on Sep 1, 2026
  11. fanquake marked this as ready for review on Sep 1, 2026
  12. DrahtBot added the label CI failed on Sep 1, 2026
  13. DrahtBot removed the label CI failed on Sep 1, 2026
  14. in ci/test/01_base_install.sh:71 in e28020ab30 outdated
      66 | @@ -67,7 +67,7 @@ if [ -n "$PIP_PACKAGES" ]; then
      67 |  fi
      68 |  
      69 |  if [[ -n "${USE_INSTRUMENTED_LIBCPP}" ]]; then
      70 | -  ${CI_RETRY_EXE} git clone --depth=1 https://github.com/llvm/llvm-project -b "llvmorg-22.1.7" /llvm-project
      71 | +  ${CI_RETRY_EXE} git clone --depth=1 https://github.com/llvm/llvm-project -b "llvmorg-23.1.0" /llvm-project
      72 |  
    


    maflcko commented at 4:24 PM on September 1, 2026:

    The tests aren't run, so can probably disable them?

    diff --git a/ci/test/01_base_install.sh b/ci/test/01_base_install.sh
    index a956706..189b244 100755
    --- a/ci/test/01_base_install.sh
    +++ b/ci/test/01_base_install.sh
    @@ -82,2 +82,3 @@ if [[ -n "${USE_INSTRUMENTED_LIBCPP}" ]]; then
         -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF \
    +    -DLIBCXX_INCLUDE_TESTS=OFF \
         -DLIBCXXABI_USE_LLVM_UNWINDER=OFF \
    
    

    fanquake commented at 4:40 PM on September 1, 2026:

    Added.

  15. in src/.clang-tidy:33 in e28020ab30 outdated
      28 |  -performance-no-int-to-ptr,
      29 |  -performance-noexcept-move-constructor,
      30 | +-performance-prefer-single-char-overloads,
      31 | +-performance-string-view-conversions,
      32 |  -performance-unnecessary-value-param,
      33 | +-performance-use-std-move,
    


    maflcko commented at 4:26 PM on September 1, 2026:

    Could probably enable them one-by-one on a case-by-case basis in the future.


    fanquake commented at 10:09 AM on September 3, 2026:

    Yea. Some of these are going to touch a fair bit of code, so seems fine to enable later, and not generally block upgrading all the infra.

  16. maflcko approved
  17. maflcko commented at 4:27 PM on September 1, 2026: member

    Seems fine

  18. ci: use LLVM 23 in *san, fuzz, *cross jobs b4bd12d3d5
  19. clang-tidy: remove some performance-* options feb3bd46e4
  20. ci: pass LIBCXX_INCLUDE_TESTS=OFF to LLVM build 5ba9af6b69
  21. fanquake force-pushed on Sep 3, 2026
  22. fanquake requested review from willcl-ark on Sep 3, 2026
  23. hebasto approved
  24. hebasto commented at 10:17 AM on September 3, 2026: member

    ACK 5ba9af6b6922c48567c0db5c7c03febb643b29d1, I have reviewed the code and it looks OK.

  25. DrahtBot requested review from l0rinc on Sep 3, 2026
  26. willcl-ark approved
  27. willcl-ark commented at 10:57 AM on September 3, 2026: member

    ACK 5ba9af6b6922c48567c0db5c7c03febb643b29d1

    Seems fine to drop the 4 performance checks . performance-use-std-move and performance-string-view-conversions from the docs look like they could take some extra review before applying.

  28. hebasto merged this on Sep 3, 2026
  29. hebasto closed this on Sep 3, 2026

  30. fanquake deleted the branch on Sep 3, 2026


l0rinc

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-09-09 07:56 UTC