mirror of https://github.com/mongodb/mongo
51 lines
1.4 KiB
Python
51 lines
1.4 KiB
Python
import os
|
|
import pathlib
|
|
import platform
|
|
import sys
|
|
import time
|
|
|
|
REPO_ROOT = str(pathlib.Path(__file__).parent.parent.parent)
|
|
sys.path.append(REPO_ROOT)
|
|
|
|
from bazel.wrapper_hook.wrapper_debug import wrapper_debug
|
|
from bazel.wrapper_hook.wrapper_util import get_terminal_stream
|
|
|
|
|
|
def setup_auth_wrapper():
|
|
from buildscripts.bazel_rules_mongo.engflow_auth.engflow_auth import setup_auth
|
|
|
|
term_out = get_terminal_stream("MONGO_WRAPPER_STDOUT_FD")
|
|
term_err = get_terminal_stream("MONGO_WRAPPER_STDERR_FD")
|
|
|
|
# Save current stdout/stderr
|
|
old_stdout = sys.stdout
|
|
old_stderr = sys.stderr
|
|
|
|
try:
|
|
if term_out:
|
|
sys.stdout = term_out
|
|
if term_err:
|
|
sys.stderr = term_err
|
|
|
|
setup_auth(verbose=False)
|
|
|
|
finally:
|
|
# Restore original stdout/stderr to whatever wrapper has
|
|
sys.stdout = old_stdout
|
|
sys.stderr = old_stderr
|
|
|
|
|
|
def engflow_auth(args):
|
|
start = time.time()
|
|
|
|
args_str = " ".join(args)
|
|
if (
|
|
"--config=local" not in args_str
|
|
and "--config=public-release" not in args_str
|
|
and "--config local" not in args_str
|
|
and "--config public-release" not in args_str
|
|
):
|
|
if os.environ.get("CI") is None and platform.machine().lower() not in {"ppc64le", "s390x"}:
|
|
setup_auth_wrapper()
|
|
wrapper_debug(f"engflow auth time: {time.time() - start}")
|