diff options
author | Alexander Neben <alexander.neben@mongodb.com> | 2022-10-31 15:06:38 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2022-10-31 15:37:40 +0000 |
commit | d6606b87b8dd870d0c295b1213febe636c678b6f (patch) | |
tree | 9582bbdc86d8428fa9168803a5d5f8321cff5d49 | |
parent | 77a5f7df727381c62791bb56f009438657c3a1c7 (diff) | |
download | mongo-d6606b87b8dd870d0c295b1213febe636c678b6f.tar.gz |
SERVER-70332 SERVER-70333 Reduced load on our patch builds
-rwxr-xr-x | buildscripts/burn_in_tests.py | 2 | ||||
-rw-r--r-- | buildscripts/tests/util/test_taskname.py | 6 | ||||
-rw-r--r-- | etc/evergreen.yml | 86 | ||||
-rw-r--r-- | etc/evergreen_timeouts.yml | 6 | ||||
-rw-r--r-- | etc/evergreen_yml_components/definitions.yml | 20 | ||||
-rw-r--r-- | etc/evergreen_yml_components/project_and_distro_settings.yml | 4 | ||||
-rw-r--r-- | etc/evergreen_yml_components/variants/ninja.yml | 2 | ||||
-rw-r--r-- | etc/generate_subtasks_config.yml | 2 |
8 files changed, 63 insertions, 65 deletions
diff --git a/buildscripts/burn_in_tests.py b/buildscripts/burn_in_tests.py index a97aa83b2cf..1c1cc6d4c49 100755 --- a/buildscripts/burn_in_tests.py +++ b/buildscripts/burn_in_tests.py @@ -38,7 +38,7 @@ EXTERNAL_LOGGERS = { "urllib3", } -DEFAULT_VARIANT = "enterprise-rhel-80-64-bit-dynamic-required" +DEFAULT_VARIANT = "enterprise-rhel-80-64-bit-dynamic-all-feature-flags-required" ENTERPRISE_MODULE_PATH = "src/mongo/db/modules/enterprise" DEFAULT_REPO_LOCATIONS = [".", f"./{ENTERPRISE_MODULE_PATH}"] REPEAT_SUITES = 2 diff --git a/buildscripts/tests/util/test_taskname.py b/buildscripts/tests/util/test_taskname.py index 7af7eba1242..9357b4d7bed 100644 --- a/buildscripts/tests/util/test_taskname.py +++ b/buildscripts/tests/util/test_taskname.py @@ -28,7 +28,7 @@ class TestRemoveGenSuffix(unittest.TestCase): class TestDetermineTaskBaseName(unittest.TestCase): def test_task_name_with_build_variant_should_strip_bv_and_sub_task_index(self): - bv = "enterprise-rhel-80-64-bit-dynamic-required" + bv = "enterprise-rhel-80-64-bit-dynamic-all-feature-flags-required" task_name = f"auth_23_{bv}" base_task_name = under_test.determine_task_base_name(task_name, bv) @@ -36,7 +36,7 @@ class TestDetermineTaskBaseName(unittest.TestCase): self.assertEqual("auth", base_task_name) def test_task_name_without_build_variant_should_strip_sub_task_index(self): - bv = "enterprise-rhel-80-64-bit-dynamic-required" + bv = "enterprise-rhel-80-64-bit-dynamic-all-feature-flags-required" task_name = "auth_314" base_task_name = under_test.determine_task_base_name(task_name, bv) @@ -44,7 +44,7 @@ class TestDetermineTaskBaseName(unittest.TestCase): self.assertEqual("auth", base_task_name) def test_task_name_without_build_variant_or_subtask_index_should_self(self): - bv = "enterprise-rhel-80-64-bit-dynamic-required" + bv = "enterprise-rhel-80-64-bit-dynamic-all-feature-flags-required" task_name = "auth" base_task_name = under_test.determine_task_base_name(task_name, bv) diff --git a/etc/evergreen.yml b/etc/evergreen.yml index 4a3afa7e8dd..d2ae2b7b23a 100644 --- a/etc/evergreen.yml +++ b/etc/evergreen.yml @@ -906,10 +906,10 @@ buildvariants: - name: server_discovery_and_monitoring_json_test_TG - name: server_selection_json_test_TG -- &enterprise-windows-required-template +- &enterprise-windows-template <<: *windows_compile_variant_dependency - name: &enterprise-windows-required enterprise-windows-required - display_name: "! Enterprise Windows" + name: &enterprise-windows enterprise-windows + display_name: "* Enterprise Windows" cron: "0 */4 * * *" # From the ${project_required_suggested_cron} parameter modules: - enterprise @@ -917,7 +917,7 @@ buildvariants: - windows-vsCurrent-small expansions: &windows_required_expansions compile_variant: *windows_compile_variant_name - burn_in_tests_build_variant: enterprise-windows-required + burn_in_tests_build_variant: enterprise-windows-all-feature-flags-required exe: ".exe" content_type: application/zip python: '/cygdrive/c/python/python37/python.exe' @@ -938,7 +938,6 @@ buildvariants: - name: burn_in_tests_gen - name: audit - name: auth_audit_gen - - name: buildscripts_test - name: causally_consistent_jscore_txns_passthrough distros: - windows-vsCurrent-large @@ -967,16 +966,14 @@ buildvariants: - name: sharding_auth_gen - name: sharding_auth_audit_gen - name: sharding_ese_gen - - name: sharding_opportunistic_secondary_targeting_gen - - name: unittest_shell_hang_analyzer_gen -- <<: *enterprise-windows-required-template +- <<: *enterprise-windows-template name: &enterprise-windows-all-feature-flags-required enterprise-windows-all-feature-flags-required display_name: "! Enterprise Windows (all feature flags)" cron: "0 */4 * * *" # From the ${project_required_suggested_cron} parameter expansions: <<: *windows_required_expansions - burn_in_tests_build_variant: enterprise-windows-required + burn_in_tests_build_variant: enterprise-windows-all-feature-flags-required exe: ".exe" content_type: application/zip python: '/cygdrive/c/python/python37/python.exe' @@ -1004,6 +1001,7 @@ buildvariants: - name: burn_in_tests_gen - name: audit - name: auth_audit_gen + - name: buildscripts_test - name: causally_consistent_jscore_txns_passthrough distros: - windows-vsCurrent-large @@ -1031,6 +1029,8 @@ buildvariants: - name: sharding_auth_gen - name: sharding_auth_audit_gen - name: sharding_ese_gen + - name: sharding_opportunistic_secondary_targeting_gen + - name: unittest_shell_hang_analyzer_gen - name: &enterprise-windows-cxx20-debug-experimental enterprise-windows-cxx20-debug-experimental display_name: "~ Enterprise Windows C++20 DEBUG" @@ -1350,16 +1350,16 @@ buildvariants: # Redhat buildvariants # ########################################### -- &enterprise-rhel-80-64-bit-dynamic-required-template +- &enterprise-rhel-80-64-bit-dynamic-template <<: *linux_x86_dynamic_compile_variant_dependency - name: &enterprise-rhel-80-64-bit-dynamic-required enterprise-rhel-80-64-bit-dynamic-required - display_name: "! Shared Library Enterprise RHEL 8.0" + name: &enterprise-rhel-80-64-bit-dynamic enterprise-rhel-80-64-bit-dynamic + display_name: "* Shared Library Enterprise RHEL 8.0" cron: "0 */4 * * *" # From the ${project_required_suggested_cron} parameter modules: - enterprise run_on: - rhel80-small - expansions: &enterprise-rhel-80-64-bit-dynamic-required-expansions + expansions: &enterprise-rhel-80-64-bit-dynamic-expansions <<: *linux_x86_generic_expansions scons_cache_scope: shared scons_cache_mode: all @@ -1384,18 +1384,11 @@ buildvariants: - name: version_burn_in_gen variant: generate-tasks-for-version tasks: - - name: lint_fuzzer_sanity_patch - - name: test_api_version_compatibility - name: burn_in_tests_gen - - name: check_feature_flag_tags - - name: check_for_todos - name: .aggfuzzer !.feature_flag_guarded - name: .aggregation !.feature_flag_guarded - name: audit - name: .auth - - name: burn_in_tags_gen - - name: buildscripts_test - - name: resmoke_end2end_tests - name: unittest_shell_hang_analyzer_gen - name: .causally_consistent !.sharding - name: .change_streams @@ -1405,17 +1398,6 @@ buildvariants: - name: .concurrency .large !.ubsan !.no_txns !.debug_only distros: - rhel80-medium - - name: config_fuzzer_concurrency - - name: config_fuzzer_simulate_crash_concurrency_replication - distros: - - rhel80-large - - name: config_fuzzer_concurrency_replication - distros: - - rhel80-large - - name: config_fuzzer_jsCore - - name: config_fuzzer_replica_sets_jscore_passthrough - distros: - - rhel80-large - name: disk_wiredtiger - name: .encrypt - name: idl_tests @@ -1429,7 +1411,6 @@ buildvariants: - name: json_schema - name: .jstestfuzz !.flow_control # Flow control jstestfuzz take longer. - name: libunwind_tests - - name: .multiversion_sanity_check - name: mqlrun - name: .multi_shard - name: multi_stmt_txn_jscore_passthrough_with_migration_gen @@ -1466,20 +1447,19 @@ buildvariants: - name: sharding_api_version_jscore_passthrough_gen - name: .sharding .txns - name: .sharding .common - - name: sharding_opportunistic_secondary_targeting_gen - name: .updatefuzzer - name: secondary_reads_passthrough_gen - name: .serverless distros: - rhel80-xlarge -- <<: *enterprise-rhel-80-64-bit-dynamic-required-template +- <<: *enterprise-rhel-80-64-bit-dynamic-template name: &enterprise-rhel-80-64-bit-dynamic-debug-mode enterprise-rhel-80-64-bit-dynamic-debug-mode display_name: "Shared Library Enterprise RHEL 8.0 Debug Mode" cron: "0 4 * * 0" # Run once a week on sunday at 4am stepback: false expansions: - <<: *enterprise-rhel-80-64-bit-dynamic-required-expansions + <<: *enterprise-rhel-80-64-bit-dynamic-expansions compile_variant: *enterprise-rhel-80-64-bit-dynamic-debug-mode compile_flags: >- --ssl @@ -1597,7 +1577,7 @@ buildvariants: - rhel80-small stepback: false expansions: &enterprise-rhel-80-64-bit-dynamic-all-feature-flags-expansions - <<: *enterprise-rhel-80-64-bit-dynamic-required-expansions + <<: *enterprise-rhel-80-64-bit-dynamic-expansions # To force disable feature flags even on the all feature flags variant, please use this file: # buildscripts/resmokeconfig/fully_disabled_feature_flags.yml test_flags: >- @@ -1610,12 +1590,19 @@ buildvariants: - name: cqf_parallel - name: query_golden_classic - name: query_golden_cqf + - name: lint_fuzzer_sanity_patch + - name: test_api_version_compatibility - name: burn_in_tests_gen + - name: check_feature_flag_tags + - name: check_for_todos - name: .aggfuzzer - name: .aggregation - name: aggregation_repeat_queries - name: audit - name: .auth + - name: burn_in_tags_gen + - name: buildscripts_test + - name: resmoke_end2end_tests - name: unittest_shell_hang_analyzer_gen - name: .causally_consistent !.sharding - name: .change_streams @@ -1630,6 +1617,17 @@ buildvariants: - name: .concurrency .large !.ubsan !.no_txns !.debug_only distros: - rhel80-medium + - name: config_fuzzer_concurrency + - name: config_fuzzer_simulate_crash_concurrency_replication + distros: + - rhel80-large + - name: config_fuzzer_concurrency_replication + distros: + - rhel80-large + - name: config_fuzzer_jsCore + - name: config_fuzzer_replica_sets_jscore_passthrough + distros: + - rhel80-large - name: disk_wiredtiger - name: .encrypt - name: feature_flag_multiversion_gen @@ -1643,6 +1641,7 @@ buildvariants: - name: json_schema - name: .jstestfuzz !.flow_control # Flow control jstestfuzz take longer. - name: libunwind_tests + - name: .multiversion_sanity_check - name: mqlrun - name: .multi_shard - name: multi_stmt_txn_jscore_passthrough_with_migration_gen @@ -1682,6 +1681,7 @@ buildvariants: - name: .sharding .common - name: sharded_multi_stmt_txn_jscore_passthrough - name: .serverless + - name: sharding_opportunistic_secondary_targeting_gen - name: .updatefuzzer - name: secondary_reads_passthrough_gen - name: .shard_split @@ -1698,7 +1698,7 @@ buildvariants: - rhel80-small stepback: false expansions: - <<: *enterprise-rhel-80-64-bit-dynamic-required-expansions + <<: *enterprise-rhel-80-64-bit-dynamic-expansions jstestfuzz_num_generated_files: 40 jstestfuzz_concurrent_num_files: 10 target_resmoke_time: 10 @@ -2580,10 +2580,10 @@ buildvariants: - name: server_discovery_and_monitoring_json_test_TG - name: server_selection_json_test_TG -- &rhel80-debug-aubsan-lite-required-template +- &rhel80-debug-aubsan-lite-template <<: *linux_debug_aubsan_compile_variant_dependency - name: &rhel80-debug-aubsan-lite-required rhel80-debug-aubsan-lite-required - display_name: "! Shared Library {A,UB}SAN Enterprise RHEL 8.0 DEBUG" + name: &rhel80-debug-aubsan-lite rhel80-debug-aubsan-lite + display_name: "* Shared Library {A,UB}SAN Enterprise RHEL 8.0 DEBUG" cron: "0 */4 * * *" # From the ${project_required_suggested_cron} parameter modules: - enterprise @@ -2609,7 +2609,7 @@ buildvariants: - name: jsCore - name: jsCore_txns -- <<: *rhel80-debug-aubsan-lite-required-template +- <<: *rhel80-debug-aubsan-lite-template name: &rhel80-debug-aubsan-lite-all-feature-flags-required rhel80-debug-aubsan-lite-all-feature-flags-required display_name: "! Shared Library {A,UB}SAN Enterprise RHEL 8.0 DEBUG (all feature flags)" cron: "0 */4 * * *" # From the ${project_required_suggested_cron} parameter @@ -3207,7 +3207,7 @@ buildvariants: tasks: - name: win_shared_scons_cache_pruning -- <<: *enterprise-rhel-80-64-bit-dynamic-required-template +- <<: *enterprise-rhel-80-64-bit-dynamic-template name: &commit-queue commit-queue display_name: "~ Commit Queue" cron: "0 4 * * 0" # From the ${project_weekly_cron} parameter @@ -3277,7 +3277,7 @@ buildvariants: display_name: "~ Shared Library Enterprise RHEL 8.0 Query Patch Only (Classic Engine)" cron: "0 4 * * 0" # From the ${project_weekly_cron} parameter # This is a patch-only variant but we run on mainline to pick up task history. expansions: - <<: *enterprise-rhel-80-64-bit-dynamic-required-expansions + <<: *enterprise-rhel-80-64-bit-dynamic-expansions jstestfuzz_num_generated_files: 20 jstestfuzz_concurrent_num_files: 5 target_resmoke_time: 30 diff --git a/etc/evergreen_timeouts.yml b/etc/evergreen_timeouts.yml index 71bc53d993d..bb14c88c638 100644 --- a/etc/evergreen_timeouts.yml +++ b/etc/evergreen_timeouts.yml @@ -34,7 +34,7 @@ overrides: - task: replica_sets_jscore_passthrough exec_timeout: 150 # 2.5 hours. - enterprise-rhel-80-64-bit-dynamic-required: + enterprise-rhel-80-64-bit-dynamic: - task: replica_sets_large_txns_format exec_timeout: 120 # 2 hours. - task: config_fuzzer_replica_sets_jscore_passthrough @@ -52,10 +52,6 @@ overrides: - task: replica_sets_jscore_passthrough exec_timeout: 180 # 3 hours. - enterprise-windows-required: - - task: replica_sets_jscore_passthrough - exec_timeout: 180 # 3 hours. - linux-64-debug: - task: auth exec_timeout: 60 # 1 hour. diff --git a/etc/evergreen_yml_components/definitions.yml b/etc/evergreen_yml_components/definitions.yml index 742673b7580..a4242c8ef8c 100644 --- a/etc/evergreen_yml_components/definitions.yml +++ b/etc/evergreen_yml_components/definitions.yml @@ -317,7 +317,6 @@ variables: - enterprise-windows - enterprise-windows-debug-unoptimized - enterprise-windows-inmem - - enterprise-windows-required - enterprise-windows-wtdevelop - ubuntu1804-debug-asan - ubuntu1804-debug-ubsan @@ -331,7 +330,7 @@ variables: - enterprise-macos - enterprise-macos-arm64 - enterprise-rhel-80-64-bit - - enterprise-rhel-80-64-bit-dynamic-required + - enterprise-rhel-80-64-bit-dynamic-all-feature-flags-required - enterprise-rhel-70-64-bit - enterprise-rhel-82-arm64 - enterprise-rhel-90-64-bit @@ -341,7 +340,6 @@ variables: - enterprise-ubuntu2004-64 - enterprise-ubuntu2204-64 - enterprise-windows - - enterprise-windows-required # List of all variants that use the packages.tgz - package_variants: &package_variants @@ -447,6 +445,14 @@ functions: - *git_get_project - *add_git_tag + "gen feature flags": &gen_feature_flags + command: subprocess.exec + type: test + params: + binary: bash + args: + - "src/evergreen/gen_feature_flags.sh" + "fetch artifacts": &fetch_artifacts command: s3.get params: @@ -2361,12 +2367,7 @@ tasks: display_name: Binaries - *f_expansions_write - - command: subprocess.exec - type: test - params: - binary: bash - args: - - "src/evergreen/gen_feature_flags.sh" + - *gen_feature_flags - *f_expansions_write - command: subprocess.exec @@ -6775,6 +6776,7 @@ tasks: - func: "set up remote credentials" - *f_expansions_write - func: "configure evergreen api credentials" + - *gen_feature_flags - func: "run tests" vars: resmoke_jobs_max: 1 diff --git a/etc/evergreen_yml_components/project_and_distro_settings.yml b/etc/evergreen_yml_components/project_and_distro_settings.yml index 9ef72c4759b..83e3d74b2bf 100644 --- a/etc/evergreen_yml_components/project_and_distro_settings.yml +++ b/etc/evergreen_yml_components/project_and_distro_settings.yml @@ -11,7 +11,7 @@ patch_aliases: variant_tags: [] task_tags: [] - alias: "hourly" - variant: "^(enterprise-rhel-62-64-bit-dynamic-required|enterprise-windows-required|linux-64-debug|ubuntu1804-debug-aubsan-lite|enterprise-rhel-70-64-bit|enterprise-windows|ubuntu1604-debug|macos-debug|windows-debug )$" + variant: "^(enterprise-windows-all-feature-flags-required|linux-64-debug|ubuntu1804-debug-aubsan-lite|enterprise-rhel-70-64-bit|ubuntu1604-debug|macos-debug|windows-debug )$" task: ".*" variant_tags: [] task_tags: [] @@ -21,7 +21,7 @@ patch_aliases: variant_tags: [] task_tags: [] - alias: "required" - variant: "^(.*-required$|enterprise-rhel-62-64-bit-dynamic-required|enterprise-windows-required|linux-64-debug|ubuntu1804-debug-aubsan-lite)$" + variant: "^(.*-required$|linux-64-debug|ubuntu1804-debug-aubsan-lite)$" task: ".*" variant_tags: [] task_tags: [] diff --git a/etc/evergreen_yml_components/variants/ninja.yml b/etc/evergreen_yml_components/variants/ninja.yml index 38c58c4bd11..b0d00bc7827 100644 --- a/etc/evergreen_yml_components/variants/ninja.yml +++ b/etc/evergreen_yml_components/variants/ninja.yml @@ -58,7 +58,7 @@ buildvariants: distros: - ubuntu1804-xlarge -- name: enterprise-rhel-80-64-bit-dynamic-required-ninja +- name: enterprise-rhel-80-64-bit-dynamic-ninja display_name: "Ninja Build: Enterprise RHEL 8.0" cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. modules: diff --git a/etc/generate_subtasks_config.yml b/etc/generate_subtasks_config.yml index e84d4a0870c..dcf6baf12eb 100644 --- a/etc/generate_subtasks_config.yml +++ b/etc/generate_subtasks_config.yml @@ -44,7 +44,7 @@ build_variant_large_distro_exceptions: - rhel80-debug-asan - rhel80-debug-asan-all-feature-flags - rhel80-debug-asan-classic-engine - - rhel80-debug-aubsan-lite-required + - rhel80-debug-aubsan-lite - rhel80-debug-suggested - rhel80-debug-ubsan - rhel80-debug-ubsan-all-feature-flags |