diff --git a/.evergreen/config.yml b/.evergreen/config.yml index 25ea2c4b90..f563a1aced 100644 --- a/.evergreen/config.yml +++ b/.evergreen/config.yml @@ -372,29 +372,6 @@ post: - func: "cleanup" task_groups: - - name: serverless_task_group - setup_group_can_fail_task: true - setup_group_timeout_secs: 1800 # 30 minutes - setup_group: - - func: "fetch source" - - func: "setup system" - - command: subprocess.exec - params: - binary: bash - env: - VAULT_NAME: ${VAULT_NAME} - args: - - ${DRIVERS_TOOLS}/.evergreen/serverless/create-instance.sh - teardown_task: - - command: subprocess.exec - params: - binary: bash - args: - - ${DRIVERS_TOOLS}/.evergreen/serverless/delete-instance.sh - - func: "upload test results" - tasks: - - ".serverless" - - name: test_aws_lambda_task_group setup_group: - func: fetch source @@ -445,13 +422,6 @@ tasks: - func: "run server" - func: "run doctests" - - name: "test-serverless" - tags: ["serverless"] - commands: - - func: "run tests" - vars: - TEST_NAME: serverless - - name: "test-enterprise-auth" tags: ["enterprise-auth"] commands: diff --git a/.evergreen/generated_configs/tasks.yml b/.evergreen/generated_configs/tasks.yml index 9d52cf957d..de18b4df01 100644 --- a/.evergreen/generated_configs/tasks.yml +++ b/.evergreen/generated_configs/tasks.yml @@ -5866,3 +5866,13 @@ tasks: - noauth - nossl - sync_async + + # Serverless tests + - name: test-serverless + commands: + - func: run tests + vars: + TEST_NAME: serverless + AUTH: auth + SSL: ssl + tags: [serverless] diff --git a/.evergreen/generated_configs/variants.yml b/.evergreen/generated_configs/variants.yml index cf3e0cc903..938f98e43b 100644 --- a/.evergreen/generated_configs/variants.yml +++ b/.evergreen/generated_configs/variants.yml @@ -1235,27 +1235,21 @@ buildvariants: # Serverless tests - name: serverless-rhel8-python3.9 tasks: - - name: serverless_task_group + - name: .serverless display_name: Serverless RHEL8 Python3.9 run_on: - rhel87-small batchtime: 10080 expansions: - TEST_NAME: serverless - AUTH: auth - SSL: ssl PYTHON_BINARY: /opt/python/3.9/bin/python3 - name: serverless-rhel8-python3.13 tasks: - - name: serverless_task_group + - name: .serverless display_name: Serverless RHEL8 Python3.13 run_on: - rhel87-small batchtime: 10080 expansions: - TEST_NAME: serverless - AUTH: auth - SSL: ssl PYTHON_BINARY: /opt/python/3.13/bin/python3 # Stable api tests diff --git a/.evergreen/scripts/generate_config.py b/.evergreen/scripts/generate_config.py index 14f30fed91..84cd1075b9 100644 --- a/.evergreen/scripts/generate_config.py +++ b/.evergreen/scripts/generate_config.py @@ -645,8 +645,7 @@ def create_disable_test_commands_variants(): def create_serverless_variants(): host = DEFAULT_HOST batchtime = BATCHTIME_WEEK - expansions = dict(TEST_NAME="serverless", AUTH="auth", SSL="ssl") - tasks = ["serverless_task_group"] + tasks = [".serverless"] base_name = "Serverless" return [ create_variant( @@ -654,7 +653,6 @@ def create_serverless_variants(): get_display_name(base_name, host, python=python), host=host, python=python, - expansions=expansions, batchtime=batchtime, ) for python in MIN_MAX_PYTHON @@ -951,6 +949,14 @@ def create_ocsp_tasks(): return tasks +def create_serverless_tasks(): + vars = dict(TEST_NAME="serverless", AUTH="auth", SSL="ssl") + test_func = FunctionCall(func="run tests", vars=vars) + tags = ["serverless"] + task_name = "test-serverless" + return [EvgTask(name=task_name, tags=tags, commands=[test_func])] + + ################## # Generate Config ################## diff --git a/.evergreen/scripts/setup_tests.py b/.evergreen/scripts/setup_tests.py index 8432eacd5a..3ba6d61758 100644 --- a/.evergreen/scripts/setup_tests.py +++ b/.evergreen/scripts/setup_tests.py @@ -174,6 +174,7 @@ def handle_test_env() -> None: DB_USER = config["ADL_USERNAME"] DB_PASSWORD = config["ADL_PASSWORD"] elif test_name == "serverless": + run_command(f"bash {DRIVERS_TOOLS}/.evergreen/serverless/setup.sh") config = read_env(f"{DRIVERS_TOOLS}/.evergreen/serverless/secrets-export.sh") DB_USER = config["SERVERLESS_ATLAS_USER"] DB_PASSWORD = config["SERVERLESS_ATLAS_PASSWORD"] diff --git a/.evergreen/scripts/teardown_tests.py b/.evergreen/scripts/teardown_tests.py index 988d7ec48a..3920180422 100644 --- a/.evergreen/scripts/teardown_tests.py +++ b/.evergreen/scripts/teardown_tests.py @@ -32,7 +32,11 @@ # Tear down ocsp if applicable. elif TEST_NAME == "ocsp": - run_command(f"bash {DRIVERS_TOOLS}/.evergreen/teardown.sh") + run_command(f"bash {DRIVERS_TOOLS}/.evergreen/ocsp/teardown.sh") + +# Tear down serverless if applicable. +elif TEST_NAME == "serverless": + run_command(f"bash {DRIVERS_TOOLS}/.evergreen/serverless/teardown.sh") # Tear down auth_aws if applicable. # We do not run web-identity hosts on macos, because the hosts lack permissions,