diff options
author | Richard Samuels <richard.samuels@mongodb.com> | 2020-05-26 17:02:44 -0400 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2020-06-01 17:06:46 +0000 |
commit | ae39837dc5bd5963172bd65ec0227c29cfd29042 (patch) | |
tree | 6cf1553f7baf8c1cb2acde47f4968014b96088b7 /buildscripts/evergreen_gen_multiversion_tests.py | |
parent | d74e83b8ab66d4584d4ab2082ee9c123f35dbfd2 (diff) | |
download | mongo-ae39837dc5bd5963172bd65ec0227c29cfd29042.tar.gz |
SERVER-48188 Allow multiversion *_gen tasks to be rerun without fail
Diffstat (limited to 'buildscripts/evergreen_gen_multiversion_tests.py')
-rwxr-xr-x | buildscripts/evergreen_gen_multiversion_tests.py | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/buildscripts/evergreen_gen_multiversion_tests.py b/buildscripts/evergreen_gen_multiversion_tests.py index f66e908a68a..8687cc617a9 100755 --- a/buildscripts/evergreen_gen_multiversion_tests.py +++ b/buildscripts/evergreen_gen_multiversion_tests.py @@ -28,6 +28,8 @@ import buildscripts.evergreen_generate_resmoke_tasks as generate_resmoke from buildscripts.evergreen_generate_resmoke_tasks import Suite, ConfigOptions import buildscripts.evergreen_gen_fuzzer_tests as gen_fuzzer +# pylint: disable=len-as-condition + LOGGER = structlog.getLogger(__name__) REQUIRED_CONFIG_KEYS = { @@ -361,6 +363,11 @@ class EvergreenMultiversionConfigGenerator(object): shrub_project.add_build_variant(build_variant) write_file_to_dir(CONFIG_DIR, f"{self.task}.json", shrub_project.json()) + if len(os.listdir(CONFIG_DIR)) == 0: + raise RuntimeError( + f"Multiversion suite generator unexpectedly yielded no configuration in '{CONFIG_DIR}'" + ) + @click.group() def main(): @@ -433,6 +440,11 @@ def generate_exclude_yaml(suite: str, task_path_suffix: str, is_generated_suite: suite_yaml_dict[file_name] = generate_resmoke.generate_resmoke_suite_config( suite_config, file_name, excludes=list(files_to_exclude)) else: + if not os.path.exists(CONFIG_DIR) or len(os.listdir(CONFIG_DIR)) == 0: + LOGGER.info( + f"No configuration files exist in '{CONFIG_DIR}'. Skipping exclude file generation") + return + # We expect the generated suites to already have been generated in the generated config # directory. suites_dir = CONFIG_DIR |