GitHub Actions config update.

- Added gcc-12 and clang-13 through 15 jobs.
- Added C++23 testing for gcc and clang on Linux.
- Updated clang version for UBSAN job.
- Updated Ubuntu version for clang jobs to avoid having to use external APT
  repository.
- Updated python package installation for compatibility with Ubuntu 22.04.
This commit is contained in:
Andrey Semashev 2022-09-10 02:09:54 +03:00
parent 3fe40554df
commit a1231d1ff4

View File

@ -102,22 +102,23 @@ jobs:
install: install:
- g++-10 - g++-10
- toolset: gcc-11 - toolset: gcc-11
cxxstd: "03,11,14,17,20" cxxstd: "03,11,14,17,20,23"
os: ubuntu-20.04 os: ubuntu-22.04
install: install:
- g++-11 - g++-11
sources: - toolset: gcc-12
- "ppa:ubuntu-toolchain-r/test" cxxstd: "03,11,14,17,20,23"
os: ubuntu-22.04
install:
- g++-12
- name: UBSAN - name: UBSAN
toolset: gcc-11 toolset: gcc-11
cxxstd: "03,11,14,17,20" cxxstd: "03,11,14,17,20,23"
ubsan: 1 ubsan: 1
build_variant: debug build_variant: debug
os: ubuntu-20.04 os: ubuntu-22.04
install: install:
- g++-11 - g++-11
sources:
- "ppa:ubuntu-toolchain-r/test"
# Linux, clang # Linux, clang
- toolset: clang - toolset: clang
@ -208,38 +209,64 @@ jobs:
- toolset: clang - toolset: clang
compiler: clang++-11 compiler: clang++-11
cxxstd: "03,11,14,17,20" cxxstd: "03,11,14,17,20"
os: ubuntu-20.04 os: ubuntu-22.04
install: install:
- clang-11 - clang-11
- toolset: clang - toolset: clang
compiler: clang++-12 compiler: clang++-12
cxxstd: "03,11,14,17,20" cxxstd: "03,11,14,17,20,2b"
os: ubuntu-20.04 os: ubuntu-22.04
install: install:
- clang-12 - clang-12
- toolset: clang - toolset: clang
compiler: clang++-12 compiler: clang++-13
cxxstd: "03,11,14,17,20" cxxstd: "03,11,14,17,20,2b"
os: ubuntu-20.04 os: ubuntu-22.04
install: install:
- clang-12 - clang-13
- libc++-12-dev - toolset: clang
- libc++abi-12-dev compiler: clang++-14
cxxstd: "03,11,14,17,20,2b"
os: ubuntu-22.04
install:
- clang-14
- toolset: clang
compiler: clang++-15
cxxstd: "03,11,14,17,20,2b"
os: ubuntu-22.04
install:
- clang-15
sources:
- "deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-15 main"
source_keys:
- "https://apt.llvm.org/llvm-snapshot.gpg.key"
- toolset: clang
compiler: clang++-15
cxxstd: "03,11,14,17,20,2b"
os: ubuntu-22.04
install:
- clang-15
- libc++-15-dev
- libc++abi-15-dev
sources:
- "deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-15 main"
source_keys:
- "https://apt.llvm.org/llvm-snapshot.gpg.key"
cxxflags: -stdlib=libc++ cxxflags: -stdlib=libc++
linkflags: -stdlib=libc++ linkflags: -stdlib=libc++
- name: UBSAN - name: UBSAN
toolset: clang toolset: clang
compiler: clang++-12 compiler: clang++-14
cxxstd: "03,11,14,17,20" cxxstd: "03,11,14,17,20,2b"
cxxflags: -stdlib=libc++ cxxflags: -stdlib=libc++
linkflags: -stdlib=libc++ linkflags: -stdlib=libc++
ubsan: 1 ubsan: 1
build_variant: debug build_variant: debug
os: ubuntu-20.04 os: ubuntu-22.04
install: install:
- clang-12 - clang-14
- libc++-12-dev - libc++-14-dev
- libc++abi-12-dev - libc++abi-14-dev
- toolset: clang - toolset: clang
cxxstd: "03,11,14,17,2a" cxxstd: "03,11,14,17,2a"
@ -263,7 +290,13 @@ jobs:
if [ -f "/etc/debian_version" ] if [ -f "/etc/debian_version" ]
then then
apt-get -o Acquire::Retries=$NET_RETRY_COUNT update apt-get -o Acquire::Retries=$NET_RETRY_COUNT update
apt-get -o Acquire::Retries=$NET_RETRY_COUNT install -y sudo software-properties-common tzdata wget curl apt-transport-https ca-certificates make build-essential g++ python python3 perl git cmake if [ "$(apt-cache search "^python-is-python3$" | wc -l)" -ne 0 ]
then
PYTHON_PACKAGE="python-is-python3"
else
PYTHON_PACKAGE="python"
fi
apt-get -o Acquire::Retries=$NET_RETRY_COUNT install -y sudo software-properties-common tzdata wget curl apt-transport-https ca-certificates make build-essential g++ $PYTHON_PACKAGE python3 perl git cmake
fi fi
fi fi
git config --global pack.threads 0 git config --global pack.threads 0