mirror of https://github.com/mongodb/mongo
SERVER-97704 Wrapped resmoke in bazel (#29688)
GitOrigin-RevId: 08adfc2fdf9fc89103d9a963991a850b2a3856d0
This commit is contained in:
parent
8efb572d19
commit
0faff5d1e0
|
|
@ -81,8 +81,6 @@ load("@rules_coverity//coverity:repositories.bzl", "rules_coverity_toolchains")
|
|||
|
||||
rules_coverity_toolchains()
|
||||
|
||||
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
|
||||
|
||||
# Hedron's Compile Commands Extractor for Bazel
|
||||
# https://github.com/hedronvision/bazel-compile-commands-extractor
|
||||
http_archive(
|
||||
|
|
@ -150,16 +148,16 @@ http_archive(
|
|||
# Poetry rules for managing Python dependencies
|
||||
http_archive(
|
||||
name = "rules_poetry",
|
||||
sha256 = "5db24c0eacb42ef8b25019bd000a9d2905fba71682d1dac51603bfbc0e6fa5c9",
|
||||
strip_prefix = "rules_poetry-29b93f4f2e227834ac8d5b48cb0baef8dbeeecc7",
|
||||
sha256 = "dbabea2a3829aa5885ba46d612b269956d0227b503147a5e1a2cfd635165fcb5",
|
||||
strip_prefix = "rules_poetry-441f4365f7cafce345083a6325bc6712a2ce5c93",
|
||||
urls = [
|
||||
# Implements retry by relisting each url multiple times to be used as a failover.
|
||||
# TODO(SERVER-86719): Re-implement http_archive to allow sleeping between retries
|
||||
"https://github.com/mongodb-forks/rules_poetry/archive/29b93f4f2e227834ac8d5b48cb0baef8dbeeecc7.tar.gz",
|
||||
"https://github.com/mongodb-forks/rules_poetry/archive/29b93f4f2e227834ac8d5b48cb0baef8dbeeecc7.tar.gz",
|
||||
"https://github.com/mongodb-forks/rules_poetry/archive/29b93f4f2e227834ac8d5b48cb0baef8dbeeecc7.tar.gz",
|
||||
"https://github.com/mongodb-forks/rules_poetry/archive/29b93f4f2e227834ac8d5b48cb0baef8dbeeecc7.tar.gz",
|
||||
"https://github.com/mongodb-forks/rules_poetry/archive/29b93f4f2e227834ac8d5b48cb0baef8dbeeecc7.tar.gz",
|
||||
"https://github.com/mongodb-forks/rules_poetry/archive/441f4365f7cafce345083a6325bc6712a2ce5c93.tar.gz",
|
||||
"https://github.com/mongodb-forks/rules_poetry/archive/441f4365f7cafce345083a6325bc6712a2ce5c93.tar.gz",
|
||||
"https://github.com/mongodb-forks/rules_poetry/archive/441f4365f7cafce345083a6325bc6712a2ce5c93.tar.gz",
|
||||
"https://github.com/mongodb-forks/rules_poetry/archive/441f4365f7cafce345083a6325bc6712a2ce5c93.tar.gz",
|
||||
"https://github.com/mongodb-forks/rules_poetry/archive/441f4365f7cafce345083a6325bc6712a2ce5c93.tar.gz",
|
||||
],
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -13,4 +13,48 @@ py_binary(
|
|||
],
|
||||
)
|
||||
|
||||
py_binary(
|
||||
name = "simple_report",
|
||||
srcs = ["simple_report.py"],
|
||||
main = "simple_report.py",
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
dependency(
|
||||
"click",
|
||||
group = "evergreen",
|
||||
),
|
||||
],
|
||||
)
|
||||
|
||||
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",
|
||||
],
|
||||
)
|
||||
|
||||
exports_files(["cheetah_source_generator.py"])
|
||||
|
|
|
|||
|
|
@ -0,0 +1,19 @@
|
|||
load("@poetry//:dependencies.bzl", "dependency")
|
||||
|
||||
py_library(
|
||||
name = "ciconfig",
|
||||
srcs = [
|
||||
"evergreen.py",
|
||||
],
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
dependency(
|
||||
"structlog",
|
||||
group = "evergreen",
|
||||
),
|
||||
dependency(
|
||||
"pyyaml",
|
||||
group = "core",
|
||||
),
|
||||
],
|
||||
)
|
||||
|
|
@ -6,3 +6,15 @@ filegroup(
|
|||
] + glob(["**/idl/*.py"]),
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
py_library(
|
||||
name = "idl",
|
||||
srcs = [
|
||||
"gen_all_feature_flag_list.py",
|
||||
"idlc.py",
|
||||
"lib.py",
|
||||
] + glob(["idl/**/*.py"]),
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
],
|
||||
)
|
||||
|
|
|
|||
|
|
@ -0,0 +1,65 @@
|
|||
load("@poetry//:dependencies.bzl", "dependency")
|
||||
|
||||
py_library(
|
||||
name = "resmokelib",
|
||||
srcs = [
|
||||
"__init__.py",
|
||||
"cli.py",
|
||||
"config.py",
|
||||
"config_fuzzer_limits.py",
|
||||
"config_fuzzer_wt_limits.py",
|
||||
"configure_resmoke.py",
|
||||
"errors.py",
|
||||
"flags.py",
|
||||
"mongo_fuzzer_configs.py",
|
||||
"multiversionconstants.py",
|
||||
"multiversionsetupconstants.py",
|
||||
"parser.py",
|
||||
"plugin.py",
|
||||
"reportfile.py",
|
||||
"selector.py",
|
||||
"sighandler.py",
|
||||
"suite_hierarchy.py",
|
||||
"suitesconfig.py",
|
||||
],
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
"//buildscripts/idl",
|
||||
"//buildscripts/resmokelib/core",
|
||||
"//buildscripts/resmokelib/discovery",
|
||||
"//buildscripts/resmokelib/generate_fcv_constants",
|
||||
"//buildscripts/resmokelib/generate_fuzz_config",
|
||||
"//buildscripts/resmokelib/hang_analyzer",
|
||||
"//buildscripts/resmokelib/logging",
|
||||
"//buildscripts/resmokelib/powercycle",
|
||||
"//buildscripts/resmokelib/setup_multiversion",
|
||||
"//buildscripts/resmokelib/testing",
|
||||
"//buildscripts/resmokelib/undodb",
|
||||
"//buildscripts/resmokelib/utils",
|
||||
"//buildscripts/util",
|
||||
dependency(
|
||||
"psutil",
|
||||
group = "build-metrics",
|
||||
),
|
||||
dependency(
|
||||
"mongo-tooling-metrics",
|
||||
group = "tooling-metrics",
|
||||
),
|
||||
dependency(
|
||||
"pyyaml",
|
||||
group = "core",
|
||||
),
|
||||
dependency(
|
||||
"opentelemetry-api",
|
||||
group = "testing",
|
||||
),
|
||||
dependency(
|
||||
"opentelemetry-sdk",
|
||||
group = "testing",
|
||||
),
|
||||
dependency(
|
||||
"opentelemetry-exporter-otlp-proto-common",
|
||||
group = "testing",
|
||||
),
|
||||
],
|
||||
)
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
load("@poetry//:dependencies.bzl", "dependency")
|
||||
|
||||
py_library(
|
||||
name = "core",
|
||||
srcs = [
|
||||
"__init__.py",
|
||||
"network.py",
|
||||
"pipe.py",
|
||||
"process.py",
|
||||
"programs.py",
|
||||
"redirect.py",
|
||||
],
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [dependency(
|
||||
"packaging",
|
||||
group = "testing",
|
||||
)],
|
||||
)
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
load("@poetry//:dependencies.bzl", "dependency")
|
||||
|
||||
py_library(
|
||||
name = "discovery",
|
||||
srcs = [
|
||||
"__init__.py",
|
||||
],
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
"//buildscripts/resmokelib/multiversion",
|
||||
dependency(
|
||||
"pyyaml",
|
||||
group = "core",
|
||||
),
|
||||
dependency(
|
||||
"pydantic",
|
||||
group = "evergreen",
|
||||
),
|
||||
],
|
||||
)
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
py_library(
|
||||
name = "generate_fcv_constants",
|
||||
srcs = [
|
||||
"__init__.py",
|
||||
],
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [],
|
||||
)
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
py_library(
|
||||
name = "generate_fuzz_config",
|
||||
srcs = [
|
||||
"__init__.py",
|
||||
],
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [],
|
||||
)
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
load("@poetry//:dependencies.bzl", "dependency")
|
||||
|
||||
py_library(
|
||||
name = "hang_analyzer",
|
||||
srcs = [
|
||||
"__init__.py",
|
||||
"attach_core_analyzer_task.py",
|
||||
"core_analyzer.py",
|
||||
"dumper.py",
|
||||
"extractor.py",
|
||||
"gen_hang_analyzer_tasks.py",
|
||||
"hang_analyzer.py",
|
||||
"process.py",
|
||||
"process_list.py",
|
||||
],
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
"//buildscripts:simple_report",
|
||||
"//buildscripts/resmokelib/run",
|
||||
"//buildscripts/resmokelib/symbolizer",
|
||||
dependency(
|
||||
"retry",
|
||||
group = "testing",
|
||||
),
|
||||
dependency(
|
||||
"opentelemetry-api",
|
||||
group = "testing",
|
||||
),
|
||||
dependency(
|
||||
"opentelemetry-sdk",
|
||||
group = "testing",
|
||||
),
|
||||
dependency(
|
||||
"opentelemetry-exporter-otlp-proto-common",
|
||||
group = "testing",
|
||||
),
|
||||
],
|
||||
)
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
py_library(
|
||||
name = "logging",
|
||||
srcs = [
|
||||
"__init__.py",
|
||||
"buildlogger.py",
|
||||
"flush.py",
|
||||
"formatters.py",
|
||||
"handlers.py",
|
||||
"loggers.py",
|
||||
],
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [],
|
||||
)
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
load("@poetry//:dependencies.bzl", "dependency")
|
||||
|
||||
py_library(
|
||||
name = "multiversion",
|
||||
srcs = [
|
||||
"__init__.py",
|
||||
"multiversion_service.py",
|
||||
],
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
dependency(
|
||||
"pyyaml",
|
||||
group = "core",
|
||||
),
|
||||
dependency(
|
||||
"structlog",
|
||||
group = "evergreen",
|
||||
),
|
||||
dependency(
|
||||
"packaging",
|
||||
group = "testing",
|
||||
),
|
||||
dependency(
|
||||
"pydantic",
|
||||
group = "evergreen",
|
||||
),
|
||||
],
|
||||
)
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
load("@poetry//:dependencies.bzl", "dependency")
|
||||
|
||||
py_library(
|
||||
name = "powercycle",
|
||||
srcs = glob(["**/*.py"]), # TODO: tighten this down
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
dependency(
|
||||
"psutil",
|
||||
group = "build-metrics",
|
||||
),
|
||||
dependency(
|
||||
"pymongo",
|
||||
group = "core",
|
||||
),
|
||||
dependency(
|
||||
"pyyaml",
|
||||
group = "core",
|
||||
),
|
||||
dependency(
|
||||
"requests",
|
||||
group = "core",
|
||||
),
|
||||
],
|
||||
)
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
load("@poetry//:dependencies.bzl", "dependency")
|
||||
|
||||
py_library(
|
||||
name = "run",
|
||||
srcs = [
|
||||
"__init__.py",
|
||||
"generate_multiversion_exclude_tags.py",
|
||||
"list_tags.py",
|
||||
"runtime_recorder.py",
|
||||
],
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
"//buildscripts/ciconfig",
|
||||
dependency(
|
||||
"requests",
|
||||
group = "core",
|
||||
),
|
||||
dependency(
|
||||
"pygithub",
|
||||
group = "testing",
|
||||
),
|
||||
],
|
||||
)
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
load("@poetry//:dependencies.bzl", "dependency")
|
||||
|
||||
py_library(
|
||||
name = "setup_multiversion",
|
||||
srcs = [
|
||||
"__init__.py",
|
||||
"config.py",
|
||||
"download.py",
|
||||
"github_conn.py",
|
||||
"setup_multiversion.py",
|
||||
],
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
dependency(
|
||||
"pyyaml",
|
||||
group = "core",
|
||||
),
|
||||
dependency(
|
||||
"structlog",
|
||||
group = "evergreen",
|
||||
),
|
||||
dependency(
|
||||
"pygithub",
|
||||
group = "testing",
|
||||
),
|
||||
dependency(
|
||||
"distro",
|
||||
group = "testing",
|
||||
),
|
||||
dependency(
|
||||
"requests",
|
||||
group = "core",
|
||||
),
|
||||
],
|
||||
)
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
py_library(
|
||||
name = "symbolizer",
|
||||
srcs = [
|
||||
"__init__.py",
|
||||
],
|
||||
visibility = ["//visibility:public"],
|
||||
deps = ["//buildscripts:mongosymb"],
|
||||
)
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
py_library(
|
||||
name = "testing",
|
||||
srcs = glob(["**/*.py"]), # TODO: narrow this down
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [],
|
||||
)
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
load("@poetry//:dependencies.bzl", "dependency")
|
||||
|
||||
py_library(
|
||||
name = "undodb",
|
||||
srcs = [
|
||||
"__init__.py",
|
||||
"fetch.py",
|
||||
],
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
dependency(
|
||||
"evergreen-py",
|
||||
group = "testing",
|
||||
),
|
||||
],
|
||||
)
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
load("@poetry//:dependencies.bzl", "dependency")
|
||||
|
||||
py_library(
|
||||
name = "utils",
|
||||
srcs = [
|
||||
"__init__.py",
|
||||
"archival.py",
|
||||
"autoloader.py",
|
||||
"batched_baggage_span_processor.py",
|
||||
"check_has_tag.py",
|
||||
"dictionary.py",
|
||||
"evergreen_conn.py",
|
||||
"external_suite.py",
|
||||
"file_span_exporter.py",
|
||||
"filesystem.py",
|
||||
"globstar.py",
|
||||
"history.py",
|
||||
"jscomment.py",
|
||||
"otel_thread_pool_executor.py",
|
||||
"otel_utils.py",
|
||||
"queue.py",
|
||||
"registry.py",
|
||||
],
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [dependency(
|
||||
"evergreen-py",
|
||||
group = "testing",
|
||||
)],
|
||||
)
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
load("@poetry//:dependencies.bzl", "dependency")
|
||||
|
||||
py_library(
|
||||
name = "util",
|
||||
srcs = [
|
||||
"buildozer_utils.py",
|
||||
"cedar_report.py",
|
||||
"cmdutils.py",
|
||||
"codeowners_utils.py",
|
||||
"fileops.py",
|
||||
"generate_co_jira_map.py",
|
||||
"oauth.py",
|
||||
"read_config.py",
|
||||
"runcommand.py",
|
||||
"taskname.py",
|
||||
"testname.py",
|
||||
"teststats.py",
|
||||
"time.py",
|
||||
],
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
dependency(
|
||||
"oauthlib",
|
||||
group = "testing",
|
||||
),
|
||||
dependency(
|
||||
"structlog",
|
||||
group = "evergreen",
|
||||
),
|
||||
dependency(
|
||||
"pkce",
|
||||
group = "testing",
|
||||
),
|
||||
dependency(
|
||||
"requests-oauthlib",
|
||||
group = "testing",
|
||||
),
|
||||
],
|
||||
)
|
||||
|
|
@ -621,7 +621,7 @@ tasks:
|
|||
jepsen_storage_engine: --storage-engine wiredTiger
|
||||
jepsen_test_name: set
|
||||
|
||||
# TODO: rename if display_name appears on the evergreen UI
|
||||
# TODO(SERVER-97804): rename if display_name appears on the evergreen UI
|
||||
- name: bazel_run_//:format
|
||||
tags:
|
||||
[
|
||||
|
|
@ -654,7 +654,7 @@ tasks:
|
|||
target: >-
|
||||
//:format -- --check
|
||||
|
||||
# TODO: rename if display_name appears on the evergreen UI
|
||||
# TODO(SERVER-97804): rename if display_name appears on the evergreen UI
|
||||
- name: bazel_run_//:codeowners
|
||||
tags:
|
||||
[
|
||||
|
|
@ -687,6 +687,39 @@ tasks:
|
|||
target: >-
|
||||
//:codeowners -- --check
|
||||
|
||||
# TODO(SERVER-97804): rename if display_name appears on the evergreen UI
|
||||
- name: bazel_run_//buildscripts:resmoke
|
||||
tags:
|
||||
[
|
||||
"assigned_to_jira_team_devprod_build",
|
||||
"development_critical_single_variant",
|
||||
"lint",
|
||||
"bazel_check",
|
||||
]
|
||||
depends_on:
|
||||
- name: version_expansions_gen
|
||||
variant: generate-tasks-for-version
|
||||
commands:
|
||||
- command: timeout.update
|
||||
params:
|
||||
# 10 minutes
|
||||
exec_timeout_secs: 600
|
||||
- func: "f_expansions_write"
|
||||
- command: manifest.load
|
||||
- func: "git get project and add git tag"
|
||||
- func: "f_expansions_write"
|
||||
- func: "kill processes"
|
||||
- func: "cleanup environment"
|
||||
- func: "set up venv"
|
||||
- func: "upload pip requirements"
|
||||
- func: "get engflow creds"
|
||||
# TODO SERVER-81038: Remove "fetch bazel" once bazelisk is self-hosted.
|
||||
- func: "fetch bazel"
|
||||
- func: "bazel run"
|
||||
vars:
|
||||
target: >-
|
||||
//buildscripts:resmoke -- --help
|
||||
|
||||
- name: lint_clang_format
|
||||
tags:
|
||||
[
|
||||
|
|
|
|||
Loading…
Reference in New Issue