diff --git a/ci/provisioning/post_provision_config.sh b/ci/provisioning/post_provision_config.sh index 6883999b3..9b910c9fa 100755 --- a/ci/provisioning/post_provision_config.sh +++ b/ci/provisioning/post_provision_config.sh @@ -19,7 +19,7 @@ source ci/provisioning/post_provision_config_common_functions.sh # shellcheck disable=SC1091 source ci/junit.sh -: "${DISTRO:=EL_7}" +: "${DISTRO:=EL_9}" DSL_REPO_var="DAOS_STACK_${DISTRO}_LOCAL_REPO" DSG_REPO_var="DAOS_STACK_${DISTRO}_GROUP_REPO" DSA_REPO_var="DAOS_STACK_${DISTRO}_APPSTREAM_REPO" diff --git a/src/com/intel/checkoutScmInternal.groovy b/src/com/intel/checkoutScmInternal.groovy index dfdea94e8..32a8a34c1 100644 --- a/src/com/intel/checkoutScmInternal.groovy +++ b/src/com/intel/checkoutScmInternal.groovy @@ -60,7 +60,7 @@ def checkoutScmInternal(Map config = [:]) { Map params = [$class: scm_name, branches: branches, extensions: [[$class: 'CloneOption', noTags: true, - reference: '', shallow: false]], + reference: '', shallow: false, depth: 100]], submoduleCfg: [], userRemoteConfigs: userRemoteConfigs] if (config['pruneStaleBranch']) { diff --git a/vars/distroVersion.groovy b/vars/distroVersion.groovy index 8f66f9600..c405c4f4d 100755 --- a/vars/distroVersion.groovy +++ b/vars/distroVersion.groovy @@ -33,7 +33,7 @@ String call(String distro, String branch) { return ['el8': ['master': '8.8', '2.4': '8.8', '2.6': '8.8'], - 'el9': ['master': '9.4', + 'el9': ['master': '9.7', '2.6': '9.4'], 'leap15': ['master': '15.6', '2.4': '15.6', @@ -48,7 +48,7 @@ assert(call('leap15', 'master') == '15.6') assert(call('el8', '2.4') == '8.8') assert(call('el8', '2.6') == '8.8') assert(call('el8', 'master') == '8.8') -assert(call('el9', 'master') == '9.4') +assert(call('el9', 'master') == '9.7') assert(call('el9', '2.6') == '9.4') /* Uncomment to do further testing diff --git a/vars/hwDistroTarget2.groovy b/vars/hwDistroTarget2.groovy index 8990c424c..690a0ab4a 100644 --- a/vars/hwDistroTarget2.groovy +++ b/vars/hwDistroTarget2.groovy @@ -22,11 +22,11 @@ List call(String size) { // Possible return values: // leap15 // centos7 - // el8 + // el9 // NOTE: the default distro does not get set here below if the DAOS Jenkinsfile has a CI_HARDWARE_DISTRO parameter - String distro = cachedCommitPragma('EL8-target', 'el' + - cachedCommitPragma('EL8-version', - distroVersion('el8'))) + String distro = cachedCommitPragma('EL9-target', 'el' + + cachedCommitPragma('EL9-version', + distroVersion('el9'))) if (params.CI_HARDWARE_DISTRO) { distro = params.CI_HARDWARE_DISTRO } diff --git a/vars/prRepos.groovy b/vars/prRepos.groovy index 30c9ad4eb..9da41ef0d 100644 --- a/vars/prRepos.groovy +++ b/vars/prRepos.groovy @@ -25,7 +25,9 @@ String call(String distro=null) { _distro.startsWith('rocky8') || _distro.startsWith('almalinux8') || _distro.startsWith('rhel8')) { repos = cachedCommitPragma('PR-repos-el8') - } else if (_distro.startsWith('el9')) { + } else if (_distro.startsWith('el9') || + _distro.startsWith('rocky9') || _distro.startsWith('almalinux9') || + _distro.startsWith('rhel9')) { repos = cachedCommitPragma('PR-repos-el9') } else if (_distro.startsWith('leap15')) { repos = cachedCommitPragma('PR-repos-leap15') diff --git a/vars/provisionNodes.groovy b/vars/provisionNodes.groovy index 5ec50533c..3784cf250 100644 --- a/vars/provisionNodes.groovy +++ b/vars/provisionNodes.groovy @@ -17,7 +17,7 @@ * @param config Map of parameters passed. * * config['arch'] Architecture to use. Default 'x86_64' - * config['distro'] Distribution to use. Default 'el7' + * config['distro'] Distribution to use. Default 'el9' * config['NODELIST'] Comma separated list of nodes available. * config['node_count'] Optional lower number of nodes to provision. * config['pool'] Optional pool from which to get image (i.e. test) @@ -93,7 +93,7 @@ Map call(Map config = [:]) { } String distro_type - String distro = config.get('distro', 'el7') + String distro = config.get('distro', 'el9') if (distro.startsWith('centos') || distro.startsWith('el') || distro.startsWith('rocky') || distro.startsWith('almalinux') || distro.startsWith('rhel')) { @@ -142,9 +142,11 @@ Map call(Map config = [:]) { provision_script += 'EL_7' break case 'el8': - case 'el9': provision_script += 'EL_8' break + case 'el9': + provision_script += 'EL_9' + break case 'suse': provision_script += 'LEAP_15' break diff --git a/vars/provisionNodesV1.groovy b/vars/provisionNodesV1.groovy index d496e3f15..9a8e8988c 100644 --- a/vars/provisionNodesV1.groovy +++ b/vars/provisionNodesV1.groovy @@ -13,7 +13,7 @@ * @param config Map of parameters passed. * * config['arch'] Architecture to use. Default 'x86_64' - * config['distro'] Distribution to use. Default 'el7' + * config['distro'] Distribution to use. Default 'el9' * config['NODELIST'] Comma separated list of nodes available. * config['node_count'] Optional lower number of nodes to provision. * config['profile'] Profile to use. Default 'daos_ci'. @@ -76,7 +76,7 @@ def call(Map config = [:]) { } def distro_type = 'el' - def distro = config.get('distro', 'el7') + def distro = config.get('distro', 'el9') if (distro == 'centos7') { distro = 'el7' } else if (distro.startsWith("sles") || distro.startsWith("leap") || @@ -200,7 +200,7 @@ EOF''' branch=\\"\\\${branch%:*}\\" fi fi''' - if (distro.startsWith("el7")) { + if (distro.startsWith("el")) { if (config['power_only']) { // Since we don't have CORCI-711 yet, erase things we know could have // been put on the node previously diff --git a/vars/quickBuildDeps.groovy b/vars/quickBuildDeps.groovy index ab2a6c565..a6f1f01de 100755 --- a/vars/quickBuildDeps.groovy +++ b/vars/quickBuildDeps.groovy @@ -29,6 +29,11 @@ def call(String distro, always=false) { distro.startsWith('rhel8')) { rpmspec_args = "--undefine suse_version " + "--define rhel\\ 8" + } else if (distro.startsWith('el9') || + distro.startsWith('rocky9') || distro.startsWith('almalinux9') || + distro.startsWith('rhel9')) { + rpmspec_args = "--undefine suse_version " + + "--define rhel\\ 9" } else { error("Unknown distro: ${distro} in quickBuildDeps()") } diff --git a/vars/skipStage.groovy b/vars/skipStage.groovy index d0687d704..cc7bef6f4 100644 --- a/vars/skipStage.groovy +++ b/vars/skipStage.groovy @@ -134,8 +134,7 @@ boolean skip_if_unstable() { } boolean skip_build_on_el_gcc(String target_branch, String version) { - return paramsValue('CI_BUILD_PACKAGES_ONLY', false) || - skip_stage_pragma('build-el' + version + '-gcc') || + return skip_stage_pragma('build-el' + version + '-gcc') || (docOnlyChange(target_branch) && prRepos('el' + version) == '') || quickFunctional() @@ -228,10 +227,6 @@ boolean call(Map config = [:]) { prRepos('ubuntu20') == '') || prReposContains('ubuntu20', jobName()) || skip_stage_pragma('build-ubuntu20-rpm') - case 'Build on CentOS 8': - case 'Build on EL 8': - case 'Build on EL 8.8': - return skip_build_on_el_gcc(target_branch, '8') case 'Build on CentOS 7 Bullseye': return skip_build_bullseye(target_branch, 'centos7') case 'Build on CentOS 8 Bullseye': @@ -312,11 +307,17 @@ boolean call(Map config = [:]) { /* groovylint-disable-next-line DuplicateCaseStatement */ case 'Build on CentOS 8': case 'Build on EL 8': - return paramsValue('CI_BUILD_PACKAGES_ONLY', false) || - skip_stage_pragma('build-el8-gcc-dev') || + case 'Build on EL 8.8': + return skip_build_on_el_gcc(target_branch, '8') || (docOnlyChange(target_branch) && prRepos('el8') == '') || quickBuild() + case 'Build on EL 9': + case 'Build on EL 9.7': + return skip_build_on_el_gcc(target_branch, '9') || + (docOnlyChange(target_branch) && + prRepos('el9') == '') || + quickBuild() case 'Build on Ubuntu 20.04 with Clang': return paramsValue('CI_BUILD_PACKAGES_ONLY', false) || target_branch =~ branchTypeRE('weekly') || @@ -328,8 +329,7 @@ boolean call(Map config = [:]) { case 'Build on Leap 15.4': case 'Build on Leap 15.5': case 'Build on Leap 15.6': - return paramsValue('CI_BUILD_PACKAGES_ONLY', false) || - skip_stage_pragma('build-leap15-gcc') || + return skip_stage_pragma('build-leap15-gcc') || (docOnlyChange(target_branch) && prRepos('leap15') == '') || quickBuild() @@ -355,6 +355,8 @@ boolean call(Map config = [:]) { case 'NLT on CentOS 8': case 'NLT on EL 8': case 'NLT on EL 8.8': + case 'NLT on EL 9': + case 'NLT on EL 9.7': return skip_stage_pragma('nlt') || quickBuild() || stageAlreadyPassed() @@ -369,6 +371,10 @@ boolean call(Map config = [:]) { case 'Unit Test with memcheck on CentOS 8': case 'Unit Test with memcheck on EL 8': case 'Unit Test with memcheck on EL 8.8': + case 'Unit Test with memcheck on EL 9': + case 'Unit Test with memcheck on EL 9.7': + case 'Unit Test bdev with memcheck on EL 9': + case 'Unit Test bdev with memcheck on EL 9.7': case 'Unit Test with memcheck': return !paramsValue('CI_UNIT_TEST_MEMCHECK', true) || skip_stage_pragma('unit-test-memcheck') || @@ -379,6 +385,10 @@ boolean call(Map config = [:]) { case 'Unit Test on EL 8.8': case 'Unit Test bdev on EL 8': case 'Unit Test bdev on EL 8.8': + case 'Unit Test on EL 9': + case 'Unit Test on EL 9.7': + case 'Unit Test bdev on EL 9': + case 'Unit Test bdev on EL 9.7': return !paramsValue('CI_UNIT_TEST', true) || skip_stage_pragma('unit-test') || skip_stage_pragma('run_test') || @@ -417,11 +427,15 @@ boolean call(Map config = [:]) { case 'Functional on EL 8 with Valgrind': case 'Functional on EL 8.8 with Valgrind': return skip_ftest_valgrind('el8', target_branch, tags) + case 'Functional on EL 9 with Valgrind': + case 'Functional on EL 9.7 with Valgrind': + return skip_ftest_valgrind('el9', target_branch, tags) case 'Functional on CentOS 8': case 'Functional on EL 8': case 'Functional on EL 8.8': return skip_ftest('el8', target_branch, tags) case 'Functional on EL 9': + case 'Functional on EL 9.7': return skip_ftest('el9', target_branch, tags) case 'Functional on Leap 15': case 'Functional on Leap 15.4': @@ -443,6 +457,15 @@ boolean call(Map config = [:]) { skip_stage_pragma('func-test') || skip_stage_pragma('func-test-vm') || stageAlreadyPassed() + case 'Fault injection testing on EL 9': + case 'Fault injection testing on EL 9.7': + return skip_stage_pragma('fault-injection-test') || + !paramsValue('CI_FI_el9_TEST', true) || + quickFunctional() || + docOnlyChange(target_branch) || + skip_stage_pragma('func-test') || + skip_stage_pragma('func-test-vm') || + stageAlreadyPassed() case 'Test CentOS 7 RPMs': return !paramsValue('CI_RPMS_el7_TEST', true) || target_branch =~ branchTypeRE('weekly') || @@ -518,6 +541,20 @@ boolean call(Map config = [:]) { !run_default_skipped_stage('test-el-8.8-rpms')) || (rpmTestVersion() != '') || stageAlreadyPassed() + case 'Test RPMs on EL 9': + case 'Test RPMs on EL 9.6': + return !paramsValue('CI_RPMS_el9.7_TEST', true) || + target_branch =~ branchTypeRE('weekly') || + skip_stage_pragma('build-el9-rpm') || + skip_stage_pragma('test') || + skip_stage_pragma('test-rpms') || + skip_stage_pragma('test-el-9-rpms') || + docOnlyChange(target_branch) || + (quickFunctional() && + !paramsValue('CI_RPMS_el9_7_TEST', true) && + !run_default_skipped_stage('test-el-9.7-rpms')) || + (rpmTestVersion() != '') || + stageAlreadyPassed() case 'Test Leap 15 RPMs': case 'Test Leap 15.2 RPMs': // Skip by default as it doesn't pass with Leap15.3 due to