Compare commits

...

No commits in common. "c8-stream-rhel8" and "stream-llvm-toolset-rhel8-rhel-8.10.0" have entirely different histories.

8 changed files with 197 additions and 11 deletions

0
.gitignore vendored
View File

View File

10
README.md Normal file
View File

@ -0,0 +1,10 @@
# Testing
Each time before we build this module, we need to do a test build of the
kernel in order to check that the changes we are making won't break
the kernel build. This can be can be done using the kernel-testing.yaml
modulemd file:
rhpkg module-scratch-build --file kernel-testing.yaml -w

8
gating.yaml Normal file
View File

@ -0,0 +1,8 @@
--- !Policy
product_versions:
- rhel-8
decision_context: osci_compose_gate_modules
subject_type: redhat-module
rules:
- !PassingTestCaseRule {test_case_name: baseos-ci.redhat-module.tier1.functional}
- !PassingTestCaseRule {test_case_name: osci.redhat-module.rebuild.validation}

73
kernel-testing.yaml Normal file
View File

@ -0,0 +1,73 @@
document: modulemd
version: 2
data:
name: llvm-toolset
stream: rhel8
summary: LLVM
description: LLVM Tools and libraries
license:
module: [MIT]
dependencies:
- buildrequires:
platform: [el8]
requires:
platform: [el8]
profiles:
common:
rpms:
- llvm-toolset
api:
rpms:
- clang
- clang-analyzer
- clang-libs
- clang-devel
- clang-tools-extra
- git-clang-format
- lldb
- lldb-devel
- llvm
- llvm-devel
- llvm-libs
- lld
- lld-libs
components:
rpms:
python-lit:
rationale: Lit test runner for LLVM
ref: stream-llvm-toolset-rhel8-rhel-8.10.0
buildorder: 0
llvm:
rationale: LLVM tools and libraries
multilib: [x86_64]
ref: stream-llvm-toolset-rhel8-rhel-8.10.0
buildorder: 0
lld:
rationale: LLVM linker
multilib: [x86_64]
ref: stream-llvm-toolset-rhel8-rhel-8.10.0
buildorder: 1
clang:
rationale: clang tools and libraries
multilib: [x86_64]
ref: stream-llvm-toolset-rhel8-rhel-8.10.0
buildorder: 1
compiler-rt:
rationale: LLVM compiler intrinsic and sanitizer libraries
multilib: [x86_64]
ref: stream-llvm-toolset-rhel8-rhel-8.10.0
buildorder: 2
libomp:
rationale: LLVM OpenMP runtime
multilib: [x86_64]
ref: stream-llvm-toolset-rhel8-rhel-8.10.0
buildorder: 2
lldb:
rationale: lldb debugger
multilib: [x86_64]
ref: stream-llvm-toolset-rhel8-rhel-8.10.0
buildorder: 2
kernel:
ref: c8s
buildorder: 3
buildonly: true

View File

@ -35,35 +35,35 @@ data:
rpms:
python-lit:
rationale: Lit test runner for LLVM
ref: stream-rhel-8-rhel-8.8.0
ref: stream-llvm-toolset-rhel8-rhel-8.10.0
buildorder: 0
llvm:
rationale: LLVM tools and libraries
multilib: [x86_64]
ref: stream-rhel-8-rhel-8.8.0
ref: stream-llvm-toolset-rhel8-rhel-8.10.0
buildorder: 0
compiler-rt:
rationale: LLVM compiler intrinsic and sanitizer libraries
multilib: [x86_64]
ref: stream-rhel-8-rhel-8.8.0
buildorder: 1
lld:
rationale: LLVM linker
multilib: [x86_64]
ref: stream-rhel-8-rhel-8.8.0
ref: stream-llvm-toolset-rhel8-rhel-8.10.0
buildorder: 1
clang:
rationale: clang tools and libraries
multilib: [x86_64]
ref: stream-rhel-8-rhel-8.8.0
ref: stream-llvm-toolset-rhel8-rhel-8.10.0
buildorder: 1
compiler-rt:
rationale: LLVM compiler intrinsic and sanitizer libraries
multilib: [x86_64]
ref: stream-llvm-toolset-rhel8-rhel-8.10.0
buildorder: 2
libomp:
rationale: LLVM OpenMP runtime
multilib: [x86_64]
ref: stream-rhel-8-rhel-8.8.0
ref: stream-llvm-toolset-rhel8-rhel-8.10.0
buildorder: 2
lldb:
rationale: lldb debugger
multilib: [x86_64]
ref: stream-rhel-8-rhel-8.8.0
ref: stream-llvm-toolset-rhel8-rhel-8.10.0
buildorder: 2

20
rpminspect.yaml Normal file
View File

@ -0,0 +1,20 @@
---
badfuncs:
# For compiler-rt, we allow the following forbidden functions:
# - gethostbyname
# - gethostbyname2
# - gethostbyaddr
# - inet_aton
# These are never actually used, and are installed just as interceptors.
allowed:
/usr/lib*/clang/*/lib/*/libclang_rt.?san.so:
- gethostbyaddr
- gethostbyname
- gethostbyname2
- inet_aton
/usr/lib*/clang/*/lib/*/libclang_rt.memprof.so:
- gethostbyaddr
- gethostbyname
- gethostbyname2
- inet_aton

75
tests/build-gating.fmf Normal file
View File

@ -0,0 +1,75 @@
#
# Build/PR gating tests for *LLVM 13*
#
# Imports and runs tests provided by Fedora LLVM git for the matching LLVM version.
#
summary: LLVM tests for build/PR gating
adjust:
- because: "Plan to be ran when either executed locally, or executed by CI system to gate a build or PR."
when: >-
trigger is defined
and trigger != commit
and trigger != build
enabled: false
# Unfortunately, TMT does not support more declarative approach, we need to run commands on our own.
- because: "On RHEL, CRB must be enabled to provide rarer packages"
prepare+:
- name: Enable CRB
how: shell
script: dnf config-manager --set-enabled *-CRB
when: >-
distro == rhel-9
or distro == rhel-8
discover:
- name: llvm-upstream
how: fmf
url: https://src.fedoraproject.org/tests/llvm.git
ref: main
filter: "tag:-spoils-installation & tag:-not-in-default"
- name: clang-upstream
how: fmf
url: https://src.fedoraproject.org/tests/clang.git
ref: main
filter: "tag:-spoils-installation & tag:-not-in-default"
- name: python-lit-upstream
how: fmf
url: https://src.fedoraproject.org/tests/python-lit.git
ref: main
filter: "tag:-spoils-installation & tag:-not-in-default"
- name: lldb-upstream
how: fmf
url: https://src.fedoraproject.org/tests/lldb.git
ref: main
filter: "tag:-spoils-installation & tag:-not-in-default"
- name: lld-upstream
how: fmf
url: https://src.fedoraproject.org/tests/lld.git
ref: main
filter: "tag:-spoils-installation & tag:-not-in-default"
- name: libomp-upstream
how: fmf
url: https://src.fedoraproject.org/tests/libomp.git
ref: main
filter: "tag:-spoils-installation & tag:-not-in-default"
- name: compiler-rt-upstream
how: fmf
url: https://src.fedoraproject.org/tests/compiler-rt.git
ref: main
filter: "tag:-spoils-installation & tag:-not-in-default"
execute:
how: tmt
provision:
hardware:
memory: ">= 4 GiB"