From 94fa4c4bd89fcb0d168dd79c9a369ba1175bd9e5 Mon Sep 17 00:00:00 2001 From: casparvl Date: Tue, 18 Jul 2023 21:24:36 +0000 Subject: [PATCH 1/6] Added foss-2022a --- eessi-2023.06-eb-4.7.2-2022a.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/eessi-2023.06-eb-4.7.2-2022a.yml b/eessi-2023.06-eb-4.7.2-2022a.yml index b8f0cc17bc..0721a93257 100644 --- a/eessi-2023.06-eb-4.7.2-2022a.yml +++ b/eessi-2023.06-eb-4.7.2-2022a.yml @@ -1,2 +1,3 @@ easyconfigs: - GCC-11.3.0 + - foss-2022a From cea6c3b63714e34edca7a39e6fd7ab45ad11e617 Mon Sep 17 00:00:00 2001 From: casparvl Date: Tue, 18 Jul 2023 23:37:33 +0000 Subject: [PATCH 2/6] Added Cmake explicitely, since we need to pass an easyblocks-from-pr --- eessi-2023.06-eb-4.7.2-2022a.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/eessi-2023.06-eb-4.7.2-2022a.yml b/eessi-2023.06-eb-4.7.2-2022a.yml index 6c6e0de3f1..f4a3da0143 100644 --- a/eessi-2023.06-eb-4.7.2-2022a.yml +++ b/eessi-2023.06-eb-4.7.2-2022a.yml @@ -1,4 +1,10 @@ easyconfigs: - GCC-11.3.0 - OpenMPI-4.1.4-GCC-11.3.0.eb - - foss-2022a \ No newline at end of file + - CMake-3.23.1-GCCcore-11.3.0.eb: + options: + include-easyblocks-from-pr: 2248 + - CMake-3.24.3-GCCcore-11.3.0.eb: + options: + include-easyblocks-from-pr: 2248 + - foss-2022a From 978da670c998499a4378850beb67463474c1904c Mon Sep 17 00:00:00 2001 From: Caspar van Leeuwen Date: Tue, 5 Sep 2023 18:16:10 +0200 Subject: [PATCH 3/6] As agreed, ignore test failures for FFTW.MPI test suite --- eb_hooks.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/eb_hooks.py b/eb_hooks.py index 488e53d929..9560d84eff 100644 --- a/eb_hooks.py +++ b/eb_hooks.py @@ -274,6 +274,14 @@ def pre_test_hook_ignore_failing_tests_SciPybundle(self, *args, **kwargs): self.cfg['testopts'] = "|| echo ignoring failing tests" +def pre_test_hook_ignore_failing_tests_FFTWMPI(self, *args, **kwargs): + """ + Pre-test hook for FFTW.MPI: skip failing tests for FFTWMPI 3.3.10 + """ + cpu_target = get_eessi_envvar('EESSI_SOFTWARE_SUBDIR') + if self.name == 'FFTW.MPI' and self.version == '3.3.10' and cpu_target == 'aarch64/neoverse_v1': + self.cfg['testopts'] = "|| echo ignoring failing tests" + PARSE_HOOKS = { 'CGAL': parse_hook_cgal_toolchainopts_precise, 'fontconfig': parse_hook_fontconfig_add_fonts, @@ -295,4 +303,5 @@ def pre_test_hook_ignore_failing_tests_SciPybundle(self, *args, **kwargs): PRE_TEST_HOOKS = { 'SciPy-bundle': pre_test_hook_ignore_failing_tests_SciPybundle, + 'FFTW.MPI': pre_test_hook_ignore_failing_tests_FFTWMPI, } From 0a1ff49d22fa612aa34b4e6e98dce5efe5a89b36 Mon Sep 17 00:00:00 2001 From: Caspar van Leeuwen <33718780+casparvl@users.noreply.github.com> Date: Wed, 6 Sep 2023 14:06:04 +0200 Subject: [PATCH 4/6] Update eb_hooks.py Co-authored-by: Kenneth Hoste --- eb_hooks.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/eb_hooks.py b/eb_hooks.py index 9560d84eff..83bdca4cb5 100644 --- a/eb_hooks.py +++ b/eb_hooks.py @@ -276,7 +276,8 @@ def pre_test_hook_ignore_failing_tests_SciPybundle(self, *args, **kwargs): def pre_test_hook_ignore_failing_tests_FFTWMPI(self, *args, **kwargs): """ - Pre-test hook for FFTW.MPI: skip failing tests for FFTWMPI 3.3.10 + Pre-test hook for FFTW.MPI: skip failing tests for FFTW.MPI 3.3.10 on neoverse_v1 + cfr. https://github.com/EESSI/software-layer/issues/325 """ cpu_target = get_eessi_envvar('EESSI_SOFTWARE_SUBDIR') if self.name == 'FFTW.MPI' and self.version == '3.3.10' and cpu_target == 'aarch64/neoverse_v1': From acf6b94cd301619311a4245c7c38b524baf7e52f Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 26 Sep 2023 20:27:30 +0200 Subject: [PATCH 5/6] install OpenBLAS for foss/2022a via easyconfig PR that adds patch to fix detection of Neoverse V1 CPUs + use EasyBuild v4.8.1 for installing foss/2022a --- .github/workflows/test_eessi.yml | 1 + eessi-2023.06-eb-4.7.2-2022a.yml | 7 ------- eessi-2023.06-eb-4.8.1-2022a.yml | 7 +++++++ 3 files changed, 8 insertions(+), 7 deletions(-) create mode 100644 eessi-2023.06-eb-4.8.1-2022a.yml diff --git a/.github/workflows/test_eessi.yml b/.github/workflows/test_eessi.yml index 1a67ad29ea..abade73d27 100644 --- a/.github/workflows/test_eessi.yml +++ b/.github/workflows/test_eessi.yml @@ -31,6 +31,7 @@ jobs: - eessi-2023.06-eb-4.8.0-2021b.yml - eessi-2023.06-eb-4.8.1-system.yml - eessi-2023.06-eb-4.8.1-2021b.yml + - eessi-2023.06-eb-4.8.1-2022a.yml steps: - name: Check out software-layer repository uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # v3.1.0 diff --git a/eessi-2023.06-eb-4.7.2-2022a.yml b/eessi-2023.06-eb-4.7.2-2022a.yml index f4a3da0143..d40ddff261 100644 --- a/eessi-2023.06-eb-4.7.2-2022a.yml +++ b/eessi-2023.06-eb-4.7.2-2022a.yml @@ -1,10 +1,3 @@ easyconfigs: - GCC-11.3.0 - OpenMPI-4.1.4-GCC-11.3.0.eb - - CMake-3.23.1-GCCcore-11.3.0.eb: - options: - include-easyblocks-from-pr: 2248 - - CMake-3.24.3-GCCcore-11.3.0.eb: - options: - include-easyblocks-from-pr: 2248 - - foss-2022a diff --git a/eessi-2023.06-eb-4.8.1-2022a.yml b/eessi-2023.06-eb-4.8.1-2022a.yml new file mode 100644 index 0000000000..8de4c6169d --- /dev/null +++ b/eessi-2023.06-eb-4.8.1-2022a.yml @@ -0,0 +1,7 @@ +easyconfigs: + - OpenBLAS-0.3.20-GCC-11.3.0: + # use easyconfig that includes patch to fix detection of Neoverse V1 CPUs, + # see https://github.com/easybuilders/easybuild-easyconfigs/pull/18870 + options: + from-pr: 18870 + - foss-2022a From e092e6be82177ab6b2c89cbf2405494c7d3ef28b Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 26 Sep 2023 20:50:43 +0200 Subject: [PATCH 6/6] only create & bind build_logs_dir and shared_fs_path if they are specified --- bot/build.sh | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/bot/build.sh b/bot/build.sh index 1e7aac49c1..cf9d69b65f 100755 --- a/bot/build.sh +++ b/bot/build.sh @@ -57,11 +57,13 @@ echo "bot/build.sh: LOCAL_TMP='${LOCAL_TMP}'" BUILD_LOGS_DIR=$(cfg_get_value "site_config" "build_logs_dir") echo "bot/build.sh: BUILD_LOGS_DIR='${BUILD_LOGS_DIR}'" # if $BUILD_LOGS_DIR is set, add it to $SINGULARITY_BIND so the path is available in the build container -mkdir -p ${BUILD_LOGS_DIR} -if [[ -z ${SINGULARITY_BIND} ]]; then - export SINGULARITY_BIND="${BUILD_LOGS_DIR}" -else - export SINGULARITY_BIND="${SINGULARITY_BIND},${BUILD_LOGS_DIR}" +if [[ ! -z ${BUILD_LOGS_DIR} ]]; then + mkdir -p ${BUILD_LOGS_DIR} + if [[ -z ${SINGULARITY_BIND} ]]; then + export SINGULARITY_BIND="${BUILD_LOGS_DIR}" + else + export SINGULARITY_BIND="${SINGULARITY_BIND},${BUILD_LOGS_DIR}" + fi fi # check if path to directory on shared filesystem is specified, @@ -69,11 +71,13 @@ fi SHARED_FS_PATH=$(cfg_get_value "site_config" "shared_fs_path") echo "bot/build.sh: SHARED_FS_PATH='${SHARED_FS_PATH}'" # if $SHARED_FS_PATH is set, add it to $SINGULARITY_BIND so the path is available in the build container -mkdir -p ${SHARED_FS_PATH} -if [[ -z ${SINGULARITY_BIND} ]]; then - export SINGULARITY_BIND="${SHARED_FS_PATH}" -else - export SINGULARITY_BIND="${SINGULARITY_BIND},${SHARED_FS_PATH}" +if [[ ! -z ${SHARED_FS_PATH} ]]; then + mkdir -p ${SHARED_FS_PATH} + if [[ -z ${SINGULARITY_BIND} ]]; then + export SINGULARITY_BIND="${SHARED_FS_PATH}" + else + export SINGULARITY_BIND="${SINGULARITY_BIND},${SHARED_FS_PATH}" + fi fi SINGULARITY_CACHEDIR=$(cfg_get_value "site_config" "container_cachedir")