@@ -53,6 +53,33 @@ LOCAL_TMP=$(cfg_get_value "site_config" "local_tmp")
5353echo " bot/build.sh: LOCAL_TMP='${LOCAL_TMP} '"
5454# TODO should local_tmp be mandatory? --> then we check here and exit if it is not provided
5555
56+ # check if path to copy build logs to is specified, so we can copy build logs for failing builds there
57+ BUILD_LOGS_DIR=$( cfg_get_value " site_config" " build_logs_dir" )
58+ echo " bot/build.sh: BUILD_LOGS_DIR='${BUILD_LOGS_DIR} '"
59+ # if $BUILD_LOGS_DIR is set, add it to $SINGULARITY_BIND so the path is available in the build container
60+ if [[ ! -z ${BUILD_LOGS_DIR} ]]; then
61+ mkdir -p ${BUILD_LOGS_DIR}
62+ if [[ -z ${SINGULARITY_BIND} ]]; then
63+ export SINGULARITY_BIND=" ${BUILD_LOGS_DIR} "
64+ else
65+ export SINGULARITY_BIND=" ${SINGULARITY_BIND} ,${BUILD_LOGS_DIR} "
66+ fi
67+ fi
68+
69+ # check if path to directory on shared filesystem is specified,
70+ # and use it as location for source tarballs used by EasyBuild if so
71+ SHARED_FS_PATH=$( cfg_get_value " site_config" " shared_fs_path" )
72+ echo " bot/build.sh: SHARED_FS_PATH='${SHARED_FS_PATH} '"
73+ # if $SHARED_FS_PATH is set, add it to $SINGULARITY_BIND so the path is available in the build container
74+ if [[ ! -z ${SHARED_FS_PATH} ]]; then
75+ mkdir -p ${SHARED_FS_PATH}
76+ if [[ -z ${SINGULARITY_BIND} ]]; then
77+ export SINGULARITY_BIND=" ${SHARED_FS_PATH} "
78+ else
79+ export SINGULARITY_BIND=" ${SINGULARITY_BIND} ,${SHARED_FS_PATH} "
80+ fi
81+ fi
82+
5683SINGULARITY_CACHEDIR=$( cfg_get_value " site_config" " container_cachedir" )
5784echo " bot/build.sh: SINGULARITY_CACHEDIR='${SINGULARITY_CACHEDIR} '"
5885if [[ ! -z ${SINGULARITY_CACHEDIR} ]]; then
@@ -151,19 +178,21 @@ BUILD_STEP_ARGS+=("--save" "${TARBALL_TMP_BUILD_STEP_DIR}")
151178BUILD_STEP_ARGS+=(" --storage" " ${STORAGE} " )
152179
153180# prepare arguments to install_software_layer.sh (specific to build step)
154- GENERIC_OPT=
181+ declare -a INSTALL_SCRIPT_ARGS=()
155182if [[ ${EESSI_SOFTWARE_SUBDIR_OVERRIDE} =~ .* /generic$ ]]; then
156- GENERIC_OPT= " --generic"
183+ INSTALL_SCRIPT_ARGS+=( " --generic" )
157184fi
185+ [[ ! -z ${BUILD_LOGS_DIR} ]] && INSTALL_SCRIPT_ARGS+=(" --build-logs-dir" " ${BUILD_LOGS_DIR} " )
186+ [[ ! -z ${SHARED_FS_PATH} ]] && INSTALL_SCRIPT_ARGS+=(" --shared-fs-path" " ${SHARED_FS_PATH} " )
158187
159188# create tmp file for output of build step
160189build_outerr=$( mktemp build.outerr.XXXX)
161190
162191echo " Executing command to build software:"
163192echo " ./eessi_container.sh ${COMMON_ARGS[@]} ${BUILD_STEP_ARGS[@]} "
164- echo " -- ./install_software_layer.sh ${GENERIC_OPT} \" $@ \" 2>&1 | tee -a ${build_outerr} "
193+ echo " -- ./install_software_layer.sh \" ${INSTALL_SCRIPT_ARGS[@]} \" \" $@ \" 2>&1 | tee -a ${build_outerr} "
165194./eessi_container.sh " ${COMMON_ARGS[@]} " " ${BUILD_STEP_ARGS[@]} " \
166- -- ./install_software_layer.sh ${GENERIC_OPT} " $@ " 2>&1 | tee -a ${build_outerr}
195+ -- ./install_software_layer.sh " ${INSTALL_SCRIPT_ARGS[@]} " " $@ " 2>&1 | tee -a ${build_outerr}
167196
168197# prepare directory to store tarball of tmp for tarball step
169198TARBALL_TMP_TARBALL_STEP_DIR=${PREVIOUS_TMP_DIR} /tarball_step
0 commit comments