diff options
Diffstat (limited to 'buildscripts/evergreen_gen_build_variant.py')
-rw-r--r-- | buildscripts/evergreen_gen_build_variant.py | 10 |
1 files changed, 7 insertions, 3 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) |