Files
mongo/buildscripts/BUILD.bazel
Sean Lyons 0f5a022505 SERVER-118429 Add resmoke_suite_test assignment tags based on code owner (#48079)
GitOrigin-RevId: 22e946575188d32e9a479143bd543779fc89a9d9
2026-02-20 18:42:05 +00:00

540 lines
11 KiB
Python

load("@poetry//:dependencies.bzl", "dependency")
load("@npm//:eslint/package_json.bzl", "bin")
load("@rules_python//python:defs.bzl", "py_binary", "py_library")
exports_files([
"candle_wrapper.py",
"cheetah_source_generator.py",
"clang_tidy_config_gen.py",
"jstoh.py",
"pip_requirements.py",
"symbols.orderfile",
"symbols-al2023.orderfile",
])
py_binary(
name = "msitrim",
srcs = ["msitrim.py"],
main = "msitrim.py",
visibility = ["//visibility:public"],
deps = select({
"@platforms//os:windows": [
dependency(
"python-msilib",
group = "platform",
),
],
"//conditions:default": [],
}),
)
py_binary(
name = "simple_report",
srcs = ["simple_report.py"],
main = "simple_report.py",
visibility = ["//visibility:public"],
deps = [
dependency(
"click",
group = "evergreen",
),
dependency(
"typing-extensions",
group = "core",
),
],
)
py_binary(
name = "mongosymb",
srcs = [
"build_system_options.py",
"mongosymb.py",
],
main = "mongosymb.py",
visibility = ["//visibility:public"],
deps = [
"//buildscripts/util",
dependency(
"requests",
group = "core",
),
dependency(
"tenacity",
group = "core",
),
],
)
py_binary(
name = "resmoke",
srcs = ["resmoke.py"],
main = "resmoke.py",
visibility = ["//visibility:public"],
deps = [
"//buildscripts/resmokelib",
dependency(
"typer",
group = "core",
),
],
)
py_library(
name = "install_bazel",
srcs = [
"install_bazel.py",
],
deps = [
dependency(
"retry",
group = "testing",
),
"//buildscripts/s3_binary:download",
],
)
py_library(
name = "bazel_custom_formatter",
srcs = [
"bazel_custom_formatter.py",
],
visibility = ["//visibility:public"],
deps = [
"install_bazel",
dependency(
"typing-extensions",
group = "core",
),
dependency(
"retry",
group = "testing",
),
"simple_report",
],
)
py_binary(
name = "legacy_commands_check",
srcs = [
"legacy_commands_check.py",
],
main = "legacy_commands_check.py",
visibility = ["//visibility:public"],
deps = [
"//buildscripts/linter",
"//buildscripts/patch_builds",
],
)
py_library(
name = "mongo_toolchain",
srcs = [
"mongo_toolchain.py",
],
visibility = ["//visibility:public"],
deps = [
dependency(
"typer",
group = "core",
),
],
)
py_library(
name = "clang_tidy_lib",
srcs = [
"apply_clang_tidy_fixes.py",
"clang_tidy.py",
"clang_tidy_vscode.py",
],
visibility = ["//visibility:public"],
deps = [
"mongo_toolchain",
"simple_report",
],
)
py_binary(
name = "sbom_linter",
srcs = [
"sbom_linter.py",
],
visibility = ["//visibility:public"],
deps = [
dependency(
"jsonschema",
group = "build-metrics",
),
dependency(
"license-expression",
group = "lint",
),
],
)
py_binary(
name = "quickmongolint",
srcs = [
"quickmongolint.py",
],
visibility = ["//visibility:public"],
deps = [
"//buildscripts/linter",
],
)
py_binary(
name = "errorcodes",
srcs = ["errorcodes.py"],
visibility = ["//visibility:public"],
deps = [
dependency(
"regex",
group = "compile",
),
],
)
bin.eslint_binary(
name = "eslint_binary",
# Allow the binary to be run outside bazel
# See more details about this by commenting this out and running `bazel run //:format`
env = {"BAZEL_BINDIR": "."},
)
sh_binary(
name = "auto_install_db_contrib_tool",
srcs = ["auto_install_db_contrib_tool.sh"],
)
sh_binary(
name = "setup_engflow_creds",
srcs = ["setup_engflow_creds.sh"],
)
sh_binary(
name = "consolidate_repos",
srcs = ["consolidate-repos.sh"],
)
sh_binary(
name = "consolidate_repos_enterprise",
srcs = ["consolidate-repos-enterprise.sh"],
)
sh_binary(
name = "poetry_sync",
srcs = ["poetry_sync.sh"],
)
sh_binary(
name = "mount_drives",
srcs = ["mount_drives.sh"],
)
py_library(
name = "parse_test_xml",
srcs = [
"parse_test_xml.py",
],
deps = [
dependency(
"pyyaml",
group = "core",
),
],
)
py_binary(
name = "gather_failed_tests",
srcs = ["gather_failed_tests.py"],
visibility = ["//visibility:public"],
deps = [
"//buildscripts/util",
dependency(
"typer",
group = "core",
),
dependency(
"pyyaml",
group = "core",
),
],
)
py_binary(
name = "burn_in_tests",
srcs = ["burn_in_tests.py"],
visibility = ["//visibility:public"],
deps = [
"//buildscripts/patch_builds",
"//buildscripts/resmokelib",
dependency(
"structlog",
group = "evergreen",
),
dependency(
"gitpython",
group = "evergreen",
),
],
)
py_binary(
name = "bazel_burn_in",
srcs = ["bazel_burn_in.py"],
visibility = ["//visibility:public"],
deps = [
"//buildscripts:burn_in_tests",
"//buildscripts:generate_result_tasks",
"//buildscripts/util",
dependency(
"typer",
group = "core",
),
dependency(
"shrub-py",
group = "testing",
),
],
)
py_binary(
name = "generate_result_tasks",
srcs = ["generate_result_tasks.py"],
data = [
"@codeowners_binary//:codeowners",
"@mothra//:teams",
],
visibility = ["//visibility:public"],
deps = [
dependency(
"typer",
group = "core",
),
dependency(
"shrub-py",
group = "testing",
),
dependency(
"bazel-runfiles",
group = "testing",
),
],
)
py_binary(
name = "append_result_tasks",
srcs = ["append_result_tasks.py"],
visibility = ["//visibility:public"],
deps = [
"//buildscripts:bazel_burn_in",
"//buildscripts:gather_failed_tests",
dependency(
"typer",
group = "core",
),
dependency(
"shrub-py",
group = "testing",
),
],
)
sh_binary(
name = "setup_node_env",
srcs = ["setup_node_env.sh"],
)
py_binary(
name = "evergreen_task_timeout",
srcs = ["evergreen_task_timeout.py"],
main = "evergreen_task_timeout.py",
visibility = ["//visibility:public"],
deps = [
"//buildscripts/ciconfig",
"//buildscripts/resmoke_proxy",
"//buildscripts/timeouts:timeout_service",
"//evergreen:all_python_files",
dependency(
"evergreen-py",
group = "testing",
),
dependency(
"pydantic",
group = "evergreen",
),
dependency(
"inject",
group = "evergreen",
),
],
)
py_binary(
name = "bazel_local_resources",
srcs = ["bazel_local_resources.py"],
visibility = ["//visibility:public"],
deps = [dependency(
"filelock",
group = "testing",
)],
)
py_binary(
name = "poetry_lock_check",
srcs = ["poetry_lock_check.py"],
visibility = ["//visibility:public"],
deps = [
dependency(
"poetry",
group = "export",
),
],
)
py_binary(
name = "validate_evg_project_config",
srcs = ["validate_evg_project_config.py"],
deps = [
"//buildscripts/ciconfig",
dependency(
"typer",
group = "core",
),
dependency(
"typing-extensions",
group = "core",
),
dependency(
"structlog",
group = "evergreen",
),
],
)
py_binary(
name = "large_file_check",
srcs = ["large_file_check.py"],
deps = [
"//buildscripts/linter",
"//buildscripts/patch_builds",
dependency(
"structlog",
group = "evergreen",
),
dependency(
"gitpython",
group = "evergreen",
),
],
)
# TODO(SERVER-105817): The following library is autogenerated, please split these out into individual python targets
py_library(
name = "all_python_files",
srcs = glob(["*.py"]),
visibility = ["//visibility:public"],
)
py_binary(
name = "pyrightlint",
srcs = ["pyrightlint.py"],
deps = [
"//buildscripts/linter",
dependency(
"structlog",
group = "lint",
),
dependency(
"pyright",
),
],
)
py_binary(
name = "archive_artifacts",
srcs = ["archive_artifacts.py"],
deps = [
dependency(
"pyzstd",
group = "modules_poc",
),
dependency(
"cffi",
group = "modules_poc",
),
],
)
py_library(
name = "local_rbe_container_url",
srcs = ["local_rbe_container_url.py"],
data = [
"//bazel/platforms:remote_execution_containers.bzl",
],
)
py_binary(
name = "print_local_rbe_container_url",
srcs = ["print_local_rbe_container_url.py"],
deps = [
"local_rbe_container_url",
],
)
py_binary(
name = "create_rbe_sysroot",
srcs = [
"create_rbe_sysroot.py",
],
visibility = ["//visibility:public"],
deps = [
"local_rbe_container_url",
],
)
# Markdown link linter
py_binary(
name = "markdown_link_linter",
srcs = ["lint_markdown_links.py"],
main = "lint_markdown_links.py",
visibility = ["//visibility:public"],
deps = [], # 'requests' optional (external link checks skipped if absent)
)
py_binary(
name = "yamllinters",
srcs = ["yamllinters.py"],
main = "yamllinters.py",
visibility = ["//visibility:public"],
deps = [
dependency(
"yamllint",
group = "lint",
),
dependency(
"evergreen-lint",
group = "lint",
),
dependency(
"evergreen-py",
group = "testing",
),
],
)
py_binary(
name = "github_merge_queue_metrics",
srcs = ["github_merge_queue_metrics.py"],
main = "github_merge_queue_metrics.py",
visibility = ["//visibility:public"],
deps = [
dependency(
"requests",
group = "core",
),
],
)