From 39aa41858091cee1341e69ca35991b2ad9dbe8b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Milo=C5=A1=20Prchl=C3=ADk?= Date: Thu, 31 Aug 2023 09:03:35 +0200 Subject: [PATCH] Split build-gating plan to two to avoid disk usage issues Kernel rebuild is pretty hungry, and may starve out the rest of the tests. By putting it in its own plan, CI systems will run it on its own dedicated box. --- plans/build-gating.fmf | 16 ++++++++++++---- tests/Sanity/rebuild-kernel-and-reboot/main.fmf | 5 +++++ tests/Sanity/rebuild-kernel-and-reboot/test.sh | 7 ++++++- tests/lib.sh | 6 +++++- tests/main.fmf | 4 ++++ 5 files changed, 32 insertions(+), 6 deletions(-) diff --git a/plans/build-gating.fmf b/plans/build-gating.fmf index 4bdc6b4..b021104 100644 --- a/plans/build-gating.fmf +++ b/plans/build-gating.fmf @@ -4,10 +4,6 @@ summary: "Build/PR gating tests for binutils" -discover: - how: fmf - filter: "tag:gate-build" - # Adjust rules adjust+: - because: "Plan to be ran when executed locally, or executed by CI system to gate a build or PR." @@ -38,3 +34,15 @@ adjust+: script: - dnf config-manager --set-enabled rhel-CRB - dnf config-manager --set-enabled rhel-buildroot + +/common: + discover: + - how: fmf + filter: "tag:gate-build" + exclude: '^/tests/Sanity/rebuild-kernel-and-reboot$' + +/kernel-rebuild: + discover: + - how: fmf + filter: "tag:gate-build" + test: '^/tests/Sanity/rebuild-kernel-and-reboot$' diff --git a/tests/Sanity/rebuild-kernel-and-reboot/main.fmf b/tests/Sanity/rebuild-kernel-and-reboot/main.fmf index 1493d68..5254bb7 100644 --- a/tests/Sanity/rebuild-kernel-and-reboot/main.fmf +++ b/tests/Sanity/rebuild-kernel-and-reboot/main.fmf @@ -48,6 +48,11 @@ require+: # Adjust rules adjust+: + - because: "kernel package is gone from Fedora Rawhide default installation" + when: distro == fedora-rawhide + environment+: + KERNEL: kernel-core + - because: "python-devel has different names in different distros" when: distro == rhel-8.9.0 require+: diff --git a/tests/Sanity/rebuild-kernel-and-reboot/test.sh b/tests/Sanity/rebuild-kernel-and-reboot/test.sh index e3ff2b3..f143c21 100755 --- a/tests/Sanity/rebuild-kernel-and-reboot/test.sh +++ b/tests/Sanity/rebuild-kernel-and-reboot/test.sh @@ -53,7 +53,7 @@ esac # name (e.g. kernel-PAE). KERNEL="${KERNEL:-kernel}" -RPM_BUILD_ID="${RPM_BUILD_ID:-.LimeKitten}" +RPM_BUILD_ID="${RPM_BUILD_ID:-.LK}" # Workaround possible restraint issues - restraint may fail to set REBOOTCOUNT properly. REBOOT_FLAG=/.rebuild-kernel-and-reboot.flag @@ -82,6 +82,11 @@ rlJournalStart rlLogInfo " $line" done + rlLogInfo 'Installed packages:' + rpm -qa | sort | while read line; do + rlLogInfo " $line" + done + rlRun "AFTER_REBOOT=no" if [ "$REBOOTCOUNT" != "0" ]; then diff --git a/tests/lib.sh b/tests/lib.sh index dcfb258..df84145 100644 --- a/tests/lib.sh +++ b/tests/lib.sh @@ -2,6 +2,9 @@ . /usr/share/beakerlib/beakerlib.sh || exit 1 +BU_TMPDIR_PARENT="${BU_TMPDIR_PARENT:-/tmp}" + + function buTestHeader () { _LD="$(which ld)" _GCC="$(which gcc)" @@ -16,6 +19,7 @@ function buTestHeader () { rlLogInfo "COLLECTION_PACKAGES=$COLLECTION_PACKAGES" rlLogInfo "LD=$_LD" rlLogInfo "GCC=$_GCC" + rlLogInfo "BU_TMPDIR_PARENT=$BU_TMPDIR_PARENT" rlAssertRpm --all @@ -44,7 +48,7 @@ function buTestHeader () { function buEnterTmpDir () { - rlRun "export TmpDir=$(mktemp -d)" 0 "Creating tmp directory" + rlRun "export TmpDir=$(mktemp -d -p $BU_TMPDIR_PARENT)" 0 "Creating tmp directory" rlRun "pushd $TmpDir" } diff --git a/tests/main.fmf b/tests/main.fmf index 7ddc68d..7084991 100644 --- a/tests/main.fmf +++ b/tests/main.fmf @@ -14,6 +14,10 @@ require+: # Adjust rules adjust+: + - when: distro == fedora-rawhide,rhel-9 + environment+: + BU_TMPDIR_PARENT: "/" + # RHEL-9 / no collection - when: distro == rhel-9 and collection is not defined require+: