From 467ce5161d99f3fa949af327671734f85a5fff07 Mon Sep 17 00:00:00 2001 From: Thomas Roeblitz Date: Thu, 11 Apr 2024 00:53:36 +0200 Subject: [PATCH 1/3] skip installation of CUDA SDK in CI --- .github/workflows/tests_scripts.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/tests_scripts.yml b/.github/workflows/tests_scripts.yml index d35e52f80f..b57c3c51e2 100644 --- a/.github/workflows/tests_scripts.yml +++ b/.github/workflows/tests_scripts.yml @@ -82,6 +82,8 @@ jobs: # run wrapper script + capture & check output out="${PWD}/eb-${EB_VERSION}.out" export EESSI_REPOS_CFG_DIR_OVERRIDE=${PWD}/repos + # skip installation of CUDA SDKs, since this is too heavy for CI + sed -i "s@./EESSI-install-software.sh@./EESSI-install-software.sh --skip-cuda-install@g" install_software_layer.sh ./eessi_container.sh --access rw --mode run --verbose --repository nessi.no-2023.06-software /software-layer/run_in_compat_layer_env.sh /software-layer/eb-${EB_VERSION}.sh 2>&1 | tee ${out} pattern="^This is EasyBuild ${EB_VERSION} " grep "${pattern}" ${out} || (echo "Pattern '${pattern}' not found in output!" && exit 1) From 70ade05fec9e40f2ec9db20f237422e9abd2fdb2 Mon Sep 17 00:00:00 2001 From: Thomas Roeblitz Date: Thu, 11 Apr 2024 00:56:07 +0200 Subject: [PATCH 2/3] option to skip installation of CUDA SDK in install script --- EESSI-install-software.sh | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index e64798532e..f996fd626d 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -14,6 +14,7 @@ display_help() { echo " -x | --http-proxy URL - provides URL for the environment variable http_proxy" echo " -y | --https-proxy URL - provides URL for the environment variable https_proxy" echo " --shared-fs-path - path to directory on shared filesystem that can be used" + echo " --skip-cuda-install - disable installing a full CUDA SDK in the host_injections prefix (e.g. in CI)" } function copy_build_log() { @@ -76,6 +77,10 @@ while [[ $# -gt 0 ]]; do export shared_fs_path="${2}" shift 2 ;; + --skip-cuda-install) + export skip_cuda_install=True + shift 1 + ;; -*|--*) echo "Error: Unknown option: $1" >&2 exit 1 @@ -195,7 +200,12 @@ ${TOPDIR}/install_scripts.sh --prefix ${EESSI_PREFIX} # Install full CUDA SDK in host_injections # Hardcode this for now, see if it works # TODO: We should make a nice yaml and loop over all CUDA versions in that yaml to figure out what to install -${EESSI_PREFIX}/scripts/gpu_support/nvidia/install_cuda_host_injections.sh -c 12.1.1 --accept-cuda-eula +# Allow skipping CUDA SDK install in e.g. CI environments +if [ -z "${skip_cuda_install}" ] || [ ! "${skip_cuda_install}" ]; then + ${EESSI_PREFIX}/scripts/gpu_support/nvidia/install_cuda_host_injections.sh -c 12.1.1 --accept-cuda-eula +else + echo "Skipping installation of CUDA SDK in host_injections, since the --skip-cuda-install flag was passed" +fi # Install drivers in host_injections # TODO: this is commented out for now, because the script assumes that nvidia-smi is available and works; From ca0a35801635a39bd099d4912430eef19cfd254f Mon Sep 17 00:00:00 2001 From: Thomas Roeblitz Date: Thu, 11 Apr 2024 00:57:24 +0200 Subject: [PATCH 3/3] remove workaround for apptainer 1.3.0 --- install_apptainer_ubuntu.sh | 4 ---- 1 file changed, 4 deletions(-) diff --git a/install_apptainer_ubuntu.sh b/install_apptainer_ubuntu.sh index 5eb513db2c..5c4f37ac2d 100755 --- a/install_apptainer_ubuntu.sh +++ b/install_apptainer_ubuntu.sh @@ -5,11 +5,7 @@ set -e # see https://github.com/apptainer/singularity/issues/5390#issuecomment-899111181 sudo apt-get install alien alien --version -# stick to Apptainer < 1.3.0 by downloading from EPEL 8.8 archive, -# since CI workflow for testing scripts hangs/fails when using Apptainer 1.3.0 -# cfr. https://github.com/EESSI/software-layer/pull/514 epel_subdir="pub/epel/8" -epel_subdir="pub/archive/epel/8.8" apptainer_rpm=$(curl --silent -L https://dl.fedoraproject.org/${epel_subdir}/Everything/x86_64/Packages/a/ | grep 'apptainer-[0-9]' | sed 's/.*\(apptainer[0-9._a-z-]*.rpm\).*/\1/g') curl -OL https://dl.fedoraproject.org/${epel_subdir}/Everything/x86_64/Packages/a/${apptainer_rpm} sudo alien -d ${apptainer_rpm}