@@ -9,6 +9,7 @@ use crate::{
99 CONTINUE_ON_FAILURE , FUZZER_PARAMETERS , IDLE_TIMEOUT , LARGE_DISTRO_EXPANSION , MULTIVERSION ,
1010 NO_MULTIVERSION_GENERATE_TASKS , NPM_COMMAND , NUM_FUZZER_FILES , NUM_FUZZER_TASKS ,
1111 REPEAT_SUITES , RESMOKE_ARGS , RESMOKE_JOBS_MAX , SHOULD_SHUFFLE_TESTS , USE_LARGE_DISTRO ,
12+ USE_XLARGE_DISTRO , XLARGE_DISTRO_EXPANSION ,
1213 } ,
1314 generate_sub_tasks_config:: GenerateSubTasksConfig ,
1415 task_types:: {
@@ -235,6 +236,11 @@ impl ConfigExtractionService for ConfigExtractionServiceImpl {
235236 USE_LARGE_DISTRO ,
236237 false ,
237238 ) ?,
239+ use_xlarge_distro : self . evg_config_utils . lookup_default_param_bool (
240+ task_def,
241+ USE_XLARGE_DISTRO ,
242+ false ,
243+ ) ?,
238244 require_multiversion_setup,
239245 require_multiversion_generate_tasks : require_multiversion_setup
240246 && !no_multiversion_generate_tasks,
@@ -286,9 +292,16 @@ impl ConfigExtractionService for ConfigExtractionServiceImpl {
286292 let large_distro_name = self
287293 . evg_config_utils
288294 . lookup_build_variant_expansion ( LARGE_DISTRO_EXPANSION , build_variant) ;
295+ let xlarge_distro_name = self
296+ . evg_config_utils
297+ . lookup_build_variant_expansion ( XLARGE_DISTRO_EXPANSION , build_variant) ;
289298 let build_variant_name = build_variant. name . as_str ( ) ;
290299
291- if generated_task. use_large_distro ( ) {
300+ if generated_task. use_xlarge_distro ( ) && xlarge_distro_name. is_some ( ) {
301+ return Ok ( xlarge_distro_name) ;
302+ }
303+
304+ if generated_task. use_large_distro ( ) || generated_task. use_xlarge_distro ( ) {
292305 if large_distro_name. is_some ( ) {
293306 return Ok ( large_distro_name) ;
294307 }
@@ -414,6 +427,7 @@ mod tests {
414427 ..Default :: default ( )
415428 } ,
416429 use_large_distro : * value,
430+ use_xlarge_distro : false ,
417431 } )
418432 . collect ( ) ,
419433 } ;
@@ -444,6 +458,7 @@ mod tests {
444458 ..Default :: default ( )
445459 } ,
446460 use_large_distro: true ,
461+ use_xlarge_distro: false ,
447462 } ] ,
448463 } ;
449464 let build_variant = BuildVariant {
@@ -474,6 +489,7 @@ mod tests {
474489 ..Default :: default ( )
475490 } ,
476491 use_large_distro: true ,
492+ use_xlarge_distro: false ,
477493 } ] ,
478494 } ;
479495 let build_variant = BuildVariant {
0 commit comments