diff --git a/.github/workflows/fuzz.yml b/.github/workflows/fuzz.yml index a7161fb0f..115681395 100644 --- a/.github/workflows/fuzz.yml +++ b/.github/workflows/fuzz.yml @@ -26,8 +26,9 @@ jobs: - name: Install deps run: | + DEBIAN_FRONTEND="noninteractive" sudo apt-get -y remove python3-lldb-14 sudo .github/workflows/scripts/llvm.sh 15 - DEBIAN_FRONTEND="noninteractive" sudo apt-get -y install python3 apt-transport-https build-essential wget cmake git clang-15 libfuzzer-15-dev + DEBIAN_FRONTEND="noninteractive" sudo apt-get -y install libfuzzer-15-dev - name: Build run: ./fuzzing/build.sh diff --git a/.github/workflows/scripts/llvm.sh b/.github/workflows/scripts/llvm.sh index a8887ea3c..8dbf1bca3 100755 --- a/.github/workflows/scripts/llvm.sh +++ b/.github/workflows/scripts/llvm.sh @@ -20,7 +20,7 @@ usage() { exit 1; } -CURRENT_LLVM_STABLE=15 +CURRENT_LLVM_STABLE=16 BASE_URL="http://apt.llvm.org" # Check for required tools @@ -50,9 +50,9 @@ source /etc/os-release DISTRO=${DISTRO,,} case ${DISTRO} in debian) - if [[ "${VERSION}" == "unstable" ]] || [[ "${VERSION}" == "testing" ]] || [[ "${VERSION_CODENAME}" == "bookworm" ]]; then - # For now, bookworm == sid. - # TODO change when bookworm is released + # Debian Trixie has a workaround because of + # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1038383 + if [[ "${VERSION}" == "unstable" ]] || [[ "${VERSION}" == "testing" ]] || [[ "${VERSION_CODENAME}" == "trixie" ]]; then CODENAME=unstable LINKNAME= else @@ -124,7 +124,8 @@ LLVM_VERSION_PATTERNS[12]="-12" LLVM_VERSION_PATTERNS[13]="-13" LLVM_VERSION_PATTERNS[14]="-14" LLVM_VERSION_PATTERNS[15]="-15" -LLVM_VERSION_PATTERNS[16]="" +LLVM_VERSION_PATTERNS[16]="-16" +LLVM_VERSION_PATTERNS[17]="" if [ ! ${LLVM_VERSION_PATTERNS[$LLVM_VERSION]+_} ]; then echo "This script does not support LLVM version $LLVM_VERSION" @@ -150,9 +151,15 @@ fi # install everything -if [[ -z "`apt-key list | grep -i llvm`" ]]; then + +if [[ ! -f /etc/apt/trusted.gpg.d/apt.llvm.org.asc ]]; then # download GPG key once - wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - + wget -qO- https://apt.llvm.org/llvm-snapshot.gpg.key | tee /etc/apt/trusted.gpg.d/apt.llvm.org.asc +fi + +if [[ -z "`apt-key list 2> /dev/null | grep -i llvm`" ]]; then + # Delete the key in the old format + apt-key del AF4F7421 fi add-apt-repository "${REPO_NAME}" apt-get update @@ -161,5 +168,8 @@ if [[ $ALL -eq 1 ]]; then # same as in test-install.sh # No worries if we have dups PKG="$PKG clang-tidy-$LLVM_VERSION clang-format-$LLVM_VERSION clang-tools-$LLVM_VERSION llvm-$LLVM_VERSION-dev lld-$LLVM_VERSION lldb-$LLVM_VERSION llvm-$LLVM_VERSION-tools libomp-$LLVM_VERSION-dev libc++-$LLVM_VERSION-dev libc++abi-$LLVM_VERSION-dev libclang-common-$LLVM_VERSION-dev libclang-$LLVM_VERSION-dev libclang-cpp$LLVM_VERSION-dev libunwind-$LLVM_VERSION-dev" + if test $LLVM_VERSION -gt 14; then + PKG="$PKG libclang-rt-$LLVM_VERSION-dev libpolly-$LLVM_VERSION-dev" + fi fi apt-get install -y $PKG diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index af29c166e..a40eff0df 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -163,6 +163,7 @@ jobs: - name: Install clang-{tidy,format} run: | + DEBIAN_FRONTEND="noninteractive" sudo apt-get -y remove python3-lldb-14 sudo .github/workflows/scripts/llvm.sh 15 sudo apt-get install -y clang-tidy-15 clang-format-15