ci: derived LLVM version too new #33345

issue fanquake openend 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:

     0time 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'
     1<snip>
     2+ [[ -n MemoryWithOrigins ]]
     3+ '[' -n 21 ']'
     4++ sed --silent 's@.*clang version \([0-9.]*\).*@\1@p'
     5++ clang --version
     6+ retry -- git clone --depth=1 https://github.com/llvm/llvm-project -b llvmorg-21.1.1 /llvm-project
     7Cloning into '/llvm-project'...
     8warning: Could not find remote branch llvmorg-21.1.1 to clone.
     9fatal: Remote branch llvmorg-21.1.1 not found in upstream origin
    10Before retry [#1](/bitcoin-bitcoin/1/): sleeping 0.3 seconds
    11Cloning into '/llvm-project'...
    12warning: Could not find remote branch llvmorg-21.1.1 to clone.
    13fatal: Remote branch llvmorg-21.1.1 not found in upstream origin
    14Before 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:

    0     git init /llvm-project
    1     cd /llvm-project
    2     git remote add origin https://github.com/llvm/llvm-project.git
    3     LLVM_SHORT_HASH=$( clang --version | sed --silent 's@.*clang version [0-9.]* (++[0-9].*+\([0-9a-f]*\)-.*@\1@p')
    4     ${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
    5     LLVM_FULL_HASH=$(sed --silent "s@.*\"sha\": \"\(${LLVM_SHORT_HASH}[0-9a-f]*\)\".*@\1@p" llvm_commit.json)
    6     ${CI_RETRY_EXE} git fetch --depth=1 origin $LLVM_FULL_HASH
    7     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

    0+ retry -- git clone --depth=1 https://github.com/llvm/llvm-project -b llvmorg-21.1.1 /llvm-project
    1Cloning into '/llvm-project'...
    2Note: 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: 2025-09-12 18:13 UTC

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