tests: add support for SCL-ized LLVM 13 (llvm-toolset-13.0)
This commit is contained in:
parent
c3456fa4ca
commit
978f4952dd
@ -1,2 +1,2 @@
|
|||||||
summary: Make sure the the LLVM plugin for binutils' ar works
|
summary: Make sure the the LLVM plugin for binutils' ar works
|
||||||
test: ./test.sh
|
test: "$WITH_SCL ./test.sh"
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
summary: Make sure rebuilding LLVM still works with the new LLVM
|
summary: Make sure rebuilding LLVM still works with the new LLVM
|
||||||
test: ./test.sh
|
test: "$WITH_SCL ./test.sh"
|
||||||
enabled: false
|
enabled: false
|
||||||
|
@ -1,3 +1,15 @@
|
|||||||
|
#
|
||||||
|
# Build/PR gating tests for *LLVM 13*
|
||||||
|
#
|
||||||
|
# Compatible with various LLVM 13 distributions:
|
||||||
|
#
|
||||||
|
# * Fedora (ursine packages)
|
||||||
|
# * Centos 9 stream (ursine packages)
|
||||||
|
# * RHEL-9 (ursine packages)
|
||||||
|
# * RHEL-8 (Red Hat module)
|
||||||
|
# * RHEL-7 (software collection)
|
||||||
|
#
|
||||||
|
|
||||||
summary: LLVM tests for build/PR gating
|
summary: LLVM tests for build/PR gating
|
||||||
adjust:
|
adjust:
|
||||||
- because: "Plan to be ran when either executed locally, or executed by CI system to gate a build or PR."
|
- because: "Plan to be ran when either executed locally, or executed by CI system to gate a build or PR."
|
||||||
@ -6,14 +18,16 @@ adjust:
|
|||||||
and trigger != commit
|
and trigger != commit
|
||||||
and trigger != build
|
and trigger != build
|
||||||
enabled: false
|
enabled: false
|
||||||
|
|
||||||
|
- because: "When testing SCL-ized LLVM, the collection must be enabled first"
|
||||||
|
environment+:
|
||||||
|
WITH_SCL: "scl enable llvm-toolset-13.0 rust-toolset-1.58"
|
||||||
|
when: "collection == llvm-toolset-13.0"
|
||||||
|
|
||||||
discover:
|
discover:
|
||||||
how: fmf
|
how: fmf
|
||||||
execute:
|
execute:
|
||||||
how: tmt
|
how: tmt
|
||||||
prepare:
|
|
||||||
- name: packages
|
|
||||||
how: install
|
|
||||||
package: llvm
|
|
||||||
provision:
|
provision:
|
||||||
hardware:
|
hardware:
|
||||||
memory: ">= 4 GiB"
|
memory: ">= 4 GiB"
|
||||||
|
@ -1,29 +1,49 @@
|
|||||||
summary: Run the upstream LLVM integration test suite
|
summary: Run the upstream LLVM integration test suite
|
||||||
description: |
|
description: |
|
||||||
Run the upstream LLVM integration test suite
|
Run the upstream LLVM integration test suite
|
||||||
test: ./test.sh
|
test: "$WITH_SCL ./test.sh"
|
||||||
require:
|
require:
|
||||||
- cmake
|
|
||||||
- llvm-devel
|
|
||||||
- clang
|
|
||||||
- clang-analyzer
|
|
||||||
- clang-tools-extra
|
|
||||||
- compiler-rt
|
|
||||||
- ninja-build
|
- ninja-build
|
||||||
- libomp-devel
|
|
||||||
- lld
|
|
||||||
- lldb
|
|
||||||
- git
|
- git
|
||||||
- make
|
- make
|
||||||
- libstdc++-static
|
- libstdc++-static
|
||||||
- clang-devel
|
|
||||||
- python3-lit
|
|
||||||
adjust:
|
adjust:
|
||||||
|
# Common requirements when LLVM is not SCL-ized
|
||||||
|
- require+:
|
||||||
|
- cmake
|
||||||
|
- clang
|
||||||
|
- clang-analyzer
|
||||||
|
- clang-devel
|
||||||
|
- clang-tools-extra
|
||||||
|
- compiler-rt
|
||||||
|
- lld
|
||||||
|
- lldb
|
||||||
|
- libomp-devel
|
||||||
|
- llvm-devel
|
||||||
|
- python3-lit
|
||||||
|
when: "collection is not defined"
|
||||||
|
|
||||||
|
# Requirements for SCL-ized LLVM
|
||||||
|
- require+:
|
||||||
|
- llvm-toolset-13.0-cmake
|
||||||
|
- llvm-toolset-13.0-clang
|
||||||
|
- llvm-toolset-13.0-clang-analyzer
|
||||||
|
- llvm-toolset-13.0-clang-devel
|
||||||
|
- llvm-toolset-13.0-clang-tools-extra
|
||||||
|
- llvm-toolset-13.0-compiler-rt
|
||||||
|
- llvm-toolset-13.0-lld
|
||||||
|
- llvm-toolset-13.0-lldb
|
||||||
|
- llvm-toolset-13.0-libomp-devel
|
||||||
|
- llvm-toolset-13.0-llvm-devel
|
||||||
|
- llvm-toolset-13.0-python3-lit
|
||||||
|
when: "collection == llvm-toolset-13.0"
|
||||||
|
|
||||||
# libcxx shall be required in Fedora, it's not shipped with RHEL.
|
# libcxx shall be required in Fedora, it's not shipped with RHEL.
|
||||||
- require+:
|
- require+:
|
||||||
- libcxx-devel
|
- libcxx-devel
|
||||||
when: "distro == fedora"
|
when: "distro == fedora"
|
||||||
because: testing against libcxx package in Fedora
|
because: testing against libcxx package in Fedora
|
||||||
|
|
||||||
- environment+:
|
- environment+:
|
||||||
CMAKE_CXXLIB: "-DENABLE_LIBCXX=OFF"
|
CMAKE_CXXLIB: "-DENABLE_LIBCXX=OFF"
|
||||||
when: "distro == rhel"
|
when: "distro == rhel"
|
||||||
|
@ -1,2 +1,9 @@
|
|||||||
summary: Check that libLLVM.so has been properly stripped
|
summary: Check that libLLVM.so has been properly stripped
|
||||||
test: ./test.sh
|
test: "$WITH_SCL ./test.sh"
|
||||||
|
environment:
|
||||||
|
LIBLLVM_PATH: /usr/lib64/libLLVM.so
|
||||||
|
adjust:
|
||||||
|
- because: "With SCL-ized LLVM, library path is different"
|
||||||
|
environment+:
|
||||||
|
LIBLLVM_PATH: /opt/rh/llvm-toolset-13.0/root/usr/lib64/libLLVM.so
|
||||||
|
when: "collection == llvm-toolset-13.0"
|
||||||
|
@ -7,4 +7,4 @@
|
|||||||
# is less than 100MB to ensure it was successfully stripped.
|
# is less than 100MB to ensure it was successfully stripped.
|
||||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1793250
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1793250
|
||||||
|
|
||||||
test $(stat -L -c %s /usr/lib64/libLLVM.so) -lt 104857600
|
test $(stat -L -c %s $LIBLLVM_PATH) -lt 104857600
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
summary: Make sure llvm-config symlink is properly set up
|
summary: Make sure llvm-config symlink is properly set up
|
||||||
test: ./test.sh
|
test: "$WITH_SCL ./test.sh"
|
||||||
|
@ -1,16 +1,26 @@
|
|||||||
summary: Test basic cargo usage
|
summary: Test basic cargo usage
|
||||||
test: ./test.sh
|
test: "$WITH_SCL ./test.sh"
|
||||||
require:
|
require: []
|
||||||
# Required for rust and possibly other dependant packages
|
adjust:
|
||||||
#
|
# Common requirements when LLVM is not SCL-ized
|
||||||
# NOTE #1: drop the requirement once the transitional period between releases is gone
|
- require+:
|
||||||
# and llvm-compat is no longer a) needed, and b) part of the build.
|
# Required for rust and possibly other dependant packages
|
||||||
#
|
#
|
||||||
# NOTE #2: keep it the first requirement. Depending on the order of requirements, placing it somewhere
|
# NOTE #1: drop the requirement once the transitional period between releases is gone
|
||||||
# else in the list may lead to harness uninstalling and re-installing LLVM packages. That a) would be
|
# and llvm-compat is no longer a) needed, and b) part of the build.
|
||||||
# a waste of time, b) could potentially hide issues, leading to testing unexpected NVRs.
|
#
|
||||||
#
|
# NOTE #2: keep it the first requirement. Depending on the order of requirements, placing it somewhere
|
||||||
# - llvm-compat
|
# else in the list may lead to harness uninstalling and re-installing LLVM packages. That a) would be
|
||||||
|
# a waste of time, b) could potentially hide issues, leading to testing unexpected NVRs.
|
||||||
|
#
|
||||||
|
# - llvm-compat
|
||||||
|
|
||||||
- cargo
|
- cargo
|
||||||
- rust
|
- rust
|
||||||
|
when: "collection is not defined"
|
||||||
|
|
||||||
|
# Requirements for SCL-ized LLVM
|
||||||
|
- require+:
|
||||||
|
- rust-toolset-1.58-cargo
|
||||||
|
- rust-toolset-1.58-rust
|
||||||
|
when: "collection == llvm-toolset-13.0"
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
summary: Make sure the versioned llvm-config symlink is properly set up
|
summary: Make sure the versioned llvm-config symlink is properly set up
|
||||||
test: ./test.sh
|
test: "$WITH_SCL ./test.sh"
|
||||||
|
Loading…
Reference in New Issue
Block a user