From 75ecda930e0a961f9605ce090af64d95c98ed161 Mon Sep 17 00:00:00 2001 From: Sam James Date: Wed, 19 Oct 2022 23:04:25 +0100 Subject: [PATCH] CI: add Clang 15 We have to use the PPA provided by LLVM because Clang 15 isn't officially part of Ubuntu 22.04 (or any other Ubuntu release yet), see https://apt.llvm.org/ for details. Signed-off-by: Sam James Reviewed-by: Paul Dale Reviewed-by: Hugo Landau Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/19450) --- .github/workflows/compiler-zoo.yml | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/.github/workflows/compiler-zoo.yml b/.github/workflows/compiler-zoo.yml index a8525258c5af0..292788ef78364 100644 --- a/.github/workflows/compiler-zoo.yml +++ b/.github/workflows/compiler-zoo.yml @@ -63,6 +63,10 @@ jobs: }, { cc: clang-14, distro: ubuntu-22.04 + }, { + cc: clang-15, + distro: ubuntu-22.04, + llvm-ppa-name: jammy } ] # We set per-compiler now to allow testing with both older and newer sets @@ -72,8 +76,29 @@ jobs: steps: - name: install packages run: | + llvm_ppa_name="${{ matrix.zoo.llvm-ppa-name }}" + + # In the Matrix above, we set llvm-ppa-name if an LLVM version isn't + # part of the Ubuntu version we're using. See https://apt.llvm.org/. + if [[ -n ${llvm_ppa_name} ]] ; then + wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key |\ + gpg --dearmor |\ + sudo tee /usr/share/keyrings/llvm-snapshot.gpg.key > /dev/null + + clang_version="${{ matrix.zoo.cc }}" + clang_version="${clang_version/clang-}" + + echo "deb [signed-by=/usr/share/keyrings/llvm-snapshot.gpg.key] http://apt.llvm.org/${{ matrix.zoo.llvm-ppa-name }}/ llvm-toolchain-${{ matrix.zoo.llvm-ppa-name }}-${clang_version} main" \ + | sudo tee /etc/apt/sources.list.d/llvm.list + echo "deb-src [signed-by=/usr/share/keyrings/llvm-snapshot.gpg.key] http://apt.llvm.org/${{ matrix.zoo.llvm-ppa-name }}/ llvm-toolchain-${{ matrix.zoo.llvm-ppa-name }}-${clang_version} main" \ + | sudo tee -a /etc/apt/sources.list.d/llvm.list + + cat /etc/apt/sources.list.d/llvm.list + fi + sudo apt-get update - sudo apt-get -yq --force-yes install ${{ matrix.zoo.cc }} + sudo apt-get -y install ${{ matrix.zoo.cc }} + - uses: actions/checkout@v2 - name: config