Also update MSAN to use 17.0.2.
Related to #28465.
<!--e57a25ab6845829454e8d69fc972939a-->
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.
<!--006a51241073e994b41acfe9ec718e94-->
For detailed information about the code coverage, see the test coverage report.
<!--021abf342d371248e50ceaed478a90ca-->
See the guideline for information on the review process.
| Type | Reviewers |
|---|---|
| ACK | maflcko |
If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.
<!--174a7506f384e20aa4161008e828411d-->
No conflicts as of last run.
For reference, I cancelled the tasks here, except for tidy, because they are not needed on this draft-pull and there was a backlog of 20 pull requests * 12 tasks (=240 tasks) on https://cirrus-ci.com/github/bitcoin/bitcoin
(tidy passed, so I guess this is good to go once the iwyu branch is available)
73 | @@ -74,8 +74,8 @@ if [[ ${USE_MEMORY_SANITIZER} == "true" ]]; then 74 | fi 75 | 76 | if [[ "${RUN_TIDY}" == "true" ]]; then 77 | - git clone --depth=1 https://github.com/include-what-you-use/include-what-you-use -b clang_16 /include-what-you-use 78 | - cmake -B /iwyu-build/ -G 'Unix Makefiles' -DCMAKE_PREFIX_PATH=/usr/lib/llvm-16 -S /include-what-you-use 79 | + git clone --depth=1 https://github.com/include-what-you-use/include-what-you-use -b master /include-what-you-use 80 | + cmake -B /iwyu-build/ -G 'Unix Makefiles' -DCMAKE_PREFIX_PATH=/usr/lib/llvm-17 -S /include-what-you-use
Given that for this task we want the version number to be fixed and given that it spans over multiple files, I wonder if it makes sense to add an export TIDY_LLVM_V="17" to the env file?
This should also avoid invalidating the docker image for all other (unrelated) tasks, due to touching this 01_install file.
Pushed up a change to do this.
<!--9cd9c72976c961c55c7acef8f6ba82cd-->
Given the discussion in https://github.com/include-what-you-use/include-what-you-use/issues/1276, it seems there might not actually be a new release of IWYU until a breaking change in LLVM (the master branch "seems" to be working ok here, and with LLVM 17). I wonder if we should just pick a commit from the repo, to move things forward.
41 | @@ -42,7 +42,7 @@ if [ -n "$PIP_PACKAGES" ]; then 42 | fi 43 | 44 | if [[ ${USE_MEMORY_SANITIZER} == "true" ]]; then 45 | - git clone --depth=1 https://github.com/llvm/llvm-project -b "llvmorg-17.0.0-rc4" /msan/llvm-project 46 | + git clone --depth=1 https://github.com/llvm/llvm-project -b llvmorg-17.0.2 /msan/llvm-project
Could add ${CI_RETRY_EXE} while touching this?
Added
72 | @@ -73,8 +73,8 @@ if [[ ${USE_MEMORY_SANITIZER} == "true" ]]; then 73 | fi 74 | 75 | if [[ "${RUN_TIDY}" == "true" ]]; then 76 | - git clone --depth=1 https://github.com/include-what-you-use/include-what-you-use -b clang_16 /include-what-you-use 77 | - cmake -B /iwyu-build/ -G 'Unix Makefiles' -DCMAKE_PREFIX_PATH=/usr/lib/llvm-16 -S /include-what-you-use 78 | + git clone --depth=1 https://github.com/include-what-you-use/include-what-you-use -b master /include-what-you-use
Same?
Added
Yes, seems fine to hard-code the current master commit
72 | @@ -73,8 +73,9 @@ if [[ ${USE_MEMORY_SANITIZER} == "true" ]]; then 73 | fi 74 | 75 | if [[ "${RUN_TIDY}" == "true" ]]; then 76 | - git clone --depth=1 https://github.com/include-what-you-use/include-what-you-use -b clang_16 /include-what-you-use 77 | - cmake -B /iwyu-build/ -G 'Unix Makefiles' -DCMAKE_PREFIX_PATH=/usr/lib/llvm-16 -S /include-what-you-use 78 | + ${CI_RETRY_EXE} git clone --depth=1 https://github.com/include-what-you-use/include-what-you-use -b master /include-what-you-use 79 | + git -C /include-what-you-use checkout a138eaac254e5a472464e31d5ec418fe6e6f1fc7
You'll have to download the commit before checking it out.
master may be a different commit than this one.
Right. I'll just drop depth=1
lgtm ACK 8735e2c1365cba9246918ea167a40ffe44beb3ba
Tidy is green. MSAN failure is an out-of-space https://cirrus-ci.com/task/4727416686379008?logs=ci#L8613:
COMMIT ci_native_msan
Error: committing container for step {Env:[FILE_ENV=./ci/test/00_setup_env_native_msan.sh PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin] Command:run Args:[bash -c cd /ci_container_base/ && set -o errexit && source ./ci/test/00_setup_env.sh && ./ci/test/01_base_install.sh] Flags:[] Attrs:map[json:true] Message:RUN bash -c cd /ci_container_base/ && set -o errexit && source ./ci/test/00_setup_env.sh && ./ci/test/01_base_install.sh Original:RUN ["bash", "-c", "cd /ci_container_base/ && set -o errexit && source ./ci/test/00_setup_env.sh && ./ci/test/01_base_install.sh"]}: copying layers and metadata for container "9078ecd7c02b7fbc1c0de1d5d4534f78e13de447a360657750598e2941b10ce8": writing blob: adding layer with blob "sha256:4292df0af79f12a96574004b5501db4696d6f32549f7fdf6cf97f02981331925": processing tar file(write /msan/llvm-project/llvm/test/CodeGen/AMDGPU/twoaddr-regsequence.mir: no space left on device): exit status 1
For now, you can re-run. The machines have 80GB, which should be enough for all tasks to store their images:
podman image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
localhost/ci_native_qt5 latest e8fdb0e1b968 2 days ago 1.01 GB
localhost/ci_win64 latest 0edf4d450648 5 days ago 2.13 GB
localhost/ci_native_nowallet_libbitcoinkernel latest c3d13f300783 2 weeks ago 722 MB
localhost/ci_macos_cross latest 6af49a13445b 2 weeks ago 1.07 GB
localhost/ci_native_msan latest de994cb050d8 2 weeks ago 5.7 GB
localhost/ci_i686_centos latest 1bc6df012537 2 weeks ago 656 MB
docker.io/library/debian buster 4ad95f81332e 2 weeks ago 119 MB
docker.io/library/debian bullseye 909f4919a453 2 weeks ago 129 MB
<none> <none> 9f25d95a5e92 3 weeks ago 80.4 MB
<none> <none> 5846a450a8d0 6 weeks ago 80.4 MB
<none> <none> c8cf6c4e81f8 6 weeks ago 80.4 MB
quay.io/centos/amd64 stream9 75bbb0f90548 7 weeks ago 160 MB
docker.io/amd64/ubuntu 23.10 58f19d7ce16d 7 weeks ago 73.3 MB
<none> <none> 3945dca58267 7 weeks ago 80.4 MB
docker.io/amd64/debian bookworm 3a37950934ff 7 weeks ago 121 MB
docker.io/library/ubuntu 22.04 01f29b872827 2 months ago 80.4 MB
docker.io/amd64/ubuntu 22.04 01f29b872827 2 months ago 80.4 MB
docker.io/library/ubuntu 20.04 6df894023726 2 months ago 75.2 MB
Maybe using a depends_sources volume that is shared across all tasks can help reduce the disk usage?