diff --git a/contrib/intel/jenkins/Jenkinsfile b/contrib/intel/jenkins/Jenkinsfile index 07233808655..d014e406917 100644 --- a/contrib/intel/jenkins/Jenkinsfile +++ b/contrib/intel/jenkins/Jenkinsfile @@ -314,6 +314,27 @@ pipeline { } } } + stage ('build_ucx') { + steps { + script { + dir ("${CUSTOM_WORKSPACE}/ucx") { + checkout scm + def prefix = "python$PYTHON_VERSION ${RUN_LOCATION}/build.py" + def opts = "" + def build_cmd = "" + for (mode in BUILD_MODES) { + for (item in ["libfabric", "fabtests"]) { + opts = "--build_item=${item} --ofi_build_mode=${mode} --ucx" + build_cmd = "${build_cmd} ${prefix} ${opts}; " + } + } + slurm_batch("squirtle,totodile", "1", + "${env.LOG_DIR}/libfabric_ucx_build_log", + "${build_cmd}") + } + } + } + } stage ('build-daos') { agent { node { @@ -471,14 +492,6 @@ pipeline { stage('ucx') { steps { script { - dir (CUSTOM_WORKSPACE) { - for (mode in BUILD_MODES) { - echo "Building Libfabric $mode" - build("libfabric", "${mode}", null, false, "--ucx") - echo "Building Fabtests $mode" - build("fabtests", "${mode}", null, false, "--ucx") - } - } dir (RUN_LOCATION) { run_fabtests("ucx", "totodile", "2", "ucx") } diff --git a/contrib/intel/jenkins/build.py b/contrib/intel/jenkins/build.py index 79d6422287f..0391dada0f4 100755 --- a/contrib/intel/jenkins/build.py +++ b/contrib/intel/jenkins/build.py @@ -24,6 +24,7 @@ def build_libfabric(libfab_install_path, mode, cluster=None, ucx=None): config_cmd.append('--enable-debug') elif (mode == 'dl'): enable_prov_val='dl' + if (cluster == 'daos'): prov_list = common.daos_prov_list elif (cluster == 'gpu'): @@ -32,16 +33,16 @@ def build_libfabric(libfab_install_path, mode, cluster=None, ucx=None): prov_list = common.default_prov_list for prov in prov_list: - if (prov == 'ucx'): - if (ucx): - config_cmd.append('--enable-ucx=yes') + if (ucx): + config_cmd.append('--enable-ucx=yes') + break else: config_cmd.append(f'--enable-{prov}={enable_prov_val}') for op in common.common_disable_list: config_cmd.append(f'--enable-{op}=no') - if (cluster == 'default' and build_item != 'libfabric_mpich'): + if (cluster == 'default' and build_item != 'libfabric_mpich' and not ucx): for op in common.default_enable_list: config_cmd.append(f'--enable-{op}') @@ -187,7 +188,8 @@ def log_dir(install_path, release=False): libfab_install_path = f'{cloudbees_config.install_dir}/{jobname}/{buildno}/{ofi_build_mode}' if (ucx): - libfab_install_path += "/ucx" + libfab_install_path += '/ucx' + workspace += '/ucx' p = re.compile('mpi*')