From 90a76e2c863745fe9ede44c6ab85151223ff7fa1 Mon Sep 17 00:00:00 2001 From: "Brian J. Murrell" Date: Thu, 12 Jan 2023 11:39:06 -0500 Subject: [PATCH 01/16] Start to deprecate the $distro + '-rpm-version... Stash with Ubuntu. In fact start to deprecate specifying any version of daos-* packages unless a specific version is requested. # NOTE: The following default set of pragmas will result in no build # or test. # # Please edit the list of pragmas to produce the minimal amount of build # and test to prove your PR works. # # Or if you have already done the above, and your PR is ready for it's # final for-landing run, remove all of the following pragmas. # # More detail can be found at # https://wiki.hpdd.intel.com/display/CI/Commit+Pragmas. Skip-checkpatch: true Skip-python-bandit: true Skip-build: true # Or you can skip specific PR build stages: #Skip-build-ubuntu20-rpm: true #Skip-build-el8-rpm: true #Skip-build-leap15-rpm: true #Skip-build-el8-gcc: true #Skip-build-el8-gcc-debug: true #Skip-build-el8-gcc-release: true #Skip-build-leap15-gcc: true #Skip-build-leap15-icc: true #Skip-build-ubuntu-clang: true # And/or you could just enable quick-build below which reduces build tims considerably Quick-build: true # Just build and run Functional tests, skipping all others Quick-Functional: true # or building with multiple jobs #Parallel-build: true Skip-unit-tests: true # Or you could choose which Unit Test stages to skip below #Skip-nlt: true #Skip-unit-test: true #Skip-unit-test-memcheck: true Skip-test: true # Every run should include the features it is testing. Uncomment the below # line and add the features (space separated) your PR should be testing for. # I.e. rebuild, ... #Features: # Or you can choose which test stages to skip below #Skip-coverity-test: true # Skip all Functional test stages #Skip-func-test: true # Skip all Functional test stages on VMs #Skip-func-test-vm: true # Don't skip the valgrind functional test #Skip-func-test-vm-valgrind: false # Skip Functional test stages on EL7, EL8 or Leap 15 #Skip-func-test-el7: true #Skip-func-test-el8: true #Skip-func-test-leap15: true # Skip all Functional test stages on hardware #Skip-func-hw-test: true # or just specific hardware test stages #Skip-func-hw-test-small: true #Skip-func-hw-test-medium: true #Skip-func-hw-test-large: true #Skip-scan-rpms: true #Skip-test-rpms: true # or per distro variants: #Skip-scan-centos-rpms: true #Skip-scan-centos-7-rpms: true #Skip-scan-centos-8-rpms: true #Skip-scan-leap-15-rpms: true #Skip-test-centos-rpms: true #Skip-test-centos-7-rpms: true #Skip-test-centos-8-rpms: true #Skip-test-centos-8.3-rpms: true # If you do run any of the above Functional test stages, please use the following to # limit your tests run to the tests/features you are working on # You can add the tags for your tests to the appropriate pragmas below: #Test-tag: -hw #Test-tag-hw-small: hw,small #Test-tag-hw-medium: hw,medium,ib2 #Test-tag-hw-large: hw,large # If you want to allow Hardware testing to run even if VM testing fails: Allow-unstable-test: true # if you want to test your PR with a PR of a component, you can speify that PR: #PR-repos: project@PR-number[:build_num] # if you want to disable using RPMs in the Functional tests: #RPM-test: false # Or if you want to test with daos RPMs that are already built (i.e. in another PR or in the repo): #RPM-test-version: version[-release] # to get the latest RPMs for the current verison: #RPM-test-version: # This should be figured out automatically, but you can force it with #Doc-only: true # If you'd prefer not to have your PRs cluttered up with stage failure # comments, uncomment this # Skip-PR-comments: true # ansible-role-snapshot_host-branch: branch-name # ansible-role-kvm-branch: branch-name # to use a different cluster for various stages # VM1-label: ci_vm1 # Ubuntu-VM9-label: ci_vm9 # Leap15-VM9-label: ci_vm9 # EL8-VM9-label: ci_vm9 # to tell CI not to skip a test due to a ticket # Fixes: DAOS-1234 # # If you are ready to push a full CI build and test you can uncomment # the below pragma: #Full-CI-run: true # NOTE: The following default set of pragmas will result in no build # or test. # # Please edit the list of pragmas to produce the minimal amount of build # and test to prove your PR works. # # Or if you have already done the above, and your PR is ready for it's # final for-landing run, remove all of the following pragmas. # # More detail can be found at # https://wiki.hpdd.intel.com/display/CI/Commit+Pragmas. Skip-checkpatch: true Skip-python-bandit: true Skip-build: true # Or you can skip specific PR build stages: #Skip-build-ubuntu20-rpm: true #Skip-build-el8-rpm: true #Skip-build-leap15-rpm: true #Skip-build-el8-gcc: true #Skip-build-el8-gcc-debug: true #Skip-build-el8-gcc-release: true #Skip-build-leap15-gcc: true #Skip-build-leap15-icc: true #Skip-build-ubuntu-clang: true # And/or you could just enable quick-build below which reduces build tims considerably Quick-build: true # Just build and run Functional tests, skipping all others Quick-Functional: true # or building with multiple jobs #Parallel-build: true Skip-unit-tests: true # Or you could choose which Unit Test stages to skip below #Skip-nlt: true #Skip-unit-test: true #Skip-unit-test-memcheck: true Skip-test: true # Every run should include the features it is testing. Uncomment the below # line and add the features (space separated) your PR should be testing for. # I.e. rebuild, ... #Features: # Or you can choose which test stages to skip below #Skip-coverity-test: true # Skip all Functional test stages #Skip-func-test: true # Skip all Functional test stages on VMs #Skip-func-test-vm: true # Don't skip the valgrind functional test #Skip-func-test-vm-valgrind: false # Skip Functional test stages on EL7, EL8 or Leap 15 #Skip-func-test-el7: true #Skip-func-test-el8: true #Skip-func-test-leap15: true # Skip all Functional test stages on hardware #Skip-func-hw-test: true # or just specific hardware test stages #Skip-func-hw-test-small: true #Skip-func-hw-test-medium: true #Skip-func-hw-test-large: true #Skip-scan-rpms: true #Skip-test-rpms: true # or per distro variants: #Skip-scan-centos-rpms: true #Skip-scan-centos-7-rpms: true #Skip-scan-centos-8-rpms: true #Skip-scan-leap-15-rpms: true #Skip-test-centos-rpms: true #Skip-test-centos-7-rpms: true #Skip-test-centos-8-rpms: true #Skip-test-centos-8.3-rpms: true # If you do run any of the above Functional test stages, please use the following to # limit your tests run to the tests/features you are working on # You can add the tags for your tests to the appropriate pragmas below: #Test-tag: -hw #Test-tag-hw-small: hw,small #Test-tag-hw-medium: hw,medium,ib2 #Test-tag-hw-large: hw,large # If you want to allow Hardware testing to run even if VM testing fails: Allow-unstable-test: true # if you want to test your PR with a PR of a component, you can speify that PR: #PR-repos: project@PR-number[:build_num] # if you want to disable using RPMs in the Functional tests: #RPM-test: false # Or if you want to test with daos RPMs that are already built (i.e. in another PR or in the repo): #RPM-test-version: version[-release] # to get the latest RPMs for the current verison: #RPM-test-version: # This should be figured out automatically, but you can force it with #Doc-only: true # If you'd prefer not to have your PRs cluttered up with stage failure # comments, uncomment this # Skip-PR-comments: true # ansible-role-snapshot_host-branch: branch-name # ansible-role-kvm-branch: branch-name # to use a different cluster for various stages # VM1-label: ci_vm1 # Ubuntu-VM9-label: ci_vm9 # Leap15-VM9-label: ci_vm9 # EL8-VM9-label: ci_vm9 # to tell CI not to skip a test due to a ticket # Fixes: DAOS-1234 # # If you are ready to push a full CI build and test you can uncomment # the below pragma: #Full-CI-run: true Signed-off-by: Brian J. Murrell Skip-PR-comments: true --- vars/getDAOSPackages.groovy | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/vars/getDAOSPackages.groovy b/vars/getDAOSPackages.groovy index ca2f6c07b..ea8032c04 100644 --- a/vars/getDAOSPackages.groovy +++ b/vars/getDAOSPackages.groovy @@ -31,15 +31,12 @@ String call(String distro, String next_version, String add_daos_pkgs) { pkgs = 'daos{,-client}' } - String version = daosPackagesVersion(distro, next_version) + if (!distro.startsWith('ubuntu')) { + String version = daosPackagesVersion(distro, next_version) - if (version != '') { - if (distro.startsWith('ubuntu20')) { - pkgs += '=' - } else { - pkgs += '-' + if (version != '') { + pkgs += '-' + version } - pkgs += daosPackagesVersion(distro, next_version) } return pkgs } From 425cedeb6259159a645ed657a314fe961e7196e5 Mon Sep 17 00:00:00 2001 From: "Brian J. Murrell" Date: Thu, 12 Jan 2023 11:41:40 -0500 Subject: [PATCH 02/16] Update skipStage for Ubuntu #Pragmas from previous commit message: Skip-checkpatch: true Skip-python-bandit: true Skip-build: true Quick-build: true Quick-Functional: true Skip-unit-tests: true Skip-test: true Allow-unstable-test: true #RPM-test-version: version[-release] #RPM-test-version: # VM1-label: ci_vm1 # Ubuntu-VM9-label: ci_vm9 # Leap15-VM9-label: ci_vm9 # EL8-VM9-label: ci_vm9 Skip-PR-comments: true #Pragmas from previous commit message: Skip-checkpatch: true Skip-python-bandit: true Skip-build: true Quick-build: true Quick-Functional: true Skip-unit-tests: true Skip-test: true Allow-unstable-test: true #RPM-test-version: version[-release] #RPM-test-version: # VM1-label: ci_vm1 # Ubuntu-VM9-label: ci_vm9 # Leap15-VM9-label: ci_vm9 # EL8-VM9-label: ci_vm9 Skip-checkpatch: true Skip-python-bandit: true Skip-build: true Quick-build: true Quick-Functional: true Skip-unit-tests: true Skip-test: true Allow-unstable-test: true #RPM-test-version: version[-release] #RPM-test-version: # VM1-label: ci_vm1 # Ubuntu-VM9-label: ci_vm9 # Leap15-VM9-label: ci_vm9 # EL8-VM9-label: ci_vm9 Skip-PR-comments: true Signed-off-by: Brian J. Murrell Skip-PR-comments: true --- vars/skipStage.groovy | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/vars/skipStage.groovy b/vars/skipStage.groovy index 5fb3c82db..ac8733b51 100644 --- a/vars/skipStage.groovy +++ b/vars/skipStage.groovy @@ -437,9 +437,7 @@ boolean call(Map config = [:]) { case 'Functional on Leap 15.4': return skip_ftest('leap15', target_branch) case 'Functional on Ubuntu 20.04': - /* we don't do any testing on Ubuntu yet - skip_ftest('ubuntu20', target_branch) */ - return true + return skip_ftest('ubuntu20', target_branch) case 'Fault injection testing': case 'Fault injection testing on CentOS 8': case 'Fault injection testing on EL 8': From 940cb9bad479304b67732eba01bd0026a87e392d Mon Sep 17 00:00:00 2001 From: "Brian J. Murrell" Date: Mon, 16 Jan 2023 10:06:49 -0500 Subject: [PATCH 03/16] DO NOT LAND Hack for missing daos-serialize in Ubuntu. #Pragmas from previous commit message: Skip-checkpatch: true Skip-python-bandit: true Skip-build: true Quick-build: true Quick-Functional: true Skip-unit-tests: true Skip-test: true Allow-unstable-test: true #RPM-test-version: version[-release] #RPM-test-version: # VM1-label: ci_vm1 # Ubuntu-VM9-label: ci_vm9 # Leap15-VM9-label: ci_vm9 # EL8-VM9-label: ci_vm9 Skip-PR-comments: true Skip-PR-comments: true #Pragmas from previous commit message: Skip-checkpatch: true Skip-python-bandit: true Skip-build: true Quick-build: true Quick-Functional: true Skip-unit-tests: true Skip-test: true Allow-unstable-test: true #RPM-test-version: version[-release] #RPM-test-version: # VM1-label: ci_vm1 # Ubuntu-VM9-label: ci_vm9 # Leap15-VM9-label: ci_vm9 # EL8-VM9-label: ci_vm9 Skip-PR-comments: true Skip-checkpatch: true Skip-python-bandit: true Skip-build: true Quick-build: true Quick-Functional: true Skip-unit-tests: true Skip-test: true Allow-unstable-test: true #RPM-test-version: version[-release] #RPM-test-version: # VM1-label: ci_vm1 # Ubuntu-VM9-label: ci_vm9 # Leap15-VM9-label: ci_vm9 # EL8-VM9-label: ci_vm9 Skip-checkpatch: true Skip-python-bandit: true Skip-build: true Quick-build: true Quick-Functional: true Skip-unit-tests: true Skip-test: true Allow-unstable-test: true #RPM-test-version: version[-release] #RPM-test-version: # VM1-label: ci_vm1 # Ubuntu-VM9-label: ci_vm9 # Leap15-VM9-label: ci_vm9 # EL8-VM9-label: ci_vm9 Skip-PR-comments: true Skip-PR-comments: true Signed-off-by: Brian J. Murrell Skip-PR-comments: true --- vars/daosPackagesVersion.groovy | 9 ++++++--- vars/getDAOSPackages.groovy | 6 +++++- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/vars/daosPackagesVersion.groovy b/vars/daosPackagesVersion.groovy index a951dc7f1..bc09ba33a 100644 --- a/vars/daosPackagesVersion.groovy +++ b/vars/daosPackagesVersion.groovy @@ -91,9 +91,12 @@ String call(String distro, String next_version) { // otherwise use the version in the stash // but trim off any point release from the distro first - Integer dot = _distro.indexOf('.') - if (dot > -1) { - _distro = _distro[0..dot - 1] + // for non ubuntu distros + if (!_distro.startsWith('ubuntu')) { + Integer dot = _distro.indexOf('.') + if (dot > -1) { + _distro = _distro[0..dot - 1] + } } String err_msg = null diff --git a/vars/getDAOSPackages.groovy b/vars/getDAOSPackages.groovy index ea8032c04..19be77f95 100644 --- a/vars/getDAOSPackages.groovy +++ b/vars/getDAOSPackages.groovy @@ -26,7 +26,11 @@ String call(String distro, String next_version, String add_daos_pkgs) { String pkgs if (env.TEST_RPMS == 'true') { - pkgs = 'daos{,-{client,tests,server,serialize}' + _add_daos_pkgs + '}' + if (distro.startsWith('ubuntu')) { + pkgs = 'daos{,-{client,tests,server}' + _add_daos_pkgs + '}' + } else { + pkgs = 'daos{,-{client,tests,server,serialize}' + _add_daos_pkgs + '}' + } } else { pkgs = 'daos{,-client}' } From eed05fe9aa6d5fa173b3e5613f4ef66eaa48dc4d Mon Sep 17 00:00:00 2001 From: "Brian J. Murrell" Date: Tue, 31 Jan 2023 16:14:07 -0500 Subject: [PATCH 04/16] daos-serialize is a dependency Of daos-tests-internal now. Skip-PR-comments: true #Pragmas from previous commit message: Skip-checkpatch: true Skip-python-bandit: true Skip-build: true Quick-build: true Quick-Functional: true Skip-unit-tests: true Skip-test: true Allow-unstable-test: true #RPM-test-version: version[-release] #RPM-test-version: # VM1-label: ci_vm1 # Ubuntu-VM9-label: ci_vm9 # Leap15-VM9-label: ci_vm9 # EL8-VM9-label: ci_vm9 Skip-PR-comments: true Skip-PR-comments: true Skip-PR-comments: true #Pragmas from previous commit message: Skip-checkpatch: true Skip-python-bandit: true Skip-build: true Quick-build: true Quick-Functional: true Skip-unit-tests: true Skip-test: true Allow-unstable-test: true #RPM-test-version: version[-release] #RPM-test-version: # VM1-label: ci_vm1 # Ubuntu-VM9-label: ci_vm9 # Leap15-VM9-label: ci_vm9 # EL8-VM9-label: ci_vm9 Skip-PR-comments: true Skip-PR-comments: true Skip-checkpatch: true Skip-python-bandit: true Skip-build: true Quick-build: true Quick-Functional: true Skip-unit-tests: true Skip-test: true Allow-unstable-test: true #RPM-test-version: version[-release] #RPM-test-version: # VM1-label: ci_vm1 # Ubuntu-VM9-label: ci_vm9 # Leap15-VM9-label: ci_vm9 # EL8-VM9-label: ci_vm9 Skip-PR-comments: true Skip-checkpatch: true Skip-python-bandit: true Skip-build: true Quick-build: true Quick-Functional: true Skip-unit-tests: true Skip-test: true Allow-unstable-test: true #RPM-test-version: version[-release] #RPM-test-version: # VM1-label: ci_vm1 # Ubuntu-VM9-label: ci_vm9 # Leap15-VM9-label: ci_vm9 # EL8-VM9-label: ci_vm9 Skip-checkpatch: true Skip-python-bandit: true Skip-build: true Quick-build: true Quick-Functional: true Skip-unit-tests: true Skip-test: true Allow-unstable-test: true #RPM-test-version: version[-release] #RPM-test-version: # VM1-label: ci_vm1 # Ubuntu-VM9-label: ci_vm9 # Leap15-VM9-label: ci_vm9 # EL8-VM9-label: ci_vm9 Skip-PR-comments: true Skip-PR-comments: true Skip-PR-comments: true Signed-off-by: Brian J. Murrell --- vars/getDAOSPackages.groovy | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/vars/getDAOSPackages.groovy b/vars/getDAOSPackages.groovy index 19be77f95..b93fd5e38 100644 --- a/vars/getDAOSPackages.groovy +++ b/vars/getDAOSPackages.groovy @@ -26,11 +26,7 @@ String call(String distro, String next_version, String add_daos_pkgs) { String pkgs if (env.TEST_RPMS == 'true') { - if (distro.startsWith('ubuntu')) { - pkgs = 'daos{,-{client,tests,server}' + _add_daos_pkgs + '}' - } else { - pkgs = 'daos{,-{client,tests,server,serialize}' + _add_daos_pkgs + '}' - } + pkgs = 'daos{,-{client,tests,server}' + _add_daos_pkgs + '}' } else { pkgs = 'daos{,-client}' } From ace0a1f62a3b79c7a2885b0abb730b58d98dfcf7 Mon Sep 17 00:00:00 2001 From: "Brian J. Murrell" Date: Thu, 2 Feb 2023 16:10:16 -0500 Subject: [PATCH 05/16] Tighter match for daos@PR- #Pragmas from previous commit message: Skip-PR-comments: true Skip-checkpatch: true Skip-python-bandit: true Skip-build: true Quick-build: true Quick-Functional: true Skip-unit-tests: true Skip-test: true Allow-unstable-test: true #RPM-test-version: version[-release] #RPM-test-version: # VM1-label: ci_vm1 # Ubuntu-VM9-label: ci_vm9 # Leap15-VM9-label: ci_vm9 # EL8-VM9-label: ci_vm9 Skip-PR-comments: true Skip-PR-comments: true Skip-PR-comments: true Skip-checkpatch: true Skip-python-bandit: true Skip-build: true Quick-build: true Quick-Functional: true Skip-unit-tests: true Skip-test: true Allow-unstable-test: true #RPM-test-version: version[-release] #RPM-test-version: # VM1-label: ci_vm1 # Ubuntu-VM9-label: ci_vm9 # Leap15-VM9-label: ci_vm9 # EL8-VM9-label: ci_vm9 Skip-PR-comments: true Skip-PR-comments: true Skip-checkpatch: true Skip-python-bandit: true Skip-build: true Quick-build: true Quick-Functional: true Skip-unit-tests: true Skip-test: true Allow-unstable-test: true #RPM-test-version: version[-release] #RPM-test-version: # VM1-label: ci_vm1 # Ubuntu-VM9-label: ci_vm9 # Leap15-VM9-label: ci_vm9 # EL8-VM9-label: ci_vm9 Skip-PR-comments: true Skip-checkpatch: true Skip-python-bandit: true Skip-build: true Quick-build: true Quick-Functional: true Skip-unit-tests: true Skip-test: true Allow-unstable-test: true #RPM-test-version: version[-release] #RPM-test-version: # VM1-label: ci_vm1 # Ubuntu-VM9-label: ci_vm9 # Leap15-VM9-label: ci_vm9 # EL8-VM9-label: ci_vm9 Skip-checkpatch: true Skip-python-bandit: true Skip-build: true Quick-build: true Quick-Functional: true Skip-unit-tests: true Skip-test: true Allow-unstable-test: true #RPM-test-version: version[-release] #RPM-test-version: # VM1-label: ci_vm1 # Ubuntu-VM9-label: ci_vm9 # Leap15-VM9-label: ci_vm9 # EL8-VM9-label: ci_vm9 Skip-PR-comments: true Skip-PR-comments: true Skip-PR-comments: true Signed-off-by: Brian J. Murrell Skip-PR-comments: true --- vars/daosRepos.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vars/daosRepos.groovy b/vars/daosRepos.groovy index 147e1388f..cb551ecd4 100644 --- a/vars/daosRepos.groovy +++ b/vars/daosRepos.groovy @@ -35,7 +35,7 @@ String call(String distro) { String pr_repos = prRepos(distro) - if (!pr_repos.contains('daos@')) { + if (!pr_repos.contains(' daos@')) { pr_repos += ' ' + daos_repo() } From a4b1274ee4891038c748303e92ba8cbe4ad0a60b Mon Sep 17 00:00:00 2001 From: "Brian J. Murrell" Date: Fri, 3 Feb 2023 10:32:31 -0500 Subject: [PATCH 06/16] Default to doing builds in the daos test stages Fix some linting issues. #Pragmas from previous commit message: Skip-PR-comments: true Skip-checkpatch: true Skip-python-bandit: true Skip-build: true Quick-build: true Quick-Functional: true Skip-unit-tests: true Skip-test: true Allow-unstable-test: true #RPM-test-version: version[-release] #RPM-test-version: # VM1-label: ci_vm1 # Ubuntu-VM9-label: ci_vm9 # Leap15-VM9-label: ci_vm9 # EL8-VM9-label: ci_vm9 Skip-PR-comments: true Skip-PR-comments: true Skip-PR-comments: true Skip-checkpatch: true Skip-python-bandit: true Skip-build: true Quick-build: true Quick-Functional: true Skip-unit-tests: true Skip-test: true Allow-unstable-test: true #RPM-test-version: version[-release] #RPM-test-version: # VM1-label: ci_vm1 # Ubuntu-VM9-label: ci_vm9 # Leap15-VM9-label: ci_vm9 # EL8-VM9-label: ci_vm9 Skip-PR-comments: true Skip-PR-comments: true Skip-checkpatch: true Skip-python-bandit: true Skip-build: true Quick-build: true Quick-Functional: true Skip-unit-tests: true Skip-test: true Allow-unstable-test: true #RPM-test-version: version[-release] #RPM-test-version: # VM1-label: ci_vm1 # Ubuntu-VM9-label: ci_vm9 # Leap15-VM9-label: ci_vm9 # EL8-VM9-label: ci_vm9 Skip-PR-comments: true Skip-checkpatch: true Skip-python-bandit: true Skip-build: true Quick-build: true Quick-Functional: true Skip-unit-tests: true Skip-test: true Allow-unstable-test: true #RPM-test-version: version[-release] #RPM-test-version: # VM1-label: ci_vm1 # Ubuntu-VM9-label: ci_vm9 # Leap15-VM9-label: ci_vm9 # EL8-VM9-label: ci_vm9 Skip-checkpatch: true Skip-python-bandit: true Skip-build: true Quick-build: true Quick-Functional: true Skip-unit-tests: true Skip-test: true Allow-unstable-test: true #RPM-test-version: version[-release] #RPM-test-version: # VM1-label: ci_vm1 # Ubuntu-VM9-label: ci_vm9 # Leap15-VM9-label: ci_vm9 # EL8-VM9-label: ci_vm9 Skip-PR-comments: true Skip-PR-comments: true Skip-PR-comments: true Skip-PR-comments: true Signed-off-by: Brian J. Murrell Skip-PR-comments: true --- Jenkinsfile | 37 +++++++++++++++++++++---------------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 9c4f411f8..dc6ff88b0 100755 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,5 +1,6 @@ #!/usr/bin/env groovy /* groovylint-disable DuplicateListLiteral, DuplicateNumberLiteral, DuplicateStringLiteral, NestedBlockDepth */ +/* groovylint-disable VariableName */ /* Copyright (C) 2019-2022 Intel Corporation * All rights reserved. * @@ -46,11 +47,13 @@ void job_status_update(String name=env.STAGE_NAME, String key = name.replace(' ', '_') key = key.replaceAll('[ .]', '_') if (job_status_internal.containsKey(key)) { - // groovylint-disable-next-line NoDef + /* groovylint-disable-next-line NoDef, VariableTypeRequired */ def myStage = job_status_internal[key] + /* groovylint-disable-next-line Instanceof */ if (myStage instanceof Map) { + /* groovylint-disable-next-line Instanceof */ if (value instanceof Map) { - value.each{ resultKey, data -> myStage[resultKey] = data } + value.each { resultKey, data -> myStage[resultKey] = data } return } // Update result with single value @@ -60,14 +63,16 @@ void job_status_update(String name=env.STAGE_NAME, } // pass through value job_status_internal[key] = value -} + } // groovylint-disable-next-line MethodParameterTypeRequired, NoDef void job_step_update(def value) { - if (value == null) { - value = currentBuild.currentResult + /* groovylint-disable-next-line NoDef, VariableTypeRequired */ + def _value = value + if (_value == null) { + _value = currentBuild.currentResult } - job_status_update(env.STAGE_NAME, value) + job_status_update(env.STAGE_NAME, _value) } // Don't define this as a type or it loses it's global scope @@ -126,7 +131,7 @@ pipeline { junit_files: '*.xml non-exist*.xml', failure_artifacts: env.STAGE_NAME)) } - // runTest handles SCM notification via stepResult + // runTest handles SCM notification via stepResult } // stage('grep JUnit results tests failure case') stage('grep JUnit results tests error case 1') { agent { @@ -144,7 +149,7 @@ pipeline { junit_files: '*.xml non-exist*.xml', failure_artifacts: env.STAGE_NAME)) } - // runTest handles SCM notification via stepResult + // runTest handles SCM notification via stepResult } // stage('grep JUnit results tests error case 1') stage('grep JUnit results tests error case 2') { agent { @@ -162,7 +167,7 @@ pipeline { junit_files: '*.xml non-exist*.xml', failure_artifacts: env.STAGE_NAME)) } - // runTest handles SCM notification via stepResult + // runTest handles SCM notification via stepResult } // stage('grep JUnit results tests error case 2') stage('publishToRepository RPM tests') { when { @@ -267,7 +272,7 @@ pipeline { junit_files: null, failure_artifacts: env.STAGE_NAME)) } - // runTest handles SCM notification via stepResult + // runTest handles SCM notification via stepResult } //stage('provisionNodes with release/0.9 Repo') stage('provisionNodes with master Repo') { when { @@ -293,7 +298,7 @@ pipeline { junit_files: null, failure_artifacts: env.STAGE_NAME)) } - // runTest handles SCM notification via stepResult + // runTest handles SCM notification via stepResult } // stage('provisionNodes with master Repo') stage('provisionNodes with slurm EL8') { when { @@ -321,7 +326,7 @@ pipeline { junit_files: null, failure_artifacts: env.STAGE_NAME)) } - // runTest handles SCM notification via stepResult + // runTest handles SCM notification via stepResult } //stage('provisionNodes with slurm EL8') stage('provisionNodes with slurm Leap15') { when { @@ -347,7 +352,7 @@ pipeline { junit_files: null, failure_artifacts: env.STAGE_NAME)) } - // runTest handles SCM notification via stepResult + // runTest handles SCM notification via stepResult } //stage('provisionNodes_with_slurm_leap15') stage('Commit Pragma tests') { steps { @@ -386,7 +391,7 @@ pipeline { // skipStage(commit_msg: cm)) assert(skipStage(commit_msg: cm) == commit.skips[i]) i++ - } + } } cachedCommitPragma(clear: true) } @@ -448,7 +453,7 @@ pipeline { // assert() is pretty lame // println('assert(' + parseStageInfo()['test_tag'] + " == ${cmp})") assert(parseStageInfo()['test_tag'] == cmp) - } + } } } } @@ -549,7 +554,7 @@ pipeline { parameters: [string(name: 'TestTag', value: 'load_mpi test_core_files test_pool_info_query'), string(name: 'CI_RPM_TEST_VERSION', - value: cachedCommitPragma('Test-skip-build', 'true') == 'true' ? + value: cachedCommitPragma('Test-skip-build', 'false') == 'true' ? daosLatestVersion(env.TEST_BRANCH) : ''), booleanParam(name: 'CI_UNIT_TEST', value: false), booleanParam(name: 'CI_FI_el8_TEST', value: true), From 99f4504d565c68b200e6a8c74f2bfa5a27bdd587 Mon Sep 17 00:00:00 2001 From: "Brian J. Murrell" Date: Mon, 6 Feb 2023 11:52:07 -0500 Subject: [PATCH 07/16] Convert PR-repos items to a list... To test for daos@ presence. Signed-off-by: Brian J. Murrell Skip-PR-comments: true --- vars/daosRepos.groovy | 4 +--- vars/skipStage.groovy | 10 +++++----- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/vars/daosRepos.groovy b/vars/daosRepos.groovy index cb551ecd4..1fe3d6773 100644 --- a/vars/daosRepos.groovy +++ b/vars/daosRepos.groovy @@ -12,7 +12,6 @@ */ String daos_repo() { - String target_branch = env.CHANGE_TARGET ? env.CHANGE_TARGET : env.BRANCH_NAME if (target_branch.matches(testBranchRE())) { @@ -32,10 +31,9 @@ String call() { } String call(String distro) { - String pr_repos = prRepos(distro) - if (!pr_repos.contains(' daos@')) { + if (!pr_repos.split().any { -> it it.contains('daos@') }) { pr_repos += ' ' + daos_repo() } diff --git a/vars/skipStage.groovy b/vars/skipStage.groovy index ac8733b51..fee6a035c 100644 --- a/vars/skipStage.groovy +++ b/vars/skipStage.groovy @@ -236,19 +236,19 @@ boolean call(Map config = [:]) { skip_stage_pragma('build') || rpmTestVersion() != '' || (quickFunctional() && - cachedCommitPragma('PR-repos').trim().contains('daos@')) + cachedCommitPragma('PR-repos').split().any { -> it it.contains('daos@') }) case 'Build RPM on CentOS 7': return paramsValue('CI_RPM_centos7_NOBUILD', false) || (docOnlyChange(target_branch) && prRepos('centos7') == '') || - prRepos('centos7').contains('daos@') || + prRepos('centos7').split().any { -> it it.contains('daos@') } || skip_stage_pragma('build-centos7-rpm') case 'Build RPM on EL 8': case 'Build RPM on CentOS 8': return paramsValue('CI_RPM_el8_NOBUILD', false) || (docOnlyChange(target_branch) && prRepos('el8') == '') || - prRepos('el8').contains('daos@') || + prRepos('el8').split().any { -> it it.contains('daos@') } || skip_stage_pragma('build-el8-rpm') case 'Build RPM on Leap 15': case 'Build RPM on Leap 15.4': @@ -256,14 +256,14 @@ boolean call(Map config = [:]) { target_branch == 'weekly-testing' || (docOnlyChange(target_branch) && prRepos('leap15') == '') || - prRepos('leap15').contains('daos@') || + prRepos('leap15').split().any { -> it it.contains('daos@') } || skip_stage_pragma('build-leap15-rpm') case 'Build DEB on Ubuntu 20.04': return paramsValue('CI_RPM_ubuntu20_NOBUILD', false) || target_branch == 'weekly-testing' || (docOnlyChange(target_branch) && prRepos('ubuntu20') == '') || - prRepos('ubuntu20').contains('daos@') || + prRepos('ubuntu20').split().any { -> it it.contains('daos@') } || skip_stage_pragma('build-ubuntu20-rpm') case 'Build on CentOS 8': case 'Build on EL 8': From 891f5f6cbad5986547a18a38a8be09308fa67349 Mon Sep 17 00:00:00 2001 From: "Brian J. Murrell" Date: Mon, 6 Feb 2023 12:04:15 -0500 Subject: [PATCH 08/16] Fix closures Signed-off-by: Brian J. Murrell Skip-PR-comments: true --- vars/daosRepos.groovy | 2 +- vars/skipStage.groovy | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/vars/daosRepos.groovy b/vars/daosRepos.groovy index 1fe3d6773..6bbee9e41 100644 --- a/vars/daosRepos.groovy +++ b/vars/daosRepos.groovy @@ -33,7 +33,7 @@ String call() { String call(String distro) { String pr_repos = prRepos(distro) - if (!pr_repos.split().any { -> it it.contains('daos@') }) { + if (!pr_repos.split().any { i -> i.contains('daos@') }) { pr_repos += ' ' + daos_repo() } diff --git a/vars/skipStage.groovy b/vars/skipStage.groovy index fee6a035c..12493cae0 100644 --- a/vars/skipStage.groovy +++ b/vars/skipStage.groovy @@ -241,14 +241,14 @@ boolean call(Map config = [:]) { return paramsValue('CI_RPM_centos7_NOBUILD', false) || (docOnlyChange(target_branch) && prRepos('centos7') == '') || - prRepos('centos7').split().any { -> it it.contains('daos@') } || + prRepos('centos7').split().any { i -> i.contains('daos@') } || skip_stage_pragma('build-centos7-rpm') case 'Build RPM on EL 8': case 'Build RPM on CentOS 8': return paramsValue('CI_RPM_el8_NOBUILD', false) || (docOnlyChange(target_branch) && prRepos('el8') == '') || - prRepos('el8').split().any { -> it it.contains('daos@') } || + prRepos('el8').split().any { i -> i.contains('daos@') } || skip_stage_pragma('build-el8-rpm') case 'Build RPM on Leap 15': case 'Build RPM on Leap 15.4': @@ -256,14 +256,14 @@ boolean call(Map config = [:]) { target_branch == 'weekly-testing' || (docOnlyChange(target_branch) && prRepos('leap15') == '') || - prRepos('leap15').split().any { -> it it.contains('daos@') } || + prRepos('leap15').split().any { i -> i.contains('daos@') } || skip_stage_pragma('build-leap15-rpm') case 'Build DEB on Ubuntu 20.04': return paramsValue('CI_RPM_ubuntu20_NOBUILD', false) || target_branch == 'weekly-testing' || (docOnlyChange(target_branch) && prRepos('ubuntu20') == '') || - prRepos('ubuntu20').split().any { -> it it.contains('daos@') } || + prRepos('ubuntu20').split().any { i -> i.contains('daos@') } || skip_stage_pragma('build-ubuntu20-rpm') case 'Build on CentOS 8': case 'Build on EL 8': From 2591d160821c971832eae708338b11a89e8d75f0 Mon Sep 17 00:00:00 2001 From: "Brian J. Murrell" Date: Mon, 6 Feb 2023 12:16:54 -0500 Subject: [PATCH 09/16] Debug Signed-off-by: Brian J. Murrell Skip-PR-comments: true --- vars/skipStage.groovy | 2 ++ 1 file changed, 2 insertions(+) diff --git a/vars/skipStage.groovy b/vars/skipStage.groovy index 12493cae0..316fa5811 100644 --- a/vars/skipStage.groovy +++ b/vars/skipStage.groovy @@ -259,6 +259,8 @@ boolean call(Map config = [:]) { prRepos('leap15').split().any { i -> i.contains('daos@') } || skip_stage_pragma('build-leap15-rpm') case 'Build DEB on Ubuntu 20.04': + println(prRepos('ubuntu20').split() + '.any { i -> i.contains("daos@") } == ' + + prRepos('ubuntu20').split().any { i -> i.contains('daos@') }) return paramsValue('CI_RPM_ubuntu20_NOBUILD', false) || target_branch == 'weekly-testing' || (docOnlyChange(target_branch) && From 704a34109cb74f096f9a0bc0a520eda8cc4d1326 Mon Sep 17 00:00:00 2001 From: "Brian J. Murrell" Date: Mon, 6 Feb 2023 12:29:21 -0500 Subject: [PATCH 10/16] Debug Signed-off-by: Brian J. Murrell Skip-PR-comments: true --- vars/skipStage.groovy | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/vars/skipStage.groovy b/vars/skipStage.groovy index 316fa5811..96a5b6963 100644 --- a/vars/skipStage.groovy +++ b/vars/skipStage.groovy @@ -259,7 +259,10 @@ boolean call(Map config = [:]) { prRepos('leap15').split().any { i -> i.contains('daos@') } || skip_stage_pragma('build-leap15-rpm') case 'Build DEB on Ubuntu 20.04': - println(prRepos('ubuntu20').split() + '.any { i -> i.contains("daos@") } == ' + + println('Debug:') + println(prRepos('ubuntu20')) + println(prRepos('ubuntu20').split()) + println('.any { i -> i.contains("daos@") } == ' + prRepos('ubuntu20').split().any { i -> i.contains('daos@') }) return paramsValue('CI_RPM_ubuntu20_NOBUILD', false) || target_branch == 'weekly-testing' || From 68e5a5e301ba5b42902e3446bc5f065f949e7f05 Mon Sep 17 00:00:00 2001 From: "Brian J. Murrell" Date: Mon, 6 Feb 2023 12:50:21 -0500 Subject: [PATCH 11/16] Debug Signed-off-by: Brian J. Murrell Skip-PR-comments: true --- vars/skipStage.groovy | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/vars/skipStage.groovy b/vars/skipStage.groovy index 96a5b6963..63adcbbf1 100644 --- a/vars/skipStage.groovy +++ b/vars/skipStage.groovy @@ -259,10 +259,12 @@ boolean call(Map config = [:]) { prRepos('leap15').split().any { i -> i.contains('daos@') } || skip_stage_pragma('build-leap15-rpm') case 'Build DEB on Ubuntu 20.04': - println('Debug:') - println(prRepos('ubuntu20')) - println(prRepos('ubuntu20').split()) - println('.any { i -> i.contains("daos@") } == ' + + println('Debug: ' + prRepos('ubuntu20')) + List pr_repos = prRepos('ubuntu20').split() + println('Debug: ' + pr_repos) + println('Debug: ' + pr_repos + '.any { i -> i.contains("daos@") } == ' + + pr_repos.any { i -> i.contains('daos@') }) + println('Debug: ' + pr_repos + '.any { i -> i.contains("daos@") } == ' + prRepos('ubuntu20').split().any { i -> i.contains('daos@') }) return paramsValue('CI_RPM_ubuntu20_NOBUILD', false) || target_branch == 'weekly-testing' || From 95db7033fbaedd2da88ef10777e0b02900011315 Mon Sep 17 00:00:00 2001 From: "Brian J. Murrell" Date: Mon, 6 Feb 2023 12:54:43 -0500 Subject: [PATCH 12/16] contains -> startsWith Signed-off-by: Brian J. Murrell Skip-PR-comments: true --- vars/skipStage.groovy | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/vars/skipStage.groovy b/vars/skipStage.groovy index 63adcbbf1..320a2cbde 100644 --- a/vars/skipStage.groovy +++ b/vars/skipStage.groovy @@ -262,10 +262,10 @@ boolean call(Map config = [:]) { println('Debug: ' + prRepos('ubuntu20')) List pr_repos = prRepos('ubuntu20').split() println('Debug: ' + pr_repos) - println('Debug: ' + pr_repos + '.any { i -> i.contains("daos@") } == ' + - pr_repos.any { i -> i.contains('daos@') }) - println('Debug: ' + pr_repos + '.any { i -> i.contains("daos@") } == ' + - prRepos('ubuntu20').split().any { i -> i.contains('daos@') }) + println('Debug: ' + pr_repos + '.any { i -> i.startsWith("daos@") } == ' + + pr_repos.any { i -> i.startsWith('daos@') }) + println('Debug: ' + pr_repos + '.any { i -> i.startsWith("daos@") } == ' + + prRepos('ubuntu20').split().any { i -> i.startsWith('daos@') }) return paramsValue('CI_RPM_ubuntu20_NOBUILD', false) || target_branch == 'weekly-testing' || (docOnlyChange(target_branch) && From 5781247fe95f03e472c8f3dfcb74de89a64f47b6 Mon Sep 17 00:00:00 2001 From: "Brian J. Murrell" Date: Mon, 6 Feb 2023 13:22:10 -0500 Subject: [PATCH 13/16] contains -> startsWith Signed-off-by: Brian J. Murrell Skip-PR-comments: true --- vars/daosRepos.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vars/daosRepos.groovy b/vars/daosRepos.groovy index 6bbee9e41..5375ee2d4 100644 --- a/vars/daosRepos.groovy +++ b/vars/daosRepos.groovy @@ -33,7 +33,7 @@ String call() { String call(String distro) { String pr_repos = prRepos(distro) - if (!pr_repos.split().any { i -> i.contains('daos@') }) { + if (!pr_repos.split().any { i -> i.startsWith('daos@') }) { pr_repos += ' ' + daos_repo() } From cf70561efa8e28902e89047679bbc87b2ea2b105 Mon Sep 17 00:00:00 2001 From: "Brian J. Murrell" Date: Mon, 6 Feb 2023 13:22:18 -0500 Subject: [PATCH 14/16] Debug Signed-off-by: Brian J. Murrell Skip-PR-comments: true --- vars/skipStage.groovy | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/vars/skipStage.groovy b/vars/skipStage.groovy index 320a2cbde..7ae6862f0 100644 --- a/vars/skipStage.groovy +++ b/vars/skipStage.groovy @@ -202,6 +202,21 @@ boolean skip_build_bullseye(String target_branch, String distro) { quickFunctional() } +boolean pr_repos_contains(String distro, String value) { + + println('Debug: ' + prRepos('ubuntu20')) + List pr_repos = prRepos('ubuntu20').split() + println('Debug: ' + pr_repos) + println('Debug: ' + pr_repos + '.any { i -> i.startsWith("daos@") } == ' + + pr_repos.any { i -> i.startsWith('daos@') }) + println('Debug: ' + pr_repos + '.any { i -> i.startsWith("daos@") } == ' + + prRepos('ubuntu20').split().any { i -> i.startsWith('daos@') }) + + boolean result = prRepos(distro).split().any { i -> i.startsWith(value + '@') } + println('Debug: returning ' + value) + return result + +} /* groovylint-disable-next-line MethodSize */ boolean call(Map config = [:]) { if (config['stage']) { @@ -236,19 +251,19 @@ boolean call(Map config = [:]) { skip_stage_pragma('build') || rpmTestVersion() != '' || (quickFunctional() && - cachedCommitPragma('PR-repos').split().any { -> it it.contains('daos@') }) + cachedCommitPragma('PR-repos').split().any { -> it it.startsWith('daos@') }) case 'Build RPM on CentOS 7': return paramsValue('CI_RPM_centos7_NOBUILD', false) || (docOnlyChange(target_branch) && prRepos('centos7') == '') || - prRepos('centos7').split().any { i -> i.contains('daos@') } || + prRepos('centos7').split().any { i -> i.startsWith('daos@') } || skip_stage_pragma('build-centos7-rpm') case 'Build RPM on EL 8': case 'Build RPM on CentOS 8': return paramsValue('CI_RPM_el8_NOBUILD', false) || (docOnlyChange(target_branch) && prRepos('el8') == '') || - prRepos('el8').split().any { i -> i.contains('daos@') } || + prRepos('el8').split().any { i -> i.startsWith('daos@') } || skip_stage_pragma('build-el8-rpm') case 'Build RPM on Leap 15': case 'Build RPM on Leap 15.4': @@ -256,21 +271,14 @@ boolean call(Map config = [:]) { target_branch == 'weekly-testing' || (docOnlyChange(target_branch) && prRepos('leap15') == '') || - prRepos('leap15').split().any { i -> i.contains('daos@') } || + prRepos('leap15').split().any { i -> i.startsWith('daos@') } || skip_stage_pragma('build-leap15-rpm') case 'Build DEB on Ubuntu 20.04': - println('Debug: ' + prRepos('ubuntu20')) - List pr_repos = prRepos('ubuntu20').split() - println('Debug: ' + pr_repos) - println('Debug: ' + pr_repos + '.any { i -> i.startsWith("daos@") } == ' + - pr_repos.any { i -> i.startsWith('daos@') }) - println('Debug: ' + pr_repos + '.any { i -> i.startsWith("daos@") } == ' + - prRepos('ubuntu20').split().any { i -> i.startsWith('daos@') }) return paramsValue('CI_RPM_ubuntu20_NOBUILD', false) || target_branch == 'weekly-testing' || (docOnlyChange(target_branch) && prRepos('ubuntu20') == '') || - prRepos('ubuntu20').split().any { i -> i.contains('daos@') } || + pr_repos_contains('ubuntu20', 'daos') || skip_stage_pragma('build-ubuntu20-rpm') case 'Build on CentOS 8': case 'Build on EL 8': From e05948b9f82ac3d994ba24bf13b73145aa464c85 Mon Sep 17 00:00:00 2001 From: "Brian J. Murrell" Date: Mon, 6 Feb 2023 13:25:11 -0500 Subject: [PATCH 15/16] Fix debug Signed-off-by: Brian J. Murrell Skip-PR-comments: true --- vars/skipStage.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vars/skipStage.groovy b/vars/skipStage.groovy index 7ae6862f0..6946be847 100644 --- a/vars/skipStage.groovy +++ b/vars/skipStage.groovy @@ -213,7 +213,7 @@ boolean pr_repos_contains(String distro, String value) { prRepos('ubuntu20').split().any { i -> i.startsWith('daos@') }) boolean result = prRepos(distro).split().any { i -> i.startsWith(value + '@') } - println('Debug: returning ' + value) + println('Debug: returning ' + result) return result } From 39691ecac5a6e5c4e66e91fab402608ff1543e96 Mon Sep 17 00:00:00 2001 From: "Brian J. Murrell" Date: Mon, 6 Feb 2023 14:45:06 -0500 Subject: [PATCH 16/16] Don't skip Functional on Ubuntu Remove debug. Signed-off-by: Brian J. Murrell Skip-PR-comments: true --- vars/skipStage.groovy | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/vars/skipStage.groovy b/vars/skipStage.groovy index 6946be847..2e34e7417 100644 --- a/vars/skipStage.groovy +++ b/vars/skipStage.groovy @@ -131,7 +131,6 @@ boolean skip_ftest(String distro, String target_branch) { // The params.CI_MORE_FUNCTIONAL_PR_TESTS allows enabling // tests that are not run in PRs. return !paramsValue('CI_FUNCTIONAL_' + distro + '_TEST', true) || - distro == 'ubuntu20' || skip_stage_pragma('func-test') || skip_stage_pragma('func-test-vm') || skip_stage_pragma('func-test-vm-all') || @@ -203,19 +202,7 @@ boolean skip_build_bullseye(String target_branch, String distro) { } boolean pr_repos_contains(String distro, String value) { - - println('Debug: ' + prRepos('ubuntu20')) - List pr_repos = prRepos('ubuntu20').split() - println('Debug: ' + pr_repos) - println('Debug: ' + pr_repos + '.any { i -> i.startsWith("daos@") } == ' + - pr_repos.any { i -> i.startsWith('daos@') }) - println('Debug: ' + pr_repos + '.any { i -> i.startsWith("daos@") } == ' + - prRepos('ubuntu20').split().any { i -> i.startsWith('daos@') }) - - boolean result = prRepos(distro).split().any { i -> i.startsWith(value + '@') } - println('Debug: returning ' + result) - return result - + return prRepos(distro).split().any { i -> i.startsWith(value + '@') } } /* groovylint-disable-next-line MethodSize */ boolean call(Map config = [:]) { @@ -256,14 +243,14 @@ boolean call(Map config = [:]) { return paramsValue('CI_RPM_centos7_NOBUILD', false) || (docOnlyChange(target_branch) && prRepos('centos7') == '') || - prRepos('centos7').split().any { i -> i.startsWith('daos@') } || + pr_repos_contains('centos7', 'daos') || skip_stage_pragma('build-centos7-rpm') case 'Build RPM on EL 8': case 'Build RPM on CentOS 8': return paramsValue('CI_RPM_el8_NOBUILD', false) || (docOnlyChange(target_branch) && prRepos('el8') == '') || - prRepos('el8').split().any { i -> i.startsWith('daos@') } || + pr_repos_contains('el8', 'daos') || skip_stage_pragma('build-el8-rpm') case 'Build RPM on Leap 15': case 'Build RPM on Leap 15.4': @@ -271,7 +258,7 @@ boolean call(Map config = [:]) { target_branch == 'weekly-testing' || (docOnlyChange(target_branch) && prRepos('leap15') == '') || - prRepos('leap15').split().any { i -> i.startsWith('daos@') } || + pr_repos_contains('leap15', 'daos') || skip_stage_pragma('build-leap15-rpm') case 'Build DEB on Ubuntu 20.04': return paramsValue('CI_RPM_ubuntu20_NOBUILD', false) ||