ci: use LLVM/Clang 22 in tidy job #34662

pull fanquake wants to merge 4 commits into bitcoin:master from fanquake:clang_22_tidy changing 5 files +3 −8
  1. fanquake commented at 1:43 pm on February 24, 2026: member
    Changes needed for moving to Clang 22 in the tidy job.
  2. DrahtBot added the label Tests on Feb 24, 2026
  3. DrahtBot commented at 1:44 pm on February 24, 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 maflcko, hebasto

    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:

    • #34672 (mining: add reason/debug to submitSolution and unify with submitBlock by w0xlt)
    • #34644 (mining: add submitBlock to IPC Mining interface by w0xlt)
    • #34422 (Update libmultiprocess subtree to be more stable with rust IPC client by ryanofsky)
    • #29409 (multiprocess: Add capnp wrapper for Chain interface 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.

  4. hebasto commented at 1:44 pm on February 24, 2026: member
    Concept ACK.
  5. in src/ipc/libmultiprocess/src/mp/proxy.cpp:41 in 5be6040993 outdated
    37@@ -38,7 +38,7 @@
    38 
    39 namespace mp {
    40 
    41-thread_local ThreadContext g_thread_context;
    42+thread_local ThreadContext g_thread_context; // NOLINT(bitcoin-nontrivial-threadlocal)
    


    fanquake commented at 1:45 pm on February 24, 2026:
    cc @ryanofsky @sjors Looking at the multiprocess source, it seems we are already suppressing this in at least one other place, do we just want to suppress it here too? See also bugprone-unused-return-value below. If source changes are needed in libmultiprocess, we could get them in as part of #34422.

    Sjors commented at 5:22 pm on February 24, 2026:
  6. DrahtBot added the label CI failed on Feb 24, 2026
  7. Sjors referenced this in commit abdad67bdf on Feb 24, 2026
  8. in src/ipc/libmultiprocess/test/mp/test/test.cpp:101 in 5be6040993
     97@@ -98,7 +98,7 @@ class TestSetup
     98                   client_connection->m_rpc_system->bootstrap(ServerVatId().vat_id).castAs<messages::FooInterface>(),
     99                   client_connection.get(), /* destroy_connection= */ client_owns_connection);
    100               if (client_owns_connection) {
    101-                  client_connection.release();
    102+                  client_connection.release(); // NOLINT(bugprone-unused-return-value)
    


    ryanofsky commented at 5:27 pm on February 24, 2026:

    In commit “f: libmultiprocess tidy errors” (5be60409931f572d6b094a351e993f646caee02e)

    Can this be changed to (void)client_connection.release(); to see if it fixes the tidy error? (void) should be a more typical way of indicating the return value is intentionally not used


    Sjors commented at 5:30 pm on February 24, 2026:
    Also added this one, since it’s in a test anyway.

    Sjors commented at 5:31 pm on February 24, 2026:
    Let me know if that works and I’ll switch it over in https://github.com/bitcoin-core/libmultiprocess/pull/244

    fanquake commented at 10:21 am on February 25, 2026:
    Looks like using (void) is fine here.
  9. Sjors referenced this in commit b4ea438ff2 on Feb 24, 2026
  10. Sjors referenced this in commit bc2c12ecfe on Feb 24, 2026
  11. fanquake force-pushed on Feb 25, 2026
  12. Sjors referenced this in commit dacd5eda46 on Feb 25, 2026
  13. Sjors referenced this in commit 16dfc36864 on Feb 25, 2026
  14. ryanofsky referenced this in commit fd4a90d310 on Feb 25, 2026
  15. fanquake force-pushed on Feb 25, 2026
  16. tidy: clang-tidy is required
    Otherwise this check will "pass", like:
    ```bash
    -- Detecting CXX compile features - done
    -- Found LLVM 21.1.8
    -- Found clang-tidy: CLANG_TIDY_EXE-NOTFOUND
    -- Configuring done (0.5s)
    ```
    eb17f29aa5
  17. tidy: remove deprecated header
    ```bash
       15 | #warning The ClangTidyModuleRegistry.h header is deprecated and will be removed in LLVM 24. All of the symbols it used to define have been moved into ClangTidyModule.h.
          |  ^~~~~~~
    [100%] Linking CXX shared module libbitcoin-tidy.so
    ```
    7ea076f996
  18. ci: use Clang 22 in tidy task
    Added -config-file as otherwise run-clang-tidy no-longer seemed able to
    find the config file.
    4089682f5c
  19. interpreter: remove clang-tidy suppression 5e35a9069d
  20. fanquake force-pushed on Mar 3, 2026
  21. fanquake marked this as ready for review on Mar 3, 2026
  22. fanquake commented at 5:09 pm on March 3, 2026: member
    Rebased now that #34422 is in.
  23. maflcko commented at 5:14 pm on March 3, 2026: member
    lgtm ACK 5e35a9069d655419cada6070e1f00a28d4a877f9
  24. DrahtBot requested review from hebasto on Mar 3, 2026
  25. DrahtBot removed the label CI failed on Mar 3, 2026
  26. hebasto approved
  27. hebasto commented at 10:39 pm on March 3, 2026: member
    ACK 5e35a9069d655419cada6070e1f00a28d4a877f9, I have reviewed the code and it looks OK.
  28. hebasto merged this on Mar 3, 2026
  29. hebasto closed this on Mar 3, 2026

  30. fanquake deleted the branch on Mar 4, 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-16 03:13 UTC

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