# Install clang
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
+ sudo ./llvm.sh 20
+ sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-20 100
+ sudo update-alternatives --set clang /usr/bin/clang-20
+ sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-20 100
+ sudo update-alternatives --set clang++ /usr/bin/clang++-20
if [ "${SANITIZER}" = "TSan" ]; then
- sudo ./llvm.sh 17 # gh-121946: llvm-18 package is temporarily broken
- sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-17 100
- sudo update-alternatives --set clang /usr/bin/clang-17
- sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-17 100
- sudo update-alternatives --set clang++ /usr/bin/clang++-17
# Reduce ASLR to avoid TSan crashing
sudo sysctl -w vm.mmap_rnd_bits=28
- else
- sudo ./llvm.sh 20
fi
- name: Sanitizer option setup