SERVER-111898 Move Required AUBSAN Variant to Amazon Linux 2023 arm64 (#42150)

GitOrigin-RevId: fa46ab2a25d554215f72fc02136a3f401a1e633d
This commit is contained in:
Zack Winter 2025-10-06 13:50:09 -07:00 committed by MongoDB Bot
parent 0a07dc2787
commit 405fa1a385
5 changed files with 37 additions and 13 deletions

View File

@ -161,6 +161,7 @@ TSAN_DATA = select({
ANY_SAN_DATA = select({
"//bazel/config:any_sanitizer_clang": [
"//:llvm_symbolizer",
"//:llvm_symbolizer_libs",
],
"//conditions:default": [],
})

View File

@ -189,7 +189,7 @@ mongo_linux_cc_toolchain_config(
# files. Switch these to the {version}/bin/* paths once EngFlow fixes the issue where symlinks are fully resolved
# when copied to the remote execution system.
"gcc": "{version}/bin/clang",
"g++": "{version}/bin/clang++",
"g++": "stow/llvm-{version}/bin/clang++",
"cpp": "{version}/bin/cpp",
"ar": "{version}/bin/ar",
"nm": "{version}/bin/nm",
@ -264,10 +264,20 @@ filegroup(
filegroup(
name = "llvm_symbolizer",
srcs = [
"{version}/bin/llvm-symbolizer",
"stow/llvm-{version}/bin/llvm-symbolizer",
],
)
# Since the symbolizer may pull in pretty much anything as a dynamic library, include everything in the toolchain.
# Some extensions (ex. libLLVM.so.19.1) don't end in .so, so we just have to grab everything.
filegroup(
name = "llvm_symbolizer_libs",
srcs = glob([
"stow/**/*",
"{version}/**/*",
]),
)
filegroup(
name = "clang_format",
srcs = [

View File

@ -104,6 +104,7 @@ def setup_mongo_toolchain_aliases():
# Map from target's name inside the toolchain to the name we want to alias it to.
toolchain_targets = {
"llvm_symbolizer": "llvm_symbolizer",
"llvm_symbolizer_libs": "llvm_symbolizer_libs",
"clang_format": "clang_format",
"clang_tidy": "clang_tidy",
"mongo_toolchain": "mongo_toolchain",

View File

@ -120,7 +120,7 @@ For the build variant names:
- `enterprise-windows-all-feature-flags-non-essential`
- in [`etc/evergreen_yml_components/variants/sanitizer/test_dev.yml`](../../etc/evergreen_yml_components/variants/sanitizer/test_dev.yml):
- `rhel8-debug-aubsan-lite-all-feature-flags-required`
- `linux-debug-aubsan-lite-all-feature-flags-required`
- It should:
- Remove `all-feature-flags` from their names and display names

View File

@ -167,6 +167,18 @@ variables:
multiversion_platform: rhel8
multiversion_edition: enterprise
- &aubsan-lite-required-expansions-m8g
compile_variant: *linux_debug_aubsan_compile_variant_name
lang_environment: LANG=C
san_options: *aubsan_options
resmoke_jobs_factor: 0.3 # Avoid starting too many mongod's under {A,UB}SAN build.
hang_analyzer_dump_core: false
max_sub_suites: 3
large_distro_name: amazon2023-arm64-latest-m8g-8xlarge
xlarge_distro_name: amazon2023-arm64-latest-m8g-16xlarge
multiversion_platform: amazon2023
multiversion_edition: enterprise
# THIS HAS COPIES IN
# - etc/evergreen_yml_components/variants/sanitizer/test_dev.yml
# - etc/evergreen_yml_components/variants/sanitizer/test_dev_master_branch_only.yml
@ -249,9 +261,9 @@ buildvariants:
distros:
- amazon2023-arm64-latest-m8g-8xlarge
- <<: *generic_linux_compile_params
- <<: *generic_linux_compile_params_m8g
name: &linux-debug-aubsan-compile-required linux-debug-aubsan-compile-required
display_name: "! Linux x86 Shared Library {A,UB}SAN Enterprise Compile"
display_name: "! Amazon Linux 2023 arm64 {A,UB}SAN Enterprise Compile"
tags: ["required", "forbid_tasks_tagged_with_experimental"]
expansions:
<<: *generic_linux_compile_expansions
@ -271,22 +283,22 @@ buildvariants:
--mongodSetParameters="{internalQueryEnableAggressiveSpillsInGroup: true}"
tasks:
- name: compile_test_parallel_core_stream_TG
- name: run_unit_tests_8_way_split_TG
- name: run_unit_tests_TG
- name: compile_test_parallel_dbtest_stream_TG
- name: compile_integration_and_test_parallel_stream_TG
- name: compile_jstestshell_TG
- name: .development_critical .requires_compile_variant !.requires_large_host !.incompatible_development_variant !.incompatible_aubsan
- name: .development_critical .requires_compile_variant .requires_large_host !.incompatible_development_variant !.incompatible_aubsan
distros:
- rhel8.8-xlarge
- amazon2023-arm64-latest-m8g-8xlarge
- name: .release_critical .requires_compile_variant !.requires_large_host !.incompatible_development_variant !.incompatible_aubsan
- name: .release_critical .requires_compile_variant .requires_large_host !.incompatible_development_variant !.incompatible_aubsan
distros:
- rhel8.8-xlarge
- amazon2023-arm64-latest-m8g-8xlarge
- name: .default .requires_compile_variant !.requires_large_host !.incompatible_development_variant !.incompatible_aubsan
- name: .default .requires_compile_variant .requires_large_host !.incompatible_development_variant !.incompatible_aubsan
distros:
- rhel8.8-xlarge
- amazon2023-arm64-latest-m8g-8xlarge
- <<: *linux_arm64_debug_compile_variant_dependency
name: linux-64-debug-required
@ -317,14 +329,14 @@ buildvariants:
- amazon2023-arm64-latest-medium-m8g
- <<: *linux_debug_aubsan_compile_variant_dependency
name: rhel8-debug-aubsan-lite-all-feature-flags-required
display_name: "! Shared Library {A,UB}SAN Enterprise RHEL 8 DEBUG (all feature flags)"
name: linux-debug-aubsan-lite-all-feature-flags-required
display_name: "! Amazon Linux 2023 arm64 {A,UB}SAN Enterprise DEBUG (all feature flags)"
tags: ["required"]
cron: "0 1,5,9,13,17,21 * * *" # From the ${project_required_suggested_cron} parameter
run_on:
- rhel8.8-large
- amazon2023-arm64-latest-m8g-4xlarge
expansions:
<<: *aubsan-lite-required-expansions
<<: *aubsan-lite-required-expansions-m8g
# To force disable feature flags even on the all feature flags variant, please use this file:
# buildscripts/resmokeconfig/fully_disabled_feature_flags.yml
# The '{maxRoundsWithoutProgressParameter: 20}' is needed here to work around failures in