@@ -92,7 +92,18 @@ echo "Created temporary directory '${tmpdir}'"
9292# Store MODULEPATH so it can be restored at the end of each loop iteration
9393SAVE_MODULEPATH=${MODULEPATH}
9494
95- for EASYSTACK_FILE in ${TOPDIR} /easystacks/eessi-* CUDA* .yml; do
95+ # Check if NVIDIA_EASYSTACKS_DIRECTORY is already set and not empty
96+ if [ -n " ${NVIDIA_EASYSTACKS_DIRECTORY} " ]; then
97+ echo_yellow " Using environment override NVIDIA_EASYSTACKS_DIRECTORY: ${NVIDIA_EASYSTACKS_DIRECTORY} "
98+ else
99+ NVIDIA_EASYSTACKS_DIRECTORY=" ${TOPDIR} /easystacks"
100+ echo_green " NVIDIA_EASYSTACKS_DIRECTORY environment variable override is not set, using default ${NVIDIA_EASYSTACKS_DIRECTORY} "
101+ fi
102+ # Initialize an empty array to store the processed easystack paths
103+ PROCESSED_EASYSTACK_FILES=()
104+ for EASYSTACK_FILE in ${NVIDIA_EASYSTACKS_DIRECTORY} /eessi-* CUDA* .yml; do
105+ # The file must exist
106+ [ -e " ${EASYSTACK_FILE} " ] || continue
96107 echo -e " Processing easystack file ${EASYSTACK_FILE} ...\n\n"
97108
98109 # determine version of EasyBuild module to load based on EasyBuild version included in name of easystack file
@@ -267,6 +278,7 @@ for EASYSTACK_FILE in ${TOPDIR}/easystacks/eessi-*CUDA*.yml; do
267278 fatal_error " some installation failed, please check EasyBuild logs ${PWD} /$( basename ${eb_last_log} ) ..."
268279 else
269280 echo_green " all installations at ${EASYBUILD_INSTALLPATH} /software/... succeeded!"
281+ PROCESSED_EASYSTACK_FILES+=(" ${EASYSTACK_FILE} " )
270282 fi
271283
272284 # clean up tmpdir content
@@ -275,5 +287,16 @@ for EASYSTACK_FILE in ${TOPDIR}/easystacks/eessi-*CUDA*.yml; do
275287 # Restore MODULEPATH for next loop iteration
276288 MODULEPATH=${SAVE_MODULEPATH}
277289done
290+
291+ # Check that we processed at least one easystack file
292+ if [ ${# PROCESSED_EASYSTACK_FILES[@]} -gt 0 ]; then
293+ echo_green " ${# PROCESSED_EASYSTACK_FILES[@]} easystack files processed:"
294+ for EASYSTACK_FILE in " ${PROCESSED_EASYSTACK_FILES[@]} " ; do
295+ echo_green " - ${EASYSTACK_FILE} "
296+ done
297+ else
298+ fatal_error " Error: No matching CUDA easystack files were successfully found/processed in ${NVIDIA_EASYSTACKS_DIRECTORY} !"
299+ fi
300+
278301# Remove the temporary directory
279302rm -rf " ${tmpdir} "
0 commit comments