CI: Upgrade to Ubuntu 22.04 to add GCC 12, Clang 13, Clang 14

Notably, this might have caught #18225, as Clang 14 wasn't - and is not yet
until this commit - in OpenSSL's CI.

It makes sense to ensure CI tests compilers used in newer Linux distributions:
* Fedora 36 ships with GCC 12
* Ubuntu 22.04 ships with Clang 14

We switch from 'ubuntu-latest' (which can change meaning but currently points
to ubuntu-20.04) to ubuntu-20.04 for the older existing compilers, and
ubuntu-22.04 for the newer ones added by this commit.

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/18639)
This commit is contained in:
Sam James 2022-06-23 04:24:32 +01:00 committed by Pauli
parent 6332f4c4a2
commit 712c13c57b

View File

@ -1,4 +1,4 @@
# Copyright 2021 The OpenSSL Project Authors. All Rights Reserved.
# Copyright 2021-2022 The OpenSSL Project Authors. All Rights Reserved.
#
# Licensed under the Apache License 2.0 (the "License"). You may not use
# this file except in compliance with the License. You can obtain a copy
@ -16,41 +16,59 @@ jobs:
matrix:
zoo: [
{
cc: gcc-7
cc: gcc-7,
distro: ubuntu-20.04
}, {
cc: gcc-8
cc: gcc-8,
distro: ubuntu-20.04
}, {
cc: gcc-9
cc: gcc-9,
distro: ubuntu-20.04
}, {
cc: gcc-10
cc: gcc-10,
distro: ubuntu-20.04
}, {
cc: gcc-11
cc: gcc-11,
distro: ubuntu-22.04
}, {
cc: clang-6.0
cc: gcc-12,
distro: ubuntu-22.04
}, {
cc: clang-7
cc: clang-6.0,
distro: ubuntu-20.04
}, {
cc: clang-8
cc: clang-7,
distro: ubuntu-20.04
}, {
cc: clang-9
cc: clang-8,
distro: ubuntu-20.04
}, {
cc: clang-10
cc: clang-9,
distro: ubuntu-20.04
}, {
cc: clang-11
cc: clang-10,
distro: ubuntu-20.04
}, {
cc: clang-12
cc: clang-11,
distro: ubuntu-20.04
}, {
cc: clang-12,
distro: ubuntu-20.04
}, {
cc: clang-13,
distro: ubuntu-22.04
}, {
cc: clang-14,
distro: ubuntu-22.04
}
]
runs-on: ubuntu-latest
# We set per-compiler now to allow testing with both older and newer sets
# Often, the full range of oldest->newest compilers we want aren't available
# in a single version of Ubuntu.
runs-on: ${{ matrix.zoo.distro }}
steps:
- name: install packages
run: |
echo "deb https://ppa.launchpadcontent.net/ubuntu-toolchain-r/ppa/ubuntu focal main" | sudo tee /etc/apt/sources.list.d/gcc.list
echo "deb-src https://ppa.launchpadcontent.net/ubuntu-toolchain-r/ppa/ubuntu focal main" | sudo tee /etc/apt/sources.list.d/gcc.list
# From https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/ppa
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 60C317803A41BA51845E371A1E9377A2BA9EF27F
sudo apt-get update
sudo apt-get -yq --force-yes install ${{ matrix.zoo.cc }}
- uses: actions/checkout@v2