ci: derived LLVM version too new #33345

issue fanquake opened this issue on September 9, 2025
  1. fanquake commented at 9:37 AM on September 9, 2025: member

    Running the native MSAN job, it will install clang 21.1.1, which will result in a failure to clone the LLVM repo, as there is no 21.1.1 tag:

    time env -i HOME="$HOME" PATH="$PATH" USER="$USER" bash -c 'MAKEJOBS="-j17" FILE_ENV="./ci/test/00_setup_env_native_msan.sh" ./ci/test_run_all.sh'
    <snip>
    + [[ -n MemoryWithOrigins ]]
    + '[' -n 21 ']'
    ++ sed --silent 's@.*clang version \([0-9.]*\).*@\1@p'
    ++ clang --version
    + retry -- git clone --depth=1 https://github.com/llvm/llvm-project -b llvmorg-21.1.1 /llvm-project
    Cloning into '/llvm-project'...
    warning: Could not find remote branch llvmorg-21.1.1 to clone.
    fatal: Remote branch llvmorg-21.1.1 not found in upstream origin
    Before retry [#1](/bitcoin-bitcoin/1/): sleeping 0.3 seconds
    Cloning into '/llvm-project'...
    warning: Could not find remote branch llvmorg-21.1.1 to clone.
    fatal: Remote branch llvmorg-21.1.1 not found in upstream origin
    Before retry [#2](/bitcoin-bitcoin/2/): sleeping 0.6 seconds
    
  2. fanquake added the label Tests on Sep 9, 2025
  3. fanquake commented at 9:37 AM on September 9, 2025: member
  4. davidgumberg commented at 1:19 AM on September 10, 2025: contributor

    In the apt.llvm.org packages clang --version includes the build commit hash, so we could do the following, although it is quite ugly:

         git init /llvm-project
         cd /llvm-project
         git remote add origin https://github.com/llvm/llvm-project.git
         LLVM_SHORT_HASH=$( clang --version | sed --silent 's@.*clang version [0-9.]* (++[0-9].*+\([0-9a-f]*\)-.*@\1@p')
         ${CI_RETRY_EXE} curl -s -H "Accept: application/vnd.github.v3+json" "https://api.github.com/repos/llvm/llvm-project/commits/${LLVM_SHORT_HASH}" -o llvm_commit.json
         LLVM_FULL_HASH=$(sed --silent "s@.*\"sha\": \"\(${LLVM_SHORT_HASH}[0-9a-f]*\)\".*@\1@p" llvm_commit.json)
         ${CI_RETRY_EXE} git fetch --depth=1 origin $LLVM_FULL_HASH
         cd /
    

    https://github.com/davidgumberg/bitcoin/commit/d3f18db4ff49dd7b421c7b0f9e82f40a1463cc22

  5. willcl-ark commented at 11:29 AM on September 10, 2025: member

    This appears to have been tagged 3 hours ago, so I think we can close this?

    https://github.com/llvm/llvm-project/tags

    + retry -- git clone --depth=1 https://github.com/llvm/llvm-project -b llvmorg-21.1.1 /llvm-project
    Cloning into '/llvm-project'...
    Note: switching to '5a86dc996c26299de63effc927075dcbfb924167'.
    
  6. fanquake commented at 11:32 AM on September 10, 2025: member

    Yea the tag now exists, but the potential for it to be broken is still the same for every new release.

  7. willcl-ark commented at 11:36 AM on September 10, 2025: member

    Because they have an apt packaged version for a while before a GH tag?

    Is there anything else we can do about that, other than make sure we only run the latest (GH) tag, rather then the most bleeding-edge apt package?

  8. fanquake commented at 11:50 AM on September 10, 2025: member

    I think just using the a (recent) tag is fine, and avoids this issue entirely, rather than trying to match the libcxx build to whichever point release of Clang is being installed via apt.

  9. fanquake referenced this in commit b736052e39 on Sep 11, 2025
  10. fanquake added the label CI failed on Sep 11, 2025
  11. fanquake referenced this in commit 853f0d8811 on Sep 12, 2025
  12. fanquake closed this on Sep 12, 2025

  13. fanquake referenced this in commit f7eded1dca on Sep 12, 2025
  14. fanquake referenced this in commit 324caa8497 on Sep 12, 2025

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

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