From 65e4c36a790e3bdda73807f7baa393077a195d4a Mon Sep 17 00:00:00 2001 From: Caspar van Leeuwen Date: Mon, 13 Jan 2025 18:04:12 +0100 Subject: [PATCH 01/17] Replace the use of a ReFrame template config file for a manually created one. This means the user deploying a bot to build for software-layer will have to create those ReFrame config files and set the RFM_CONFIG_FILES environment variable in the session running the bot app --- reframe_config_bot.py.tmpl | 57 ---------------------- test_suite.sh | 99 ++++++++++++++++++++++---------------- 2 files changed, 58 insertions(+), 98 deletions(-) delete mode 100644 reframe_config_bot.py.tmpl diff --git a/reframe_config_bot.py.tmpl b/reframe_config_bot.py.tmpl deleted file mode 100644 index 323aafd5ec..0000000000 --- a/reframe_config_bot.py.tmpl +++ /dev/null @@ -1,57 +0,0 @@ -# WARNING: this file is intended as template and the __X__ template variables need to be replaced -# before it can act as a configuration file -# Once replaced, this is a config file for running tests after the build phase, by the bot - -from eessi.testsuite.common_config import common_logging_config -from eessi.testsuite.constants import * # noqa: F403 - - -site_configuration = { - 'systems': [ - { - 'name': 'BotBuildTests', - 'descr': 'Software-layer bot', - 'hostnames': ['.*'], - 'modules_system': 'lmod', - 'partitions': [ - { - 'name': '__RFM_PARTITION__', - 'scheduler': 'local', - 'launcher': 'mpirun', - 'environs': ['default'], - 'features': [ - FEATURES[CPU] - ] + list(SCALES.keys()), - 'resources': [ - { - 'name': 'memory', - 'options': ['--mem={size}'], - } - ], - 'extras': { - # Make sure to round down, otherwise a job might ask for more mem than is available - # per node - 'mem_per_node': __MEM_PER_NODE__, - }, - 'max_jobs': 1 - } - ] - } - ], - 'environments': [ - { - 'name': 'default', - 'cc': 'cc', - 'cxx': '', - 'ftn': '' - } - ], - 'general': [ - { - 'purge_environment': True, - 'resolve_module_conflicts': False, # avoid loading the module before submitting the job - 'remote_detect': True, - } - ], - 'logging': common_logging_config(), -} diff --git a/test_suite.sh b/test_suite.sh index 1f0b91c477..a337ce48b6 100755 --- a/test_suite.sh +++ b/test_suite.sh @@ -132,56 +132,73 @@ else fi # Configure ReFrame, see https://www.eessi.io/docs/test-suite/installation-configuration -export RFM_CONFIG_FILES=$TOPDIR/reframe_config_bot.py -export RFM_CONFIG_FILE_TEMPLATE=$TOPDIR/reframe_config_bot.py.tmpl +# RFM_CONFIG_FILES _has_ to be set by the site hosting the bot, so that it knows where to find the ReFrame +# config file that matches the bot config. See https://gitlab.com/eessi/support/-/issues/114#note_2293660921 +if [ -z "$RFM_CONFIG_FILES" ]; then + err_msg = "Please set RFM_CONFIG_FILES in the environment of this bot instance to point to a valid" + err_msg = "${err_msg} ReFrame configuration file that matches the bot config." + err_msg = "${err_msg} For more information, see https://gitlab.com/eessi/support/-/issues/114#note_2293660921" + fatal_error "${err_msg}" +fi export RFM_CHECK_SEARCH_PATH=$TESTSUITEPREFIX/eessi/testsuite/tests export RFM_CHECK_SEARCH_RECURSIVE=1 export RFM_PREFIX=$PWD/reframe_runs +# Get the correct partition name +REFRAME_PARTITION_NAME=${EESSI_SOFTWARE_SUBDIR//\//_} +if [ ! -z "$EESSI_ACCELERATOR_TARGET" ]; then + REFRAME_PARTITION_NAME=${REFRAME_PARTITION_NAME}_${EESSI_ACCELERATOR_TARGET//\//_} +fi +echo "Constructed partition name based on EESSI_SOFTWARE_SUBDIR and EESSI_ACCELERATOR_TARGET: ${REFRAME_PARTITION_NAME}" + +# Set the reframe system name, including partition +export RFM_SYSTEM="BotBuildTests:${REFRAME_PARTITION_NAME}" + echo "Configured reframe with the following environment variables:" env | grep "RFM_" -# The /sys inside the container is not the same as the /sys of the host -# We want to extract the memory limit from the cgroup on the host (which is typically set by SLURM). -# Thus, bot/test.sh bind-mounts the host's /sys/fs/cgroup into /hostsys/fs/cgroup -# and that's the prefix we use to extract the memory limit from -cgroup_v1_mem_limit="/hostsys/fs/cgroup/memory/$( Date: Thu, 16 Jan 2025 10:49:59 +0100 Subject: [PATCH 02/17] Make the ReFrame args configurable through environment in which the bot instance runs. --- test_suite.sh | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/test_suite.sh b/test_suite.sh index a337ce48b6..d587e5a626 100755 --- a/test_suite.sh +++ b/test_suite.sh @@ -234,7 +234,18 @@ else fatal_error "Failed to extract names of tests to run: ${REFRAME_NAME_ARGS}" exit ${test_selection_exit_code} fi -export REFRAME_ARGS="--tag CI --tag 1_node --nocolor ${REFRAME_NAME_ARGS}" +# Allow people deploying the bot to overrwide this +if [ -z "$REFRAME_SCALE_TAG" ]; then + REFRAME_SCALE_TAGS="--tag 1_node" +fi +if [ -z "$REFRAME_CI_TAG" ]; then + REFRAME_CI_TAG="--tag CI" +fi +# Allow bot-deployers to add additional args through the environment +if [ -z "$REFRAME_ADDITIONAL_ARGS" ]; then + REFRAME_ADDITIONAL_ARGS="" +fi +export REFRAME_ARGS="${REFRAME_CI_TAG} ${REFRAME_SCALE_TAG} ${REFRAME_ADDITIONAL_ARGS} --nocolor ${REFRAME_NAME_ARGS}" # List the tests we want to run echo "Listing tests: reframe ${REFRAME_ARGS} --list" From 5fc7332110c3be11efa499f00ae19a1061d59231 Mon Sep 17 00:00:00 2001 From: Caspar van Leeuwen <33718780+casparvl@users.noreply.github.com> Date: Tue, 21 Jan 2025 03:03:29 +0100 Subject: [PATCH 03/17] Apply suggestions from code review Co-authored-by: Lara Ramona Peeters <49882639+laraPPr@users.noreply.github.com> --- test_suite.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/test_suite.sh b/test_suite.sh index d587e5a626..79986d9188 100755 --- a/test_suite.sh +++ b/test_suite.sh @@ -135,9 +135,9 @@ fi # RFM_CONFIG_FILES _has_ to be set by the site hosting the bot, so that it knows where to find the ReFrame # config file that matches the bot config. See https://gitlab.com/eessi/support/-/issues/114#note_2293660921 if [ -z "$RFM_CONFIG_FILES" ]; then - err_msg = "Please set RFM_CONFIG_FILES in the environment of this bot instance to point to a valid" - err_msg = "${err_msg} ReFrame configuration file that matches the bot config." - err_msg = "${err_msg} For more information, see https://gitlab.com/eessi/support/-/issues/114#note_2293660921" + err_msg="Please set RFM_CONFIG_FILES in the environment of this bot instance to point to a valid" + err_msg="${err_msg} ReFrame configuration file that matches the bot config." + err_msg="${err_msg} For more information, see https://gitlab.com/eessi/support/-/issues/114#note_2293660921" fatal_error "${err_msg}" fi export RFM_CHECK_SEARCH_PATH=$TESTSUITEPREFIX/eessi/testsuite/tests @@ -236,7 +236,7 @@ else fi # Allow people deploying the bot to overrwide this if [ -z "$REFRAME_SCALE_TAG" ]; then - REFRAME_SCALE_TAGS="--tag 1_node" + REFRAME_SCALE_TAG="--tag 1_node" fi if [ -z "$REFRAME_CI_TAG" ]; then REFRAME_CI_TAG="--tag CI" From ebe999ff58e375b7b4c6e920238508f5ca9416b7 Mon Sep 17 00:00:00 2001 From: Caspar van Leeuwen Date: Tue, 21 Jan 2025 03:21:31 +0100 Subject: [PATCH 04/17] Make sure the EESSI_ACCELERATOR_TARGET is also set for the test step, as we need it to append the right path to the MODULEPATH for the test_suite.sh --- bot/test.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/bot/test.sh b/bot/test.sh index 4205ea8564..597c277292 100755 --- a/bot/test.sh +++ b/bot/test.sh @@ -172,6 +172,10 @@ EESSI_SOFTWARE_SUBDIR_OVERRIDE=${EESSI_SOFTWARE_SUBDIR_OVERRIDE:-${CPU_TARGET}} export EESSI_SOFTWARE_SUBDIR_OVERRIDE echo "bot/test.sh: EESSI_SOFTWARE_SUBDIR_OVERRIDE='${EESSI_SOFTWARE_SUBDIR_OVERRIDE}'" +# determine accelerator target (if any) from .architecture in ${JOB_CFG_FILE} +export EESSI_ACCELERATOR_TARGET=$(cfg_get_value "architecture" "accelerator") +echo "bot/test.sh: EESSI_ACCELERATOR_TARGET='${EESSI_ACCELERATOR_TARGET}'" + # get EESSI_OS_TYPE from .architecture.os_type in ${JOB_CFG_FILE} (default: linux) EESSI_OS_TYPE=$(cfg_get_value "architecture" "os_type") export EESSI_OS_TYPE=${EESSI_OS_TYPE:-linux} From 1462d25d6d408b53a7a9ff0afa977d1addfb1ac6 Mon Sep 17 00:00:00 2001 From: Caspar van Leeuwen Date: Tue, 28 Jan 2025 18:12:03 +0100 Subject: [PATCH 05/17] Add BCFTools so that we have SOMETHING to build in this PR --- .../software.eessi.io/2023.06/eessi-2023.06-eb-4.9.4-2023b.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.4-2023b.yml b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.4-2023b.yml index ee161b8b9c..5664a67e8b 100644 --- a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.4-2023b.yml +++ b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.4-2023b.yml @@ -25,3 +25,4 @@ easyconfigs: options: # see https://github.com/easybuilders/easybuild-easyconfigs/pull/21915 from-commit: 58f16c0caf8c5494c68e9eda8cbf19e9145d3cfa + - BCFtools-1.19-GCC-13.2.0.eb From 673861b983c02f01dcf851bd390a0f7d49163d43 Mon Sep 17 00:00:00 2001 From: Caspar van Leeuwen Date: Tue, 28 Jan 2025 18:30:38 +0100 Subject: [PATCH 06/17] Add explicit path to reframe config file for AWS bot for testing --- test_suite.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/test_suite.sh b/test_suite.sh index 79986d9188..0b32b7fbaa 100755 --- a/test_suite.sh +++ b/test_suite.sh @@ -131,6 +131,9 @@ else fatal_error "Failed to import ${testsuite_import}" fi +# WARNING: REMOVE BEFORE MERGING, THIS IS JUST TO TEST WITH THE AWS BOT: +export RFM_CONFIG_FILES="$HOME/example_reframe_config.py" + # Configure ReFrame, see https://www.eessi.io/docs/test-suite/installation-configuration # RFM_CONFIG_FILES _has_ to be set by the site hosting the bot, so that it knows where to find the ReFrame # config file that matches the bot config. See https://gitlab.com/eessi/support/-/issues/114#note_2293660921 From 189cc79ac2f0f3b621d1f56a759909374fec00ce Mon Sep 17 00:00:00 2001 From: Caspar van Leeuwen Date: Tue, 28 Jan 2025 18:39:04 +0100 Subject: [PATCH 07/17] /home/casparl gets set to something else, so lets try this --- test_suite.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test_suite.sh b/test_suite.sh index 0b32b7fbaa..8048b3fa2f 100755 --- a/test_suite.sh +++ b/test_suite.sh @@ -132,7 +132,7 @@ else fi # WARNING: REMOVE BEFORE MERGING, THIS IS JUST TO TEST WITH THE AWS BOT: -export RFM_CONFIG_FILES="$HOME/example_reframe_config.py" +export RFM_CONFIG_FILES="/home/$USER/example_reframe_config.py" # Configure ReFrame, see https://www.eessi.io/docs/test-suite/installation-configuration # RFM_CONFIG_FILES _has_ to be set by the site hosting the bot, so that it knows where to find the ReFrame From d93dee52db8b35645470dd87e908c5c1f3502af2 Mon Sep 17 00:00:00 2001 From: Caspar van Leeuwen Date: Tue, 28 Jan 2025 19:25:06 +0100 Subject: [PATCH 08/17] This needs to be a path that is actually accessible in the container. This dir is the shared dir for bot jobs, so should work --- test_suite.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test_suite.sh b/test_suite.sh index 8048b3fa2f..6113447729 100755 --- a/test_suite.sh +++ b/test_suite.sh @@ -132,7 +132,7 @@ else fi # WARNING: REMOVE BEFORE MERGING, THIS IS JUST TO TEST WITH THE AWS BOT: -export RFM_CONFIG_FILES="/home/$USER/example_reframe_config.py" +export RFM_CONFIG_FILES="/project/def-users/$user/shared/example_reframe_config.py" # Configure ReFrame, see https://www.eessi.io/docs/test-suite/installation-configuration # RFM_CONFIG_FILES _has_ to be set by the site hosting the bot, so that it knows where to find the ReFrame From 7b04794cd14ac9bb960776b7e0f7acbb54594712 Mon Sep 17 00:00:00 2001 From: Caspar van Leeuwen Date: Tue, 28 Jan 2025 19:35:52 +0100 Subject: [PATCH 09/17] Needs to be caps, of course --- test_suite.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test_suite.sh b/test_suite.sh index 6113447729..a0f5ccc32a 100755 --- a/test_suite.sh +++ b/test_suite.sh @@ -132,7 +132,7 @@ else fi # WARNING: REMOVE BEFORE MERGING, THIS IS JUST TO TEST WITH THE AWS BOT: -export RFM_CONFIG_FILES="/project/def-users/$user/shared/example_reframe_config.py" +export RFM_CONFIG_FILES="/project/def-users/$USER/shared/example_reframe_config.py" # Configure ReFrame, see https://www.eessi.io/docs/test-suite/installation-configuration # RFM_CONFIG_FILES _has_ to be set by the site hosting the bot, so that it knows where to find the ReFrame From cc637e8b3387f89da21a058f901e72d0ca41fc53 Mon Sep 17 00:00:00 2001 From: Caspar van Leeuwen Date: Tue, 28 Jan 2025 19:57:15 +0100 Subject: [PATCH 10/17] Allow using the envrionemn t variable if it is set, so Lara can test --- test_suite.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/test_suite.sh b/test_suite.sh index a0f5ccc32a..fd49409b9b 100755 --- a/test_suite.sh +++ b/test_suite.sh @@ -131,13 +131,14 @@ else fatal_error "Failed to import ${testsuite_import}" fi -# WARNING: REMOVE BEFORE MERGING, THIS IS JUST TO TEST WITH THE AWS BOT: -export RFM_CONFIG_FILES="/project/def-users/$USER/shared/example_reframe_config.py" # Configure ReFrame, see https://www.eessi.io/docs/test-suite/installation-configuration # RFM_CONFIG_FILES _has_ to be set by the site hosting the bot, so that it knows where to find the ReFrame # config file that matches the bot config. See https://gitlab.com/eessi/support/-/issues/114#note_2293660921 if [ -z "$RFM_CONFIG_FILES" ]; then + # WARNING: REMOVE BEFORE MERGING, THIS IS JUST TO TEST WITH THE AWS BOT: + export RFM_CONFIG_FILES="/project/def-users/$USER/shared/example_reframe_config.py" + err_msg="Please set RFM_CONFIG_FILES in the environment of this bot instance to point to a valid" err_msg="${err_msg} ReFrame configuration file that matches the bot config." err_msg="${err_msg} For more information, see https://gitlab.com/eessi/support/-/issues/114#note_2293660921" From 7b9c90c2e16c898d558f016c707f421a69eadaff Mon Sep 17 00:00:00 2001 From: Caspar van Leeuwen Date: Tue, 28 Jan 2025 21:09:31 +0100 Subject: [PATCH 11/17] Look for bot config in the SHARED_FS_PATH by default --- test_suite.sh | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/test_suite.sh b/test_suite.sh index fd49409b9b..916a6affa1 100755 --- a/test_suite.sh +++ b/test_suite.sh @@ -136,13 +136,19 @@ fi # RFM_CONFIG_FILES _has_ to be set by the site hosting the bot, so that it knows where to find the ReFrame # config file that matches the bot config. See https://gitlab.com/eessi/support/-/issues/114#note_2293660921 if [ -z "$RFM_CONFIG_FILES" ]; then - # WARNING: REMOVE BEFORE MERGING, THIS IS JUST TO TEST WITH THE AWS BOT: - export RFM_CONFIG_FILES="/project/def-users/$USER/shared/example_reframe_config.py" - - err_msg="Please set RFM_CONFIG_FILES in the environment of this bot instance to point to a valid" - err_msg="${err_msg} ReFrame configuration file that matches the bot config." - err_msg="${err_msg} For more information, see https://gitlab.com/eessi/support/-/issues/114#note_2293660921" - fatal_error "${err_msg}" + if [ -z "${SHARED_FS_PATH}" ]; then + fatal_error "SHARED_FS_PATH was expected, but was not set" + fi + # Try to find a config file at $SHARED_FS_PATH/reframe_config.py + export RFM_CONFIG_FILES="${SHARED_FS_PATH}/reframe_config.py" + if [ ! -f "${RFM_CONFIG_FILES}" ]; then + # If we haven't found the ReFrame config, print an informative error + err_msg="Please put a ReFrame configuration file in ${SHARED_FS_PATH}/reframe_config.py" + err_msg="${err_msg} or set RFM_CONFIG_FILES in the environment of this bot instance to point to a valid" + err_msg="${err_msg} ReFrame configuration file that matches the bot config." + err_msg="${err_msg} For more information, see https://gitlab.com/eessi/support/-/issues/114#note_2293660921" + fatal_error "${err_msg}" + fi fi export RFM_CHECK_SEARCH_PATH=$TESTSUITEPREFIX/eessi/testsuite/tests export RFM_CHECK_SEARCH_RECURSIVE=1 From b0aaed2b2d782adb9832fd7e18c7ef6380e45362 Mon Sep 17 00:00:00 2001 From: Caspar van Leeuwen Date: Tue, 28 Jan 2025 21:21:36 +0100 Subject: [PATCH 12/17] export SHARED_FS_PATH so that it is available to --- bot/test.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bot/test.sh b/bot/test.sh index 597c277292..6461df2d4a 100755 --- a/bot/test.sh +++ b/bot/test.sh @@ -79,7 +79,7 @@ fi # check if path to directory on shared filesystem is specified, # and use it as location for source tarballs used by EasyBuild if so -SHARED_FS_PATH=$(cfg_get_value "site_config" "shared_fs_path") +export SHARED_FS_PATH=$(cfg_get_value "site_config" "shared_fs_path") echo "bot/test.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 if [[ ! -z ${SHARED_FS_PATH} ]]; then From 28abaf6408fac34f8c7b57006f2c4ee223e10110 Mon Sep 17 00:00:00 2001 From: Caspar van Leeuwen Date: Tue, 28 Jan 2025 21:26:43 +0100 Subject: [PATCH 13/17] Explicitely pass shared-fs-path as argument to the test_suite.sh --- bot/test.sh | 5 ++++- test_suite.sh | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/bot/test.sh b/bot/test.sh index 6461df2d4a..8f8bc9f82a 100755 --- a/bot/test.sh +++ b/bot/test.sh @@ -79,7 +79,7 @@ fi # check if path to directory on shared filesystem is specified, # and use it as location for source tarballs used by EasyBuild if so -export SHARED_FS_PATH=$(cfg_get_value "site_config" "shared_fs_path") +SHARED_FS_PATH=$(cfg_get_value "site_config" "shared_fs_path") echo "bot/test.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 if [[ ! -z ${SHARED_FS_PATH} ]]; then @@ -223,6 +223,9 @@ declare -a TEST_SUITE_ARGS=() if [[ ${EESSI_SOFTWARE_SUBDIR_OVERRIDE} =~ .*/generic$ ]]; then TEST_SUITE_ARGS+=("--generic") fi +if [[ ${SHARED_FS_PATH} ]]; then + TEST_SUITE_ARGS+=("--shared-fs-path ${SHARED_FS_PATH}") +fi # [[ ! -z ${BUILD_LOGS_DIR} ]] && TEST_SUITE_ARGS+=("--build-logs-dir" "${BUILD_LOGS_DIR}") # [[ ! -z ${SHARED_FS_PATH} ]] && TEST_SUITE_ARGS+=("--shared-fs-path" "${SHARED_FS_PATH}") diff --git a/test_suite.sh b/test_suite.sh index 916a6affa1..227ba8e218 100755 --- a/test_suite.sh +++ b/test_suite.sh @@ -136,8 +136,8 @@ fi # RFM_CONFIG_FILES _has_ to be set by the site hosting the bot, so that it knows where to find the ReFrame # config file that matches the bot config. See https://gitlab.com/eessi/support/-/issues/114#note_2293660921 if [ -z "$RFM_CONFIG_FILES" ]; then - if [ -z "${SHARED_FS_PATH}" ]; then - fatal_error "SHARED_FS_PATH was expected, but was not set" + if [ -z "${shared_fs_path}" ]; then + fatal_error "Environment variable 'shared_fs_path' was expected, but was not set" fi # Try to find a config file at $SHARED_FS_PATH/reframe_config.py export RFM_CONFIG_FILES="${SHARED_FS_PATH}/reframe_config.py" From 5ca5a76dcc112970029bb40922be6cbff5e3efa9 Mon Sep 17 00:00:00 2001 From: Caspar van Leeuwen Date: Tue, 28 Jan 2025 21:29:03 +0100 Subject: [PATCH 14/17] Make all shared_fs_path env vars lower case --- test_suite.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test_suite.sh b/test_suite.sh index 227ba8e218..e7cae2f965 100755 --- a/test_suite.sh +++ b/test_suite.sh @@ -139,11 +139,11 @@ if [ -z "$RFM_CONFIG_FILES" ]; then if [ -z "${shared_fs_path}" ]; then fatal_error "Environment variable 'shared_fs_path' was expected, but was not set" fi - # Try to find a config file at $SHARED_FS_PATH/reframe_config.py - export RFM_CONFIG_FILES="${SHARED_FS_PATH}/reframe_config.py" + # Try to find a config file at $shared_fs_path/reframe_config.py + export RFM_CONFIG_FILES="${shared_fs_path}/reframe_config.py" if [ ! -f "${RFM_CONFIG_FILES}" ]; then # If we haven't found the ReFrame config, print an informative error - err_msg="Please put a ReFrame configuration file in ${SHARED_FS_PATH}/reframe_config.py" + err_msg="Please put a ReFrame configuration file in ${shared_fs_path}/reframe_config.py" err_msg="${err_msg} or set RFM_CONFIG_FILES in the environment of this bot instance to point to a valid" err_msg="${err_msg} ReFrame configuration file that matches the bot config." err_msg="${err_msg} For more information, see https://gitlab.com/eessi/support/-/issues/114#note_2293660921" From 99c5f88c8557609b7684245f2de042f437fe7f3b Mon Sep 17 00:00:00 2001 From: Caspar van Leeuwen Date: Tue, 28 Jan 2025 21:44:05 +0100 Subject: [PATCH 15/17] Make this two separate strings, so that they are two separate arguments (in a shell sense) --- bot/test.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bot/test.sh b/bot/test.sh index 8f8bc9f82a..464c4817a9 100755 --- a/bot/test.sh +++ b/bot/test.sh @@ -224,7 +224,7 @@ if [[ ${EESSI_SOFTWARE_SUBDIR_OVERRIDE} =~ .*/generic$ ]]; then TEST_SUITE_ARGS+=("--generic") fi if [[ ${SHARED_FS_PATH} ]]; then - TEST_SUITE_ARGS+=("--shared-fs-path ${SHARED_FS_PATH}") + TEST_SUITE_ARGS+=("--shared-fs-path" "${SHARED_FS_PATH}") fi # [[ ! -z ${BUILD_LOGS_DIR} ]] && TEST_SUITE_ARGS+=("--build-logs-dir" "${BUILD_LOGS_DIR}") # [[ ! -z ${SHARED_FS_PATH} ]] && TEST_SUITE_ARGS+=("--shared-fs-path" "${SHARED_FS_PATH}") From 61d4617c11d9cdee11cae23c049da4d44837e85a Mon Sep 17 00:00:00 2001 From: Caspar van Leeuwen Date: Wed, 29 Jan 2025 00:05:55 +0100 Subject: [PATCH 16/17] Remove BCFtools from this PR, it was just meant to demonstrate the functionality of the test step --- .../software.eessi.io/2023.06/eessi-2023.06-eb-4.9.4-2023b.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.4-2023b.yml b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.4-2023b.yml index 5664a67e8b..ee161b8b9c 100644 --- a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.4-2023b.yml +++ b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.4-2023b.yml @@ -25,4 +25,3 @@ easyconfigs: options: # see https://github.com/easybuilders/easybuild-easyconfigs/pull/21915 from-commit: 58f16c0caf8c5494c68e9eda8cbf19e9145d3cfa - - BCFtools-1.19-GCC-13.2.0.eb From 896f2d4590ef62f5dd96d7b698725c19ed7b39d8 Mon Sep 17 00:00:00 2001 From: Caspar van Leeuwen Date: Wed, 29 Jan 2025 00:08:46 +0100 Subject: [PATCH 17/17] Removed white line and comments --- test_suite.sh | 41 ----------------------------------------- 1 file changed, 41 deletions(-) diff --git a/test_suite.sh b/test_suite.sh index e7cae2f965..4121a37c2e 100755 --- a/test_suite.sh +++ b/test_suite.sh @@ -131,7 +131,6 @@ else fatal_error "Failed to import ${testsuite_import}" fi - # Configure ReFrame, see https://www.eessi.io/docs/test-suite/installation-configuration # RFM_CONFIG_FILES _has_ to be set by the site hosting the bot, so that it knows where to find the ReFrame # config file that matches the bot config. See https://gitlab.com/eessi/support/-/issues/114#note_2293660921 @@ -167,46 +166,6 @@ export RFM_SYSTEM="BotBuildTests:${REFRAME_PARTITION_NAME}" echo "Configured reframe with the following environment variables:" env | grep "RFM_" -# THIS WHOLE BLOCK SHOULD NO LONGER BE NEEDED IF WE HAVE SITE-SPECIFIC CONFIG FILES -# # The /sys inside the container is not the same as the /sys of the host -# # We want to extract the memory limit from the cgroup on the host (which is typically set by SLURM). -# # Thus, bot/test.sh bind-mounts the host's /sys/fs/cgroup into /hostsys/fs/cgroup -# # and that's the prefix we use to extract the memory limit from -# cgroup_v1_mem_limit="/hostsys/fs/cgroup/memory/$(