diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 01a0e27..b2f7278 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -36,16 +36,27 @@ jobs: # Set CPU override for the stack to query export EESSI_ARCHDETECT_OPTIONS_OVERRIDE="x86_64/intel/icelake" # Set GPU overrides for the stack to query (we have no GPU, so also override the GPU check) - export EESSI_ACCELERATOR_TARGET_OVERRIDE="accel/nvidia/cc90" export EESSI_OVERRIDE_GPU_CHECK=1 # First do 2023.06 for EB 4 + export EESSI_ACCELERATOR_TARGET_OVERRIDE="accel/nvidia/cc80" # Stick to 8.0 for EB4 as options for 9.0 set by EESSI-extend are not understood there ( module load EESSI/2023.06 && module load EasyBuild/4 && module load EESSI-extend && python scripts/generate_data_files.py --eessi-version=2023.06 ) & + pid1=$! # then 2023.06 for EB 5 + export EESSI_ACCELERATOR_TARGET_OVERRIDE="accel/nvidia/cc90" ( module load EESSI/2023.06 && module load EasyBuild/5 && module load EESSI-extend && python scripts/generate_data_files.py --eessi-version=2023.06 ) & + pid2=$! # then 2025.06 for EB 5 (does not have EB4) + export EESSI_ACCELERATOR_TARGET_OVERRIDE="accel/nvidia/cc90" ( module load EESSI/2025.06 && module load EasyBuild/5 && module load EESSI-extend && python scripts/generate_data_files.py --eessi-version=2025.06 ) & + pid3=$! + wait $pid1 || fail=1 + wait $pid2 || fail=2 + wait $pid3 || fail=3 + if [ $fail -ne 0 ]; then + echo "One or more jobs failed (at least job $fail)" + exit 1 + fi # Merge all these results together - wait python scripts/merge_data_files.py out.yaml eessi*.yaml mv out.yaml docs/data/eessi_software_metadata.yaml # Generate json data files and markdown index/description for them diff --git a/scripts/process_eessi_software_metadata.py b/scripts/process_eessi_software_metadata.py index dfe23d2..e2042a2 100644 --- a/scripts/process_eessi_software_metadata.py +++ b/scripts/process_eessi_software_metadata.py @@ -103,7 +103,8 @@ def get_software_information_by_filename(file_metadata, original_path=None, tool accel_substituted_modulefile = substituted_modulefile.replace(detected_accel_arch, accel_arch) found = subprocess.run(["grep", "-q", accel_substituted_modulefile, substituted_spider_cache]).returncode == 0 if found: - base_version_dict["gpu_arch"][arch].append(accel_arch) + # Let's not include the "accel/" part of the accel_arch + base_version_dict["gpu_arch"][arch].append(accel_arch.replace("accel/", "", 1)) else: print(f"No module {accel_substituted_modulefile}...not adding software for architecture {arch}/{accel_arch}") continue