diff options
author | Robert Guo <robert.guo@mongodb.com> | 2021-10-13 23:51:06 -0400 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2021-10-14 14:51:05 +0000 |
commit | 93079f2bbaa7221f167abb3bdebe8dea4ec080c9 (patch) | |
tree | 4f3a4c5f29d9b283973be11460a472363fd8b142 /buildscripts | |
parent | 74f672aee4380f63ff8053ffe18f1c50fd7ce83c (diff) | |
download | mongo-93079f2bbaa7221f167abb3bdebe8dea4ec080c9.tar.gz |
SERVER-60683 allow options to be forwarded to evergreen_gen_build_variant.py
Diffstat (limited to 'buildscripts')
-rw-r--r-- | buildscripts/evergreen_gen_build_variant.py | 10 | ||||
-rw-r--r-- | buildscripts/task_generation/resmoke_proxy.py | 4 |
2 files changed, 9 insertions, 5 deletions
diff --git a/buildscripts/evergreen_gen_build_variant.py b/buildscripts/evergreen_gen_build_variant.py index 972e40a8ea3..c64bd5538b3 100644 --- a/buildscripts/evergreen_gen_build_variant.py +++ b/buildscripts/evergreen_gen_build_variant.py @@ -3,7 +3,7 @@ from concurrent.futures import ThreadPoolExecutor as Executor from datetime import datetime, timedelta from time import perf_counter -from typing import Optional, Any, Set +from typing import Optional, Any, Set, Tuple import click import inject @@ -19,6 +19,7 @@ from buildscripts.task_generation.constants import MAX_WORKERS, LOOKBACK_DURATIO from buildscripts.task_generation.evg_config_builder import EvgConfigBuilder from buildscripts.task_generation.gen_config import GenerationConfiguration from buildscripts.task_generation.gen_task_validation import GenTaskValidationService +from buildscripts.task_generation.resmoke_proxy import ResmokeProxyService from buildscripts.task_generation.suite_split import SuiteSplitConfig, SuiteSplitParameters from buildscripts.task_generation.suite_split_strategies import SplitStrategy, FallbackStrategy, \ greedy_division, round_robin_fallback @@ -340,7 +341,7 @@ class GenerateBuildVariantOrchestrator: return len(results) -@click.command() +@click.command(context_settings=dict(ignore_unknown_options=True)) @click.option("--expansion-file", type=str, required=True, help="Location of expansions file generated by evergreen.") @click.option("--evg-api-config", type=str, required=True, @@ -349,8 +350,9 @@ class GenerateBuildVariantOrchestrator: help="Location of Evergreen project configuration.") @click.option("--output-file", type=str, help="Name of output file to write.") @click.option("--verbose", is_flag=True, default=False, help="Enable verbose logging.") +@click.argument('resmoke_run_args', nargs=-1, type=click.UNPROCESSED) def main(expansion_file: str, evg_api_config: str, evg_project_config: str, output_file: str, - verbose: bool) -> None: + verbose: bool, resmoke_run_args: Tuple[str]) -> None: """ Generate task configuration for a build variant. \f @@ -359,6 +361,7 @@ def main(expansion_file: str, evg_api_config: str, evg_project_config: str, outp :param evg_project_config: Location of file containing evergreen project configuration. :param output_file: Location to write generated configuration to. :param verbose: Should verbose logging be used. + :param resmoke_run_args: Args to forward to `resmoke.py run`. """ enable_logging(verbose) @@ -377,6 +380,7 @@ def main(expansion_file: str, evg_api_config: str, evg_project_config: str, outp binder.bind(EvergreenApi, RetryingEvergreenApi.get_api(config_file=evg_api_config)) binder.bind(EvergreenProjectConfig, parse_evergreen_file(evg_project_config)) binder.bind(GenerationConfiguration, GenerationConfiguration.from_yaml_file()) + binder.bind(ResmokeProxyService, ResmokeProxyService(" ".join(resmoke_run_args))) inject.configure(dependencies) diff --git a/buildscripts/task_generation/resmoke_proxy.py b/buildscripts/task_generation/resmoke_proxy.py index 34a30c0ae02..d9e521a328b 100644 --- a/buildscripts/task_generation/resmoke_proxy.py +++ b/buildscripts/task_generation/resmoke_proxy.py @@ -26,9 +26,9 @@ class ResmokeProxyService: """A service to proxy requests to resmoke.""" @inject.autoparams() - def __init__(self) -> None: + def __init__(self, run_options="") -> None: """Initialize the service.""" - _parser.set_run_options() + _parser.set_run_options(run_options) self._suite_config = _suiteconfig def list_tests(self, suite_name: str) -> List[str]: |