Add Clang 10 to 15 to CI
This commit is contained in:
parent
369717f9c0
commit
9e037e485d
@ -33,6 +33,10 @@ runs:
|
|||||||
sudo chmod o+w /etc/apt/sources.list.d/clang.list
|
sudo chmod o+w /etc/apt/sources.list.d/clang.list
|
||||||
echo "deb http://apt.llvm.org/focal/ llvm-toolchain-focal main" >> /etc/apt/sources.list.d/clang.list
|
echo "deb http://apt.llvm.org/focal/ llvm-toolchain-focal main" >> /etc/apt/sources.list.d/clang.list
|
||||||
echo "deb-src http://apt.llvm.org/focal/ llvm-toolchain-focal main" >> /etc/apt/sources.list.d/clang.list
|
echo "deb-src http://apt.llvm.org/focal/ llvm-toolchain-focal main" >> /etc/apt/sources.list.d/clang.list
|
||||||
|
echo "deb http://apt.llvm.org/focal/ llvm-toolchain-focal-13 main" >> /etc/apt/sources.list.d/clang.list
|
||||||
|
echo "deb-src http://apt.llvm.org/focal/ llvm-toolchain-focal-13 main" >> /etc/apt/sources.list.d/clang.list
|
||||||
|
echo "deb http://apt.llvm.org/focal/ llvm-toolchain-focal-14 main" >> /etc/apt/sources.list.d/clang.list
|
||||||
|
echo "deb-src http://apt.llvm.org/focal/ llvm-toolchain-focal-14 main" >> /etc/apt/sources.list.d/clang.list
|
||||||
echo "deb http://apt.llvm.org/focal/ llvm-toolchain-focal-15 main" >> /etc/apt/sources.list.d/clang.list
|
echo "deb http://apt.llvm.org/focal/ llvm-toolchain-focal-15 main" >> /etc/apt/sources.list.d/clang.list
|
||||||
echo "deb-src http://apt.llvm.org/focal/ llvm-toolchain-focal-15 main" >> /etc/apt/sources.list.d/clang.list
|
echo "deb-src http://apt.llvm.org/focal/ llvm-toolchain-focal-15 main" >> /etc/apt/sources.list.d/clang.list
|
||||||
echo "deb http://apt.llvm.org/focal/ llvm-toolchain-focal-16 main" >> /etc/apt/sources.list.d/clang.list
|
echo "deb http://apt.llvm.org/focal/ llvm-toolchain-focal-16 main" >> /etc/apt/sources.list.d/clang.list
|
||||||
|
39
.github/workflows/main.yaml
vendored
39
.github/workflows/main.yaml
vendored
@ -75,13 +75,42 @@ jobs:
|
|||||||
macos_cc: /usr/local/opt/llvm@9/bin/clang
|
macos_cc: /usr/local/opt/llvm@9/bin/clang
|
||||||
apt_package: clang-9
|
apt_package: clang-9
|
||||||
homebrew_package: llvm@9
|
homebrew_package: llvm@9
|
||||||
# TODO Clang-10 on linux? macos homebrew doesn't seem to have it
|
- cxx: clang++-10
|
||||||
|
cc: clang-10
|
||||||
|
macos_cxx: /usr/local/opt/llvm@10/bin/clang++
|
||||||
|
macos_cc: /usr/local/opt/llvm@10/bin/clang
|
||||||
|
apt_package: clang-10
|
||||||
|
homebrew_package: llvm@10
|
||||||
- cxx: clang++-11
|
- cxx: clang++-11
|
||||||
cc: clang-11
|
cc: clang-11
|
||||||
macos_cxx: /usr/local/opt/llvm@11/bin/clang++
|
macos_cxx: /usr/local/opt/llvm@11/bin/clang++
|
||||||
macos_cc: /usr/local/opt/llvm@11/bin/clang
|
macos_cc: /usr/local/opt/llvm@11/bin/clang
|
||||||
apt_package: clang-11 libomp5-11 libomp-11-dev
|
apt_package: clang-11 libomp5-11 libomp-11-dev
|
||||||
homebrew_package: llvm@11
|
homebrew_package: llvm@11
|
||||||
|
- cxx: clang++-12
|
||||||
|
cc: clang-12
|
||||||
|
macos_cxx: /usr/local/opt/llvm@12/bin/clang++
|
||||||
|
macos_cc: /usr/local/opt/llvm@12/bin/clang
|
||||||
|
apt_package: clang-12 libomp5-12 libomp-12-dev
|
||||||
|
homebrew_package: llvm@12
|
||||||
|
- cxx: clang++-13
|
||||||
|
cc: clang-13
|
||||||
|
macos_cxx: /usr/local/opt/llvm@13/bin/clang++
|
||||||
|
macos_cc: /usr/local/opt/llvm@13/bin/clang
|
||||||
|
apt_package: clang-13 libomp5-13 libomp-13-dev
|
||||||
|
homebrew_package: llvm@13
|
||||||
|
- cxx: clang++-14
|
||||||
|
cc: clang-14
|
||||||
|
macos_cxx: /usr/local/opt/llvm@14/bin/clang++
|
||||||
|
macos_cc: /usr/local/opt/llvm@14/bin/clang
|
||||||
|
apt_package: clang-14 libomp5-14 libomp-14-dev
|
||||||
|
homebrew_package: llvm@14
|
||||||
|
- cxx: clang++-15
|
||||||
|
cc: clang-15
|
||||||
|
macos_cxx: /usr/local/opt/llvm@15/bin/clang++
|
||||||
|
macos_cc: /usr/local/opt/llvm@15/bin/clang
|
||||||
|
apt_package: clang-15 libomp5-15 libomp-15-dev
|
||||||
|
homebrew_package: llvm@15
|
||||||
# Apple Clang
|
# Apple Clang
|
||||||
# - cxx: clang++
|
# - cxx: clang++
|
||||||
# cc: clang
|
# cc: clang
|
||||||
@ -98,13 +127,15 @@ jobs:
|
|||||||
run_tests: [true]
|
run_tests: [true]
|
||||||
run_clang_tidy: [false]
|
run_clang_tidy: [false]
|
||||||
exclude:
|
exclude:
|
||||||
# MacOS CI doesn't have Clang 7, 8, 9 or GCC 7, 8 anymore
|
# MacOS CI doesn't have Clang 7, 8, 9, 10 or GCC 7, 8 anymore
|
||||||
- os: macos-11
|
- os: macos-11
|
||||||
compiler: {cxx: clang++-7, cc: clang-7, macos_cxx: /usr/local/opt/llvm@7/bin/clang++, macos_cc: /usr/local/opt/llvm@7/bin/clang, apt_package: clang-7, homebrew_package: llvm@7}
|
compiler: {cxx: clang++-7, cc: clang-7, macos_cxx: /usr/local/opt/llvm@7/bin/clang++, macos_cc: /usr/local/opt/llvm@7/bin/clang, apt_package: clang-7, homebrew_package: llvm@7}
|
||||||
- os: macos-11
|
- os: macos-11
|
||||||
compiler: {cxx: clang++-8, cc: clang-8, macos_cxx: /usr/local/opt/llvm@8/bin/clang++, macos_cc: /usr/local/opt/llvm@8/bin/clang, apt_package: clang-8, homebrew_package: llvm@8}
|
compiler: {cxx: clang++-8, cc: clang-8, macos_cxx: /usr/local/opt/llvm@8/bin/clang++, macos_cc: /usr/local/opt/llvm@8/bin/clang, apt_package: clang-8, homebrew_package: llvm@8}
|
||||||
- os: macos-11
|
- os: macos-11
|
||||||
compiler: {cxx: clang++-9, cc: clang-9, macos_cxx: /usr/local/opt/llvm@9/bin/clang++, macos_cc: /usr/local/opt/llvm@9/bin/clang, apt_package: clang-9, homebrew_package: llvm@9}
|
compiler: {cxx: clang++-9, cc: clang-9, macos_cxx: /usr/local/opt/llvm@9/bin/clang++, macos_cc: /usr/local/opt/llvm@9/bin/clang, apt_package: clang-9, homebrew_package: llvm@9}
|
||||||
|
- os: macos-11
|
||||||
|
compiler: {cxx: clang++-10, cc: clang-10, macos_cxx: /usr/local/opt/llvm@10/bin/clang++, macos_cc: /usr/local/opt/llvm@10/bin/clang, apt_package: clang-10, homebrew_package: llvm@10}
|
||||||
- os: macos-11
|
- os: macos-11
|
||||||
compiler: {cxx: g++-7, cc: gcc-7, macos_cxx: g++-7, macos_cc: gcc-7, homebrew_package: gcc@7, apt_package: g++-7}
|
compiler: {cxx: g++-7, cc: gcc-7, macos_cxx: g++-7, macos_cc: gcc-7, homebrew_package: gcc@7, apt_package: g++-7}
|
||||||
- os: macos-11
|
- os: macos-11
|
||||||
@ -121,8 +152,12 @@ jobs:
|
|||||||
compiler: {cxx: g++-8, cc: gcc-8, macos_cxx: g++-8, macos_cc: gcc-8, homebrew_package: gcc@8, apt_package: g++-8}
|
compiler: {cxx: g++-8, cc: gcc-8, macos_cxx: g++-8, macos_cc: gcc-8, homebrew_package: gcc@8, apt_package: g++-8}
|
||||||
- os: macos-12
|
- os: macos-12
|
||||||
compiler: {cxx: g++-9, cc: gcc-9, macos_cxx: g++-9, macos_cc: gcc-9, homebrew_package: gcc@9, apt_package: g++-9}
|
compiler: {cxx: g++-9, cc: gcc-9, macos_cxx: g++-9, macos_cc: gcc-9, homebrew_package: gcc@9, apt_package: g++-9}
|
||||||
|
- os: macos-12
|
||||||
|
compiler: {cxx: clang++-10, cc: clang-10, macos_cxx: /usr/local/opt/llvm@10/bin/clang++, macos_cc: /usr/local/opt/llvm@10/bin/clang, apt_package: clang-10, homebrew_package: llvm@10}
|
||||||
- os: macos-13
|
- os: macos-13
|
||||||
compiler: {cxx: clang++-7, cc: clang-7, macos_cxx: /usr/local/opt/llvm@7/bin/clang++, macos_cc: /usr/local/opt/llvm@7/bin/clang, apt_package: clang-7, homebrew_package: llvm@7}
|
compiler: {cxx: clang++-7, cc: clang-7, macos_cxx: /usr/local/opt/llvm@7/bin/clang++, macos_cc: /usr/local/opt/llvm@7/bin/clang, apt_package: clang-7, homebrew_package: llvm@7}
|
||||||
|
- os: macos-13
|
||||||
|
compiler: {cxx: clang++-10, cc: clang-10, macos_cxx: /usr/local/opt/llvm@10/bin/clang++, macos_cc: /usr/local/opt/llvm@10/bin/clang, apt_package: clang-10, homebrew_package: llvm@10}
|
||||||
# Ubuntu 20.04 doesn't have GCC 12, 13 yet
|
# Ubuntu 20.04 doesn't have GCC 12, 13 yet
|
||||||
- os: ubuntu-20.04
|
- os: ubuntu-20.04
|
||||||
compiler: {cxx: g++-12, cc: gcc-12, macos_cxx: g++-12, macos_cc: gcc-12, homebrew_package: gcc@12, apt_package: g++-12}
|
compiler: {cxx: g++-12, cc: gcc-12, macos_cxx: g++-12, macos_cc: gcc-12, homebrew_package: gcc@12, apt_package: g++-12}
|
||||||
|
@ -39,10 +39,12 @@ TEST(BacktraceTest, ContainsTopLevelLine)
|
|||||||
|
|
||||||
namespace
|
namespace
|
||||||
{
|
{
|
||||||
|
#if !(defined(__clang__) && defined(NDEBUG))
|
||||||
std::string call_process_exiting_with_nullptr_violation()
|
std::string call_process_exiting_with_nullptr_violation()
|
||||||
{
|
{
|
||||||
return call_process_exiting_with("nullptr");
|
return call_process_exiting_with("nullptr");
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
std::string call_process_exiting_with_exception(const std::string &message)
|
std::string call_process_exiting_with_exception(const std::string &message)
|
||||||
{
|
{
|
||||||
return call_process_exiting_with("exception", message);
|
return call_process_exiting_with("exception", message);
|
||||||
@ -109,6 +111,8 @@ TEST(BacktraceTest, ContainsBacktrace)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if !(defined(__clang__) && defined(NDEBUG))
|
||||||
|
// TODO Can we also make this work on clang in Release mode?
|
||||||
TEST(BacktraceTest, ShowBacktraceOnNullptrAccess)
|
TEST(BacktraceTest, ShowBacktraceOnNullptrAccess)
|
||||||
{
|
{
|
||||||
auto output = call_process_exiting_with_nullptr_violation();
|
auto output = call_process_exiting_with_nullptr_violation();
|
||||||
@ -118,6 +122,7 @@ TEST(BacktraceTest, ShowBacktraceOnNullptrAccess)
|
|||||||
EXPECT_THAT(output, HasSubstr("cpputils::backtrace"));
|
EXPECT_THAT(output, HasSubstr("cpputils::backtrace"));
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
TEST(BacktraceTest, ShowBacktraceOnSigSegv)
|
TEST(BacktraceTest, ShowBacktraceOnSigSegv)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user