Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 15 additions & 1 deletion easybuild/easyblocks/generic/bundle.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@
import easybuild.tools.environment as env
from easybuild.framework.easyblock import EasyBlock
from easybuild.framework.easyconfig import CUSTOM
from easybuild.framework.easyconfig.default import DEFAULT_CONFIG
from easybuild.framework.easyconfig.easyconfig import get_easyblock_class
from easybuild.tools.build_log import EasyBuildError, print_msg
from easybuild.tools.config import build_option
Expand Down Expand Up @@ -124,8 +125,21 @@ def __init__(self, *args, **kwargs):
comp_cfg['name'] = comp_name
comp_cfg['version'] = comp_version

# The copy above may include unexpected settings for common values.
# In particular for a Pythonbundle we have seen a component inheriting
# runtest = True
# which is not a valid value for many easyblocks.
# Reset runtest to the original default, if people want the test step
# they can set it explicitly, in default_component_specs or by the component easyblock
if comp_cfg._config['runtest'] != DEFAULT_CONFIG["runtest"]:
self.log.warning(
"Resetting runtest to default value for component easyblock "
f"(from {comp_cfg._config['runtest']})."
)
comp_cfg._config['runtest'] = DEFAULT_CONFIG["runtest"]

# determine easyblock to use for this component
# - if an easyblock is specified explicitely, that will be used
# - if an easyblock is specified explicitly, that will be used
# - if not, a software-specific easyblock will be considered by get_easyblock_class
# - if no easyblock was found, default_easyblock is considered
comp_easyblock = comp_specs.get('easyblock')
Expand Down