From bd72b03aa93414a41475ffeb7f3daf6ad2c4b766 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Thu, 17 Apr 2025 10:18:01 -0500 Subject: [PATCH 1/5] PYTHON-5332 Update AWS, mod_wsgi, and green framework variants --- .evergreen/generated_configs/tasks.yml | 168 ++++++++++++++-------- .evergreen/generated_configs/variants.yml | 42 +----- .evergreen/scripts/generate_config.py | 18 +-- 3 files changed, 128 insertions(+), 100 deletions(-) diff --git a/.evergreen/generated_configs/tasks.yml b/.evergreen/generated_configs/tasks.yml index 4676ab80f3..48674e554d 100644 --- a/.evergreen/generated_configs/tasks.yml +++ b/.evergreen/generated_configs/tasks.yml @@ -33,7 +33,7 @@ tasks: tags: [aws_lambda] # Aws tests - - name: test-auth-aws-4.4-regular + - name: test-auth-aws-4.4-regular-python3.9 commands: - func: run server vars: @@ -44,8 +44,9 @@ tasks: vars: TEST_NAME: auth_aws SUB_TEST_NAME: regular + PYTHON_VERSION: "3.9" tags: [auth-aws, auth-aws-regular] - - name: test-auth-aws-4.4-assume-role + - name: test-auth-aws-4.4-assume-role-python3.9 commands: - func: run server vars: @@ -56,8 +57,9 @@ tasks: vars: TEST_NAME: auth_aws SUB_TEST_NAME: assume-role + PYTHON_VERSION: "3.9" tags: [auth-aws, auth-aws-assume-role] - - name: test-auth-aws-4.4-ec2 + - name: test-auth-aws-4.4-ec2-python3.9 commands: - func: run server vars: @@ -68,8 +70,9 @@ tasks: vars: TEST_NAME: auth_aws SUB_TEST_NAME: ec2 + PYTHON_VERSION: "3.9" tags: [auth-aws, auth-aws-ec2] - - name: test-auth-aws-4.4-env-creds + - name: test-auth-aws-4.4-env-creds-python3.9 commands: - func: run server vars: @@ -80,8 +83,9 @@ tasks: vars: TEST_NAME: auth_aws SUB_TEST_NAME: env-creds + PYTHON_VERSION: "3.9" tags: [auth-aws, auth-aws-env-creds] - - name: test-auth-aws-4.4-session-creds + - name: test-auth-aws-4.4-session-creds-python3.9 commands: - func: run server vars: @@ -92,8 +96,9 @@ tasks: vars: TEST_NAME: auth_aws SUB_TEST_NAME: session-creds + PYTHON_VERSION: "3.9" tags: [auth-aws, auth-aws-session-creds] - - name: test-auth-aws-4.4-web-identity + - name: test-auth-aws-4.4-web-identity-python3.9 commands: - func: run server vars: @@ -104,8 +109,9 @@ tasks: vars: TEST_NAME: auth_aws SUB_TEST_NAME: web-identity + PYTHON_VERSION: "3.9" tags: [auth-aws, auth-aws-web-identity] - - name: test-auth-aws-4.4-ecs + - name: test-auth-aws-4.4-ecs-python3.9 commands: - func: run server vars: @@ -116,8 +122,9 @@ tasks: vars: TEST_NAME: auth_aws SUB_TEST_NAME: ecs + PYTHON_VERSION: "3.9" tags: [auth-aws, auth-aws-ecs] - - name: test-auth-aws-4.4-web-identity-session-name + - name: test-auth-aws-4.4-web-identity-session-name-python3.9 commands: - func: run server vars: @@ -129,8 +136,9 @@ tasks: TEST_NAME: auth_aws SUB_TEST_NAME: web-identity AWS_ROLE_SESSION_NAME: test + PYTHON_VERSION: "3.9" tags: [auth-aws, auth-aws-web-identity] - - name: test-auth-aws-5.0-regular + - name: test-auth-aws-5.0-regular-python3.10 commands: - func: run server vars: @@ -141,8 +149,9 @@ tasks: vars: TEST_NAME: auth_aws SUB_TEST_NAME: regular + PYTHON_VERSION: "3.10" tags: [auth-aws, auth-aws-regular] - - name: test-auth-aws-5.0-assume-role + - name: test-auth-aws-5.0-assume-role-python3.10 commands: - func: run server vars: @@ -153,8 +162,9 @@ tasks: vars: TEST_NAME: auth_aws SUB_TEST_NAME: assume-role + PYTHON_VERSION: "3.10" tags: [auth-aws, auth-aws-assume-role] - - name: test-auth-aws-5.0-ec2 + - name: test-auth-aws-5.0-ec2-python3.10 commands: - func: run server vars: @@ -165,8 +175,9 @@ tasks: vars: TEST_NAME: auth_aws SUB_TEST_NAME: ec2 + PYTHON_VERSION: "3.10" tags: [auth-aws, auth-aws-ec2] - - name: test-auth-aws-5.0-env-creds + - name: test-auth-aws-5.0-env-creds-python3.10 commands: - func: run server vars: @@ -177,8 +188,9 @@ tasks: vars: TEST_NAME: auth_aws SUB_TEST_NAME: env-creds + PYTHON_VERSION: "3.10" tags: [auth-aws, auth-aws-env-creds] - - name: test-auth-aws-5.0-session-creds + - name: test-auth-aws-5.0-session-creds-python3.10 commands: - func: run server vars: @@ -189,8 +201,9 @@ tasks: vars: TEST_NAME: auth_aws SUB_TEST_NAME: session-creds + PYTHON_VERSION: "3.10" tags: [auth-aws, auth-aws-session-creds] - - name: test-auth-aws-5.0-web-identity + - name: test-auth-aws-5.0-web-identity-python3.10 commands: - func: run server vars: @@ -201,8 +214,9 @@ tasks: vars: TEST_NAME: auth_aws SUB_TEST_NAME: web-identity + PYTHON_VERSION: "3.10" tags: [auth-aws, auth-aws-web-identity] - - name: test-auth-aws-5.0-ecs + - name: test-auth-aws-5.0-ecs-python3.10 commands: - func: run server vars: @@ -213,8 +227,9 @@ tasks: vars: TEST_NAME: auth_aws SUB_TEST_NAME: ecs + PYTHON_VERSION: "3.10" tags: [auth-aws, auth-aws-ecs] - - name: test-auth-aws-5.0-web-identity-session-name + - name: test-auth-aws-5.0-web-identity-session-name-python3.10 commands: - func: run server vars: @@ -226,8 +241,9 @@ tasks: TEST_NAME: auth_aws SUB_TEST_NAME: web-identity AWS_ROLE_SESSION_NAME: test + PYTHON_VERSION: "3.10" tags: [auth-aws, auth-aws-web-identity] - - name: test-auth-aws-6.0-regular + - name: test-auth-aws-6.0-regular-python3.11 commands: - func: run server vars: @@ -238,8 +254,9 @@ tasks: vars: TEST_NAME: auth_aws SUB_TEST_NAME: regular + PYTHON_VERSION: "3.11" tags: [auth-aws, auth-aws-regular] - - name: test-auth-aws-6.0-assume-role + - name: test-auth-aws-6.0-assume-role-python3.11 commands: - func: run server vars: @@ -250,8 +267,9 @@ tasks: vars: TEST_NAME: auth_aws SUB_TEST_NAME: assume-role + PYTHON_VERSION: "3.11" tags: [auth-aws, auth-aws-assume-role] - - name: test-auth-aws-6.0-ec2 + - name: test-auth-aws-6.0-ec2-python3.11 commands: - func: run server vars: @@ -262,8 +280,9 @@ tasks: vars: TEST_NAME: auth_aws SUB_TEST_NAME: ec2 + PYTHON_VERSION: "3.11" tags: [auth-aws, auth-aws-ec2] - - name: test-auth-aws-6.0-env-creds + - name: test-auth-aws-6.0-env-creds-python3.11 commands: - func: run server vars: @@ -274,8 +293,9 @@ tasks: vars: TEST_NAME: auth_aws SUB_TEST_NAME: env-creds + PYTHON_VERSION: "3.11" tags: [auth-aws, auth-aws-env-creds] - - name: test-auth-aws-6.0-session-creds + - name: test-auth-aws-6.0-session-creds-python3.11 commands: - func: run server vars: @@ -286,8 +306,9 @@ tasks: vars: TEST_NAME: auth_aws SUB_TEST_NAME: session-creds + PYTHON_VERSION: "3.11" tags: [auth-aws, auth-aws-session-creds] - - name: test-auth-aws-6.0-web-identity + - name: test-auth-aws-6.0-web-identity-python3.11 commands: - func: run server vars: @@ -298,8 +319,9 @@ tasks: vars: TEST_NAME: auth_aws SUB_TEST_NAME: web-identity + PYTHON_VERSION: "3.11" tags: [auth-aws, auth-aws-web-identity] - - name: test-auth-aws-6.0-ecs + - name: test-auth-aws-6.0-ecs-python3.11 commands: - func: run server vars: @@ -310,8 +332,9 @@ tasks: vars: TEST_NAME: auth_aws SUB_TEST_NAME: ecs + PYTHON_VERSION: "3.11" tags: [auth-aws, auth-aws-ecs] - - name: test-auth-aws-6.0-web-identity-session-name + - name: test-auth-aws-6.0-web-identity-session-name-python3.11 commands: - func: run server vars: @@ -323,8 +346,9 @@ tasks: TEST_NAME: auth_aws SUB_TEST_NAME: web-identity AWS_ROLE_SESSION_NAME: test + PYTHON_VERSION: "3.11" tags: [auth-aws, auth-aws-web-identity] - - name: test-auth-aws-7.0-regular + - name: test-auth-aws-7.0-regular-python3.12 commands: - func: run server vars: @@ -335,8 +359,9 @@ tasks: vars: TEST_NAME: auth_aws SUB_TEST_NAME: regular + PYTHON_VERSION: "3.12" tags: [auth-aws, auth-aws-regular] - - name: test-auth-aws-7.0-assume-role + - name: test-auth-aws-7.0-assume-role-python3.12 commands: - func: run server vars: @@ -347,8 +372,9 @@ tasks: vars: TEST_NAME: auth_aws SUB_TEST_NAME: assume-role + PYTHON_VERSION: "3.12" tags: [auth-aws, auth-aws-assume-role] - - name: test-auth-aws-7.0-ec2 + - name: test-auth-aws-7.0-ec2-python3.12 commands: - func: run server vars: @@ -359,8 +385,9 @@ tasks: vars: TEST_NAME: auth_aws SUB_TEST_NAME: ec2 + PYTHON_VERSION: "3.12" tags: [auth-aws, auth-aws-ec2] - - name: test-auth-aws-7.0-env-creds + - name: test-auth-aws-7.0-env-creds-python3.12 commands: - func: run server vars: @@ -371,8 +398,9 @@ tasks: vars: TEST_NAME: auth_aws SUB_TEST_NAME: env-creds + PYTHON_VERSION: "3.12" tags: [auth-aws, auth-aws-env-creds] - - name: test-auth-aws-7.0-session-creds + - name: test-auth-aws-7.0-session-creds-python3.12 commands: - func: run server vars: @@ -383,8 +411,9 @@ tasks: vars: TEST_NAME: auth_aws SUB_TEST_NAME: session-creds + PYTHON_VERSION: "3.12" tags: [auth-aws, auth-aws-session-creds] - - name: test-auth-aws-7.0-web-identity + - name: test-auth-aws-7.0-web-identity-python3.12 commands: - func: run server vars: @@ -395,8 +424,9 @@ tasks: vars: TEST_NAME: auth_aws SUB_TEST_NAME: web-identity + PYTHON_VERSION: "3.12" tags: [auth-aws, auth-aws-web-identity] - - name: test-auth-aws-7.0-ecs + - name: test-auth-aws-7.0-ecs-python3.12 commands: - func: run server vars: @@ -407,8 +437,9 @@ tasks: vars: TEST_NAME: auth_aws SUB_TEST_NAME: ecs + PYTHON_VERSION: "3.12" tags: [auth-aws, auth-aws-ecs] - - name: test-auth-aws-7.0-web-identity-session-name + - name: test-auth-aws-7.0-web-identity-session-name-python3.12 commands: - func: run server vars: @@ -420,8 +451,9 @@ tasks: TEST_NAME: auth_aws SUB_TEST_NAME: web-identity AWS_ROLE_SESSION_NAME: test + PYTHON_VERSION: "3.12" tags: [auth-aws, auth-aws-web-identity] - - name: test-auth-aws-8.0-regular + - name: test-auth-aws-8.0-regular-python3.13 commands: - func: run server vars: @@ -432,8 +464,9 @@ tasks: vars: TEST_NAME: auth_aws SUB_TEST_NAME: regular + PYTHON_VERSION: "3.13" tags: [auth-aws, auth-aws-regular] - - name: test-auth-aws-8.0-assume-role + - name: test-auth-aws-8.0-assume-role-python3.13 commands: - func: run server vars: @@ -444,8 +477,9 @@ tasks: vars: TEST_NAME: auth_aws SUB_TEST_NAME: assume-role + PYTHON_VERSION: "3.13" tags: [auth-aws, auth-aws-assume-role] - - name: test-auth-aws-8.0-ec2 + - name: test-auth-aws-8.0-ec2-python3.13 commands: - func: run server vars: @@ -456,8 +490,9 @@ tasks: vars: TEST_NAME: auth_aws SUB_TEST_NAME: ec2 + PYTHON_VERSION: "3.13" tags: [auth-aws, auth-aws-ec2] - - name: test-auth-aws-8.0-env-creds + - name: test-auth-aws-8.0-env-creds-python3.13 commands: - func: run server vars: @@ -468,8 +503,9 @@ tasks: vars: TEST_NAME: auth_aws SUB_TEST_NAME: env-creds + PYTHON_VERSION: "3.13" tags: [auth-aws, auth-aws-env-creds] - - name: test-auth-aws-8.0-session-creds + - name: test-auth-aws-8.0-session-creds-python3.13 commands: - func: run server vars: @@ -480,8 +516,9 @@ tasks: vars: TEST_NAME: auth_aws SUB_TEST_NAME: session-creds + PYTHON_VERSION: "3.13" tags: [auth-aws, auth-aws-session-creds] - - name: test-auth-aws-8.0-web-identity + - name: test-auth-aws-8.0-web-identity-python3.13 commands: - func: run server vars: @@ -492,8 +529,9 @@ tasks: vars: TEST_NAME: auth_aws SUB_TEST_NAME: web-identity + PYTHON_VERSION: "3.13" tags: [auth-aws, auth-aws-web-identity] - - name: test-auth-aws-8.0-ecs + - name: test-auth-aws-8.0-ecs-python3.13 commands: - func: run server vars: @@ -504,8 +542,9 @@ tasks: vars: TEST_NAME: auth_aws SUB_TEST_NAME: ecs + PYTHON_VERSION: "3.13" tags: [auth-aws, auth-aws-ecs] - - name: test-auth-aws-8.0-web-identity-session-name + - name: test-auth-aws-8.0-web-identity-session-name-python3.13 commands: - func: run server vars: @@ -517,8 +556,9 @@ tasks: TEST_NAME: auth_aws SUB_TEST_NAME: web-identity AWS_ROLE_SESSION_NAME: test + PYTHON_VERSION: "3.13" tags: [auth-aws, auth-aws-web-identity] - - name: test-auth-aws-rapid-regular + - name: test-auth-aws-rapid-regular-python3.9 commands: - func: run server vars: @@ -529,8 +569,9 @@ tasks: vars: TEST_NAME: auth_aws SUB_TEST_NAME: regular + PYTHON_VERSION: "3.9" tags: [auth-aws, auth-aws-regular] - - name: test-auth-aws-rapid-assume-role + - name: test-auth-aws-rapid-assume-role-python3.9 commands: - func: run server vars: @@ -541,8 +582,9 @@ tasks: vars: TEST_NAME: auth_aws SUB_TEST_NAME: assume-role + PYTHON_VERSION: "3.9" tags: [auth-aws, auth-aws-assume-role] - - name: test-auth-aws-rapid-ec2 + - name: test-auth-aws-rapid-ec2-python3.9 commands: - func: run server vars: @@ -553,8 +595,9 @@ tasks: vars: TEST_NAME: auth_aws SUB_TEST_NAME: ec2 + PYTHON_VERSION: "3.9" tags: [auth-aws, auth-aws-ec2] - - name: test-auth-aws-rapid-env-creds + - name: test-auth-aws-rapid-env-creds-python3.9 commands: - func: run server vars: @@ -565,8 +608,9 @@ tasks: vars: TEST_NAME: auth_aws SUB_TEST_NAME: env-creds + PYTHON_VERSION: "3.9" tags: [auth-aws, auth-aws-env-creds] - - name: test-auth-aws-rapid-session-creds + - name: test-auth-aws-rapid-session-creds-python3.9 commands: - func: run server vars: @@ -577,8 +621,9 @@ tasks: vars: TEST_NAME: auth_aws SUB_TEST_NAME: session-creds + PYTHON_VERSION: "3.9" tags: [auth-aws, auth-aws-session-creds] - - name: test-auth-aws-rapid-web-identity + - name: test-auth-aws-rapid-web-identity-python3.9 commands: - func: run server vars: @@ -589,8 +634,9 @@ tasks: vars: TEST_NAME: auth_aws SUB_TEST_NAME: web-identity + PYTHON_VERSION: "3.9" tags: [auth-aws, auth-aws-web-identity] - - name: test-auth-aws-rapid-ecs + - name: test-auth-aws-rapid-ecs-python3.9 commands: - func: run server vars: @@ -601,8 +647,9 @@ tasks: vars: TEST_NAME: auth_aws SUB_TEST_NAME: ecs + PYTHON_VERSION: "3.9" tags: [auth-aws, auth-aws-ecs] - - name: test-auth-aws-rapid-web-identity-session-name + - name: test-auth-aws-rapid-web-identity-session-name-python3.9 commands: - func: run server vars: @@ -614,8 +661,9 @@ tasks: TEST_NAME: auth_aws SUB_TEST_NAME: web-identity AWS_ROLE_SESSION_NAME: test + PYTHON_VERSION: "3.9" tags: [auth-aws, auth-aws-web-identity] - - name: test-auth-aws-latest-regular + - name: test-auth-aws-latest-regular-python3.10 commands: - func: run server vars: @@ -626,8 +674,9 @@ tasks: vars: TEST_NAME: auth_aws SUB_TEST_NAME: regular + PYTHON_VERSION: "3.10" tags: [auth-aws, auth-aws-regular] - - name: test-auth-aws-latest-assume-role + - name: test-auth-aws-latest-assume-role-python3.10 commands: - func: run server vars: @@ -638,8 +687,9 @@ tasks: vars: TEST_NAME: auth_aws SUB_TEST_NAME: assume-role + PYTHON_VERSION: "3.10" tags: [auth-aws, auth-aws-assume-role] - - name: test-auth-aws-latest-ec2 + - name: test-auth-aws-latest-ec2-python3.10 commands: - func: run server vars: @@ -650,8 +700,9 @@ tasks: vars: TEST_NAME: auth_aws SUB_TEST_NAME: ec2 + PYTHON_VERSION: "3.10" tags: [auth-aws, auth-aws-ec2] - - name: test-auth-aws-latest-env-creds + - name: test-auth-aws-latest-env-creds-python3.10 commands: - func: run server vars: @@ -662,8 +713,9 @@ tasks: vars: TEST_NAME: auth_aws SUB_TEST_NAME: env-creds + PYTHON_VERSION: "3.10" tags: [auth-aws, auth-aws-env-creds] - - name: test-auth-aws-latest-session-creds + - name: test-auth-aws-latest-session-creds-python3.10 commands: - func: run server vars: @@ -674,8 +726,9 @@ tasks: vars: TEST_NAME: auth_aws SUB_TEST_NAME: session-creds + PYTHON_VERSION: "3.10" tags: [auth-aws, auth-aws-session-creds] - - name: test-auth-aws-latest-web-identity + - name: test-auth-aws-latest-web-identity-python3.10 commands: - func: run server vars: @@ -686,8 +739,9 @@ tasks: vars: TEST_NAME: auth_aws SUB_TEST_NAME: web-identity + PYTHON_VERSION: "3.10" tags: [auth-aws, auth-aws-web-identity] - - name: test-auth-aws-latest-ecs + - name: test-auth-aws-latest-ecs-python3.10 commands: - func: run server vars: @@ -698,8 +752,9 @@ tasks: vars: TEST_NAME: auth_aws SUB_TEST_NAME: ecs + PYTHON_VERSION: "3.10" tags: [auth-aws, auth-aws-ecs] - - name: test-auth-aws-latest-web-identity-session-name + - name: test-auth-aws-latest-web-identity-session-name-python3.10 commands: - func: run server vars: @@ -711,6 +766,7 @@ tasks: TEST_NAME: auth_aws SUB_TEST_NAME: web-identity AWS_ROLE_SESSION_NAME: test + PYTHON_VERSION: "3.10" tags: [auth-aws, auth-aws-web-identity] # Backport pr tests diff --git a/.evergreen/generated_configs/variants.yml b/.evergreen/generated_configs/variants.yml index 0855a27636..0e9d96d64f 100644 --- a/.evergreen/generated_configs/variants.yml +++ b/.evergreen/generated_configs/variants.yml @@ -100,54 +100,24 @@ buildvariants: PYTHON_BINARY: /opt/python/3.13/bin/python3 # Aws auth tests - - name: auth-aws-ubuntu-20-python3.9 + - name: auth-aws-ubuntu-20 tasks: - name: .auth-aws - display_name: Auth AWS Ubuntu-20 Python3.9 + display_name: Auth AWS Ubuntu-20 run_on: - ubuntu2004-small - expansions: - PYTHON_BINARY: /opt/python/3.9/bin/python3 - - name: auth-aws-ubuntu-20-python3.13 - tasks: - - name: .auth-aws - display_name: Auth AWS Ubuntu-20 Python3.13 - run_on: - - ubuntu2004-small - expansions: - PYTHON_BINARY: /opt/python/3.13/bin/python3 - - name: auth-aws-win64-python3.9 - tasks: - - name: .auth-aws !.auth-aws-ecs - display_name: Auth AWS Win64 Python3.9 - run_on: - - windows-64-vsMulti-small - expansions: - PYTHON_BINARY: C:/python/Python39/python.exe - - name: auth-aws-win64-python3.13 + - name: auth-aws-win64 tasks: - name: .auth-aws !.auth-aws-ecs - display_name: Auth AWS Win64 Python3.13 + display_name: Auth AWS Win64 run_on: - windows-64-vsMulti-small - expansions: - PYTHON_BINARY: C:/python/Python313/python.exe - - name: auth-aws-macos-python3.9 - tasks: - - name: .auth-aws !.auth-aws-web-identity !.auth-aws-ecs !.auth-aws-ec2 - display_name: Auth AWS macOS Python3.9 - run_on: - - macos-14 - expansions: - PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.9/bin/python3 - - name: auth-aws-macos-python3.13 + - name: auth-aws-macos tasks: - name: .auth-aws !.auth-aws-web-identity !.auth-aws-ecs !.auth-aws-ec2 - display_name: Auth AWS macOS Python3.13 + display_name: Auth AWS macOS run_on: - macos-14 - expansions: - PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.13/bin/python3 # Aws lambda tests - name: faas-lambda diff --git a/.evergreen/scripts/generate_config.py b/.evergreen/scripts/generate_config.py index b6bd5dce26..4c8b6a9f40 100644 --- a/.evergreen/scripts/generate_config.py +++ b/.evergreen/scripts/generate_config.py @@ -518,7 +518,7 @@ def create_perf_variants(): def create_aws_auth_variants(): variants = [] - for host_name, python in product(["ubuntu20", "win64", "macos"], MIN_MAX_PYTHON): + for host_name in ["ubuntu20", "win64", "macos"]: expansions = dict() tasks = [".auth-aws"] if host_name == "macos": @@ -528,9 +528,8 @@ def create_aws_auth_variants(): host = HOSTS[host_name] variant = create_variant( tasks, - get_variant_name("Auth AWS", host, python=python), + get_variant_name("Auth AWS", host), host=host, - python=python, expansions=expansions, ) variants.append(variant) @@ -755,7 +754,7 @@ def create_aws_tasks(): "web-identity", "ecs", ] - for version in get_versions_from("4.4"): + for version, python in zip_cycle(get_versions_from("4.4"), CPYTHONS): base_name = f"test-auth-aws-{version}" base_tags = ["auth-aws"] server_vars = dict(AUTH_AWS="1", VERSION=version) @@ -763,16 +762,19 @@ def create_aws_tasks(): assume_func = FunctionCall(func="assume ec2 role") for test_type in aws_test_types: tags = [*base_tags, f"auth-aws-{test_type}"] - name = f"{base_name}-{test_type}" - test_vars = dict(TEST_NAME="auth_aws", SUB_TEST_NAME=test_type) + name = get_task_name(f"{base_name}-{test_type}", python=python) + test_vars = dict(TEST_NAME="auth_aws", SUB_TEST_NAME=test_type, PYTHON_VERSION=python) test_func = FunctionCall(func="run tests", vars=test_vars) funcs = [server_func, assume_func, test_func] tasks.append(EvgTask(name=name, tags=tags, commands=funcs)) tags = [*base_tags, "auth-aws-web-identity"] - name = f"{base_name}-web-identity-session-name" + name = get_task_name(f"{base_name}-web-identity-session-name", python=python) test_vars = dict( - TEST_NAME="auth_aws", SUB_TEST_NAME="web-identity", AWS_ROLE_SESSION_NAME="test" + TEST_NAME="auth_aws", + SUB_TEST_NAME="web-identity", + AWS_ROLE_SESSION_NAME="test", + PYTHON_VERSION=python, ) test_func = FunctionCall(func="run tests", vars=test_vars) funcs = [server_func, assume_func, test_func] From d341718eefcf90d1d668ec7d7f7de6c2d85138b8 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Thu, 17 Apr 2025 10:19:37 -0500 Subject: [PATCH 2/5] clean up tasks --- .evergreen/scripts/generate_config.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.evergreen/scripts/generate_config.py b/.evergreen/scripts/generate_config.py index 4c8b6a9f40..454fed9402 100644 --- a/.evergreen/scripts/generate_config.py +++ b/.evergreen/scripts/generate_config.py @@ -754,7 +754,8 @@ def create_aws_tasks(): "web-identity", "ecs", ] - for version, python in zip_cycle(get_versions_from("4.4"), CPYTHONS): + for idx, version in enumerate(get_versions_from("4.4")): + python = CPYTHONS[idx % len(CPYTHONS)] base_name = f"test-auth-aws-{version}" base_tags = ["auth-aws"] server_vars = dict(AUTH_AWS="1", VERSION=version) From 7dd8ce18c0caf69931aa7cba85219a747b1733f2 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Thu, 17 Apr 2025 10:23:15 -0500 Subject: [PATCH 3/5] reduce tasks --- .evergreen/generated_configs/tasks.yml | 648 +------------------------ .evergreen/scripts/generate_config.py | 35 +- 2 files changed, 26 insertions(+), 657 deletions(-) diff --git a/.evergreen/generated_configs/tasks.yml b/.evergreen/generated_configs/tasks.yml index 48674e554d..88c66e4276 100644 --- a/.evergreen/generated_configs/tasks.yml +++ b/.evergreen/generated_configs/tasks.yml @@ -46,464 +46,44 @@ tasks: SUB_TEST_NAME: regular PYTHON_VERSION: "3.9" tags: [auth-aws, auth-aws-regular] - - name: test-auth-aws-4.4-assume-role-python3.9 - commands: - - func: run server - vars: - AUTH_AWS: "1" - VERSION: "4.4" - - func: assume ec2 role - - func: run tests - vars: - TEST_NAME: auth_aws - SUB_TEST_NAME: assume-role - PYTHON_VERSION: "3.9" - tags: [auth-aws, auth-aws-assume-role] - - name: test-auth-aws-4.4-ec2-python3.9 - commands: - - func: run server - vars: - AUTH_AWS: "1" - VERSION: "4.4" - - func: assume ec2 role - - func: run tests - vars: - TEST_NAME: auth_aws - SUB_TEST_NAME: ec2 - PYTHON_VERSION: "3.9" - tags: [auth-aws, auth-aws-ec2] - - name: test-auth-aws-4.4-env-creds-python3.9 - commands: - - func: run server - vars: - AUTH_AWS: "1" - VERSION: "4.4" - - func: assume ec2 role - - func: run tests - vars: - TEST_NAME: auth_aws - SUB_TEST_NAME: env-creds - PYTHON_VERSION: "3.9" - tags: [auth-aws, auth-aws-env-creds] - - name: test-auth-aws-4.4-session-creds-python3.9 - commands: - - func: run server - vars: - AUTH_AWS: "1" - VERSION: "4.4" - - func: assume ec2 role - - func: run tests - vars: - TEST_NAME: auth_aws - SUB_TEST_NAME: session-creds - PYTHON_VERSION: "3.9" - tags: [auth-aws, auth-aws-session-creds] - - name: test-auth-aws-4.4-web-identity-python3.9 - commands: - - func: run server - vars: - AUTH_AWS: "1" - VERSION: "4.4" - - func: assume ec2 role - - func: run tests - vars: - TEST_NAME: auth_aws - SUB_TEST_NAME: web-identity - PYTHON_VERSION: "3.9" - tags: [auth-aws, auth-aws-web-identity] - - name: test-auth-aws-4.4-ecs-python3.9 - commands: - - func: run server - vars: - AUTH_AWS: "1" - VERSION: "4.4" - - func: assume ec2 role - - func: run tests - vars: - TEST_NAME: auth_aws - SUB_TEST_NAME: ecs - PYTHON_VERSION: "3.9" - tags: [auth-aws, auth-aws-ecs] - - name: test-auth-aws-4.4-web-identity-session-name-python3.9 - commands: - - func: run server - vars: - AUTH_AWS: "1" - VERSION: "4.4" - - func: assume ec2 role - - func: run tests - vars: - TEST_NAME: auth_aws - SUB_TEST_NAME: web-identity - AWS_ROLE_SESSION_NAME: test - PYTHON_VERSION: "3.9" - tags: [auth-aws, auth-aws-web-identity] - - name: test-auth-aws-5.0-regular-python3.10 - commands: - - func: run server - vars: - AUTH_AWS: "1" - VERSION: "5.0" - - func: assume ec2 role - - func: run tests - vars: - TEST_NAME: auth_aws - SUB_TEST_NAME: regular - PYTHON_VERSION: "3.10" - tags: [auth-aws, auth-aws-regular] - - name: test-auth-aws-5.0-assume-role-python3.10 - commands: - - func: run server - vars: - AUTH_AWS: "1" - VERSION: "5.0" - - func: assume ec2 role - - func: run tests - vars: - TEST_NAME: auth_aws - SUB_TEST_NAME: assume-role - PYTHON_VERSION: "3.10" - tags: [auth-aws, auth-aws-assume-role] - - name: test-auth-aws-5.0-ec2-python3.10 - commands: - - func: run server - vars: - AUTH_AWS: "1" - VERSION: "5.0" - - func: assume ec2 role - - func: run tests - vars: - TEST_NAME: auth_aws - SUB_TEST_NAME: ec2 - PYTHON_VERSION: "3.10" - tags: [auth-aws, auth-aws-ec2] - - name: test-auth-aws-5.0-env-creds-python3.10 - commands: - - func: run server - vars: - AUTH_AWS: "1" - VERSION: "5.0" - - func: assume ec2 role - - func: run tests - vars: - TEST_NAME: auth_aws - SUB_TEST_NAME: env-creds - PYTHON_VERSION: "3.10" - tags: [auth-aws, auth-aws-env-creds] - - name: test-auth-aws-5.0-session-creds-python3.10 - commands: - - func: run server - vars: - AUTH_AWS: "1" - VERSION: "5.0" - - func: assume ec2 role - - func: run tests - vars: - TEST_NAME: auth_aws - SUB_TEST_NAME: session-creds - PYTHON_VERSION: "3.10" - tags: [auth-aws, auth-aws-session-creds] - - name: test-auth-aws-5.0-web-identity-python3.10 - commands: - - func: run server - vars: - AUTH_AWS: "1" - VERSION: "5.0" - - func: assume ec2 role - - func: run tests - vars: - TEST_NAME: auth_aws - SUB_TEST_NAME: web-identity - PYTHON_VERSION: "3.10" - tags: [auth-aws, auth-aws-web-identity] - - name: test-auth-aws-5.0-ecs-python3.10 - commands: - - func: run server - vars: - AUTH_AWS: "1" - VERSION: "5.0" - - func: assume ec2 role - - func: run tests - vars: - TEST_NAME: auth_aws - SUB_TEST_NAME: ecs - PYTHON_VERSION: "3.10" - tags: [auth-aws, auth-aws-ecs] - - name: test-auth-aws-5.0-web-identity-session-name-python3.10 - commands: - - func: run server - vars: - AUTH_AWS: "1" - VERSION: "5.0" - - func: assume ec2 role - - func: run tests - vars: - TEST_NAME: auth_aws - SUB_TEST_NAME: web-identity - AWS_ROLE_SESSION_NAME: test - PYTHON_VERSION: "3.10" - tags: [auth-aws, auth-aws-web-identity] - - name: test-auth-aws-6.0-regular-python3.11 - commands: - - func: run server - vars: - AUTH_AWS: "1" - VERSION: "6.0" - - func: assume ec2 role - - func: run tests - vars: - TEST_NAME: auth_aws - SUB_TEST_NAME: regular - PYTHON_VERSION: "3.11" - tags: [auth-aws, auth-aws-regular] - - name: test-auth-aws-6.0-assume-role-python3.11 - commands: - - func: run server - vars: - AUTH_AWS: "1" - VERSION: "6.0" - - func: assume ec2 role - - func: run tests - vars: - TEST_NAME: auth_aws - SUB_TEST_NAME: assume-role - PYTHON_VERSION: "3.11" - tags: [auth-aws, auth-aws-assume-role] - - name: test-auth-aws-6.0-ec2-python3.11 - commands: - - func: run server - vars: - AUTH_AWS: "1" - VERSION: "6.0" - - func: assume ec2 role - - func: run tests - vars: - TEST_NAME: auth_aws - SUB_TEST_NAME: ec2 - PYTHON_VERSION: "3.11" - tags: [auth-aws, auth-aws-ec2] - - name: test-auth-aws-6.0-env-creds-python3.11 - commands: - - func: run server - vars: - AUTH_AWS: "1" - VERSION: "6.0" - - func: assume ec2 role - - func: run tests - vars: - TEST_NAME: auth_aws - SUB_TEST_NAME: env-creds - PYTHON_VERSION: "3.11" - tags: [auth-aws, auth-aws-env-creds] - - name: test-auth-aws-6.0-session-creds-python3.11 - commands: - - func: run server - vars: - AUTH_AWS: "1" - VERSION: "6.0" - - func: assume ec2 role - - func: run tests - vars: - TEST_NAME: auth_aws - SUB_TEST_NAME: session-creds - PYTHON_VERSION: "3.11" - tags: [auth-aws, auth-aws-session-creds] - - name: test-auth-aws-6.0-web-identity-python3.11 - commands: - - func: run server - vars: - AUTH_AWS: "1" - VERSION: "6.0" - - func: assume ec2 role - - func: run tests - vars: - TEST_NAME: auth_aws - SUB_TEST_NAME: web-identity - PYTHON_VERSION: "3.11" - tags: [auth-aws, auth-aws-web-identity] - - name: test-auth-aws-6.0-ecs-python3.11 - commands: - - func: run server - vars: - AUTH_AWS: "1" - VERSION: "6.0" - - func: assume ec2 role - - func: run tests - vars: - TEST_NAME: auth_aws - SUB_TEST_NAME: ecs - PYTHON_VERSION: "3.11" - tags: [auth-aws, auth-aws-ecs] - - name: test-auth-aws-6.0-web-identity-session-name-python3.11 - commands: - - func: run server - vars: - AUTH_AWS: "1" - VERSION: "6.0" - - func: assume ec2 role - - func: run tests - vars: - TEST_NAME: auth_aws - SUB_TEST_NAME: web-identity - AWS_ROLE_SESSION_NAME: test - PYTHON_VERSION: "3.11" - tags: [auth-aws, auth-aws-web-identity] - - name: test-auth-aws-7.0-regular-python3.12 - commands: - - func: run server - vars: - AUTH_AWS: "1" - VERSION: "7.0" - - func: assume ec2 role - - func: run tests - vars: - TEST_NAME: auth_aws - SUB_TEST_NAME: regular - PYTHON_VERSION: "3.12" - tags: [auth-aws, auth-aws-regular] - - name: test-auth-aws-7.0-assume-role-python3.12 - commands: - - func: run server - vars: - AUTH_AWS: "1" - VERSION: "7.0" - - func: assume ec2 role - - func: run tests - vars: - TEST_NAME: auth_aws - SUB_TEST_NAME: assume-role - PYTHON_VERSION: "3.12" - tags: [auth-aws, auth-aws-assume-role] - - name: test-auth-aws-7.0-ec2-python3.12 - commands: - - func: run server - vars: - AUTH_AWS: "1" - VERSION: "7.0" - - func: assume ec2 role - - func: run tests - vars: - TEST_NAME: auth_aws - SUB_TEST_NAME: ec2 - PYTHON_VERSION: "3.12" - tags: [auth-aws, auth-aws-ec2] - - name: test-auth-aws-7.0-env-creds-python3.12 - commands: - - func: run server - vars: - AUTH_AWS: "1" - VERSION: "7.0" - - func: assume ec2 role - - func: run tests - vars: - TEST_NAME: auth_aws - SUB_TEST_NAME: env-creds - PYTHON_VERSION: "3.12" - tags: [auth-aws, auth-aws-env-creds] - - name: test-auth-aws-7.0-session-creds-python3.12 - commands: - - func: run server - vars: - AUTH_AWS: "1" - VERSION: "7.0" - - func: assume ec2 role - - func: run tests - vars: - TEST_NAME: auth_aws - SUB_TEST_NAME: session-creds - PYTHON_VERSION: "3.12" - tags: [auth-aws, auth-aws-session-creds] - - name: test-auth-aws-7.0-web-identity-python3.12 - commands: - - func: run server - vars: - AUTH_AWS: "1" - VERSION: "7.0" - - func: assume ec2 role - - func: run tests - vars: - TEST_NAME: auth_aws - SUB_TEST_NAME: web-identity - PYTHON_VERSION: "3.12" - tags: [auth-aws, auth-aws-web-identity] - - name: test-auth-aws-7.0-ecs-python3.12 - commands: - - func: run server - vars: - AUTH_AWS: "1" - VERSION: "7.0" - - func: assume ec2 role - - func: run tests - vars: - TEST_NAME: auth_aws - SUB_TEST_NAME: ecs - PYTHON_VERSION: "3.12" - tags: [auth-aws, auth-aws-ecs] - - name: test-auth-aws-7.0-web-identity-session-name-python3.12 - commands: - - func: run server - vars: - AUTH_AWS: "1" - VERSION: "7.0" - - func: assume ec2 role - - func: run tests - vars: - TEST_NAME: auth_aws - SUB_TEST_NAME: web-identity - AWS_ROLE_SESSION_NAME: test - PYTHON_VERSION: "3.12" - tags: [auth-aws, auth-aws-web-identity] - - name: test-auth-aws-8.0-regular-python3.13 - commands: - - func: run server - vars: - AUTH_AWS: "1" - VERSION: "8.0" - - func: assume ec2 role - - func: run tests - vars: - TEST_NAME: auth_aws - SUB_TEST_NAME: regular - PYTHON_VERSION: "3.13" - tags: [auth-aws, auth-aws-regular] - - name: test-auth-aws-8.0-assume-role-python3.13 + - name: test-auth-aws-5.0-assume-role-python3.10 commands: - func: run server vars: AUTH_AWS: "1" - VERSION: "8.0" + VERSION: "5.0" - func: assume ec2 role - func: run tests vars: TEST_NAME: auth_aws SUB_TEST_NAME: assume-role - PYTHON_VERSION: "3.13" + PYTHON_VERSION: "3.10" tags: [auth-aws, auth-aws-assume-role] - - name: test-auth-aws-8.0-ec2-python3.13 + - name: test-auth-aws-6.0-ec2-python3.11 commands: - func: run server vars: AUTH_AWS: "1" - VERSION: "8.0" + VERSION: "6.0" - func: assume ec2 role - func: run tests vars: TEST_NAME: auth_aws SUB_TEST_NAME: ec2 - PYTHON_VERSION: "3.13" + PYTHON_VERSION: "3.11" tags: [auth-aws, auth-aws-ec2] - - name: test-auth-aws-8.0-env-creds-python3.13 + - name: test-auth-aws-7.0-env-creds-python3.12 commands: - func: run server vars: AUTH_AWS: "1" - VERSION: "8.0" + VERSION: "7.0" - func: assume ec2 role - func: run tests vars: TEST_NAME: auth_aws SUB_TEST_NAME: env-creds - PYTHON_VERSION: "3.13" + PYTHON_VERSION: "3.12" tags: [auth-aws, auth-aws-env-creds] - name: test-auth-aws-8.0-session-creds-python3.13 commands: @@ -518,111 +98,6 @@ tasks: SUB_TEST_NAME: session-creds PYTHON_VERSION: "3.13" tags: [auth-aws, auth-aws-session-creds] - - name: test-auth-aws-8.0-web-identity-python3.13 - commands: - - func: run server - vars: - AUTH_AWS: "1" - VERSION: "8.0" - - func: assume ec2 role - - func: run tests - vars: - TEST_NAME: auth_aws - SUB_TEST_NAME: web-identity - PYTHON_VERSION: "3.13" - tags: [auth-aws, auth-aws-web-identity] - - name: test-auth-aws-8.0-ecs-python3.13 - commands: - - func: run server - vars: - AUTH_AWS: "1" - VERSION: "8.0" - - func: assume ec2 role - - func: run tests - vars: - TEST_NAME: auth_aws - SUB_TEST_NAME: ecs - PYTHON_VERSION: "3.13" - tags: [auth-aws, auth-aws-ecs] - - name: test-auth-aws-8.0-web-identity-session-name-python3.13 - commands: - - func: run server - vars: - AUTH_AWS: "1" - VERSION: "8.0" - - func: assume ec2 role - - func: run tests - vars: - TEST_NAME: auth_aws - SUB_TEST_NAME: web-identity - AWS_ROLE_SESSION_NAME: test - PYTHON_VERSION: "3.13" - tags: [auth-aws, auth-aws-web-identity] - - name: test-auth-aws-rapid-regular-python3.9 - commands: - - func: run server - vars: - AUTH_AWS: "1" - VERSION: rapid - - func: assume ec2 role - - func: run tests - vars: - TEST_NAME: auth_aws - SUB_TEST_NAME: regular - PYTHON_VERSION: "3.9" - tags: [auth-aws, auth-aws-regular] - - name: test-auth-aws-rapid-assume-role-python3.9 - commands: - - func: run server - vars: - AUTH_AWS: "1" - VERSION: rapid - - func: assume ec2 role - - func: run tests - vars: - TEST_NAME: auth_aws - SUB_TEST_NAME: assume-role - PYTHON_VERSION: "3.9" - tags: [auth-aws, auth-aws-assume-role] - - name: test-auth-aws-rapid-ec2-python3.9 - commands: - - func: run server - vars: - AUTH_AWS: "1" - VERSION: rapid - - func: assume ec2 role - - func: run tests - vars: - TEST_NAME: auth_aws - SUB_TEST_NAME: ec2 - PYTHON_VERSION: "3.9" - tags: [auth-aws, auth-aws-ec2] - - name: test-auth-aws-rapid-env-creds-python3.9 - commands: - - func: run server - vars: - AUTH_AWS: "1" - VERSION: rapid - - func: assume ec2 role - - func: run tests - vars: - TEST_NAME: auth_aws - SUB_TEST_NAME: env-creds - PYTHON_VERSION: "3.9" - tags: [auth-aws, auth-aws-env-creds] - - name: test-auth-aws-rapid-session-creds-python3.9 - commands: - - func: run server - vars: - AUTH_AWS: "1" - VERSION: rapid - - func: assume ec2 role - - func: run tests - vars: - TEST_NAME: auth_aws - SUB_TEST_NAME: session-creds - PYTHON_VERSION: "3.9" - tags: [auth-aws, auth-aws-session-creds] - name: test-auth-aws-rapid-web-identity-python3.9 commands: - func: run server @@ -636,19 +111,6 @@ tasks: SUB_TEST_NAME: web-identity PYTHON_VERSION: "3.9" tags: [auth-aws, auth-aws-web-identity] - - name: test-auth-aws-rapid-ecs-python3.9 - commands: - - func: run server - vars: - AUTH_AWS: "1" - VERSION: rapid - - func: assume ec2 role - - func: run tests - vars: - TEST_NAME: auth_aws - SUB_TEST_NAME: ecs - PYTHON_VERSION: "3.9" - tags: [auth-aws, auth-aws-ecs] - name: test-auth-aws-rapid-web-identity-session-name-python3.9 commands: - func: run server @@ -663,84 +125,6 @@ tasks: AWS_ROLE_SESSION_NAME: test PYTHON_VERSION: "3.9" tags: [auth-aws, auth-aws-web-identity] - - name: test-auth-aws-latest-regular-python3.10 - commands: - - func: run server - vars: - AUTH_AWS: "1" - VERSION: latest - - func: assume ec2 role - - func: run tests - vars: - TEST_NAME: auth_aws - SUB_TEST_NAME: regular - PYTHON_VERSION: "3.10" - tags: [auth-aws, auth-aws-regular] - - name: test-auth-aws-latest-assume-role-python3.10 - commands: - - func: run server - vars: - AUTH_AWS: "1" - VERSION: latest - - func: assume ec2 role - - func: run tests - vars: - TEST_NAME: auth_aws - SUB_TEST_NAME: assume-role - PYTHON_VERSION: "3.10" - tags: [auth-aws, auth-aws-assume-role] - - name: test-auth-aws-latest-ec2-python3.10 - commands: - - func: run server - vars: - AUTH_AWS: "1" - VERSION: latest - - func: assume ec2 role - - func: run tests - vars: - TEST_NAME: auth_aws - SUB_TEST_NAME: ec2 - PYTHON_VERSION: "3.10" - tags: [auth-aws, auth-aws-ec2] - - name: test-auth-aws-latest-env-creds-python3.10 - commands: - - func: run server - vars: - AUTH_AWS: "1" - VERSION: latest - - func: assume ec2 role - - func: run tests - vars: - TEST_NAME: auth_aws - SUB_TEST_NAME: env-creds - PYTHON_VERSION: "3.10" - tags: [auth-aws, auth-aws-env-creds] - - name: test-auth-aws-latest-session-creds-python3.10 - commands: - - func: run server - vars: - AUTH_AWS: "1" - VERSION: latest - - func: assume ec2 role - - func: run tests - vars: - TEST_NAME: auth_aws - SUB_TEST_NAME: session-creds - PYTHON_VERSION: "3.10" - tags: [auth-aws, auth-aws-session-creds] - - name: test-auth-aws-latest-web-identity-python3.10 - commands: - - func: run server - vars: - AUTH_AWS: "1" - VERSION: latest - - func: assume ec2 role - - func: run tests - vars: - TEST_NAME: auth_aws - SUB_TEST_NAME: web-identity - PYTHON_VERSION: "3.10" - tags: [auth-aws, auth-aws-web-identity] - name: test-auth-aws-latest-ecs-python3.10 commands: - func: run server @@ -754,20 +138,6 @@ tasks: SUB_TEST_NAME: ecs PYTHON_VERSION: "3.10" tags: [auth-aws, auth-aws-ecs] - - name: test-auth-aws-latest-web-identity-session-name-python3.10 - commands: - - func: run server - vars: - AUTH_AWS: "1" - VERSION: latest - - func: assume ec2 role - - func: run tests - vars: - TEST_NAME: auth_aws - SUB_TEST_NAME: web-identity - AWS_ROLE_SESSION_NAME: test - PYTHON_VERSION: "3.10" - tags: [auth-aws, auth-aws-web-identity] # Backport pr tests - name: backport-pr diff --git a/.evergreen/scripts/generate_config.py b/.evergreen/scripts/generate_config.py index 454fed9402..071b7f995a 100644 --- a/.evergreen/scripts/generate_config.py +++ b/.evergreen/scripts/generate_config.py @@ -754,33 +754,32 @@ def create_aws_tasks(): "web-identity", "ecs", ] - for idx, version in enumerate(get_versions_from("4.4")): - python = CPYTHONS[idx % len(CPYTHONS)] + for version, test_type, python in zip_cycle(get_versions_from("4.4"), aws_test_types, CPYTHONS): base_name = f"test-auth-aws-{version}" base_tags = ["auth-aws"] server_vars = dict(AUTH_AWS="1", VERSION=version) server_func = FunctionCall(func="run server", vars=server_vars) assume_func = FunctionCall(func="assume ec2 role") - for test_type in aws_test_types: - tags = [*base_tags, f"auth-aws-{test_type}"] - name = get_task_name(f"{base_name}-{test_type}", python=python) - test_vars = dict(TEST_NAME="auth_aws", SUB_TEST_NAME=test_type, PYTHON_VERSION=python) - test_func = FunctionCall(func="run tests", vars=test_vars) - funcs = [server_func, assume_func, test_func] - tasks.append(EvgTask(name=name, tags=tags, commands=funcs)) - - tags = [*base_tags, "auth-aws-web-identity"] - name = get_task_name(f"{base_name}-web-identity-session-name", python=python) - test_vars = dict( - TEST_NAME="auth_aws", - SUB_TEST_NAME="web-identity", - AWS_ROLE_SESSION_NAME="test", - PYTHON_VERSION=python, - ) + tags = [*base_tags, f"auth-aws-{test_type}"] + name = get_task_name(f"{base_name}-{test_type}", python=python) + test_vars = dict(TEST_NAME="auth_aws", SUB_TEST_NAME=test_type, PYTHON_VERSION=python) test_func = FunctionCall(func="run tests", vars=test_vars) funcs = [server_func, assume_func, test_func] tasks.append(EvgTask(name=name, tags=tags, commands=funcs)) + if test_type == "web-identity": + tags = [*base_tags, "auth-aws-web-identity"] + name = get_task_name(f"{base_name}-web-identity-session-name", python=python) + test_vars = dict( + TEST_NAME="auth_aws", + SUB_TEST_NAME="web-identity", + AWS_ROLE_SESSION_NAME="test", + PYTHON_VERSION=python, + ) + test_func = FunctionCall(func="run tests", vars=test_vars) + funcs = [server_func, assume_func, test_func] + tasks.append(EvgTask(name=name, tags=tags, commands=funcs)) + return tasks From ee60b45e8a7edcf00618a5ff81e30d19615c9c67 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Thu, 17 Apr 2025 11:58:00 -0500 Subject: [PATCH 4/5] update green framework tests --- .evergreen/generated_configs/tasks.yml | 29 +++++++++++++---- .evergreen/generated_configs/variants.yml | 39 +++++------------------ .evergreen/scripts/generate_config.py | 31 ++++++++---------- 3 files changed, 43 insertions(+), 56 deletions(-) diff --git a/.evergreen/generated_configs/tasks.yml b/.evergreen/generated_configs/tasks.yml index 88c66e4276..3564c14e58 100644 --- a/.evergreen/generated_configs/tasks.yml +++ b/.evergreen/generated_configs/tasks.yml @@ -503,17 +503,29 @@ tasks: tags: [mockupdb] # Mod wsgi tests - - name: mod-wsgi-standalone + - name: mod-wsgi-replica-set-python3.9 commands: - func: run server vars: - TOPOLOGY: standalone + TOPOLOGY: replica_set - func: run tests vars: TEST_NAME: mod_wsgi SUB_TEST_NAME: standalone + PYTHON_VERSION: "3.9" + tags: [mod_wsgi] + - name: mod-wsgi-embedded-mode-replica-set-python3.10 + commands: + - func: run server + vars: + TOPOLOGY: replica_set + - func: run tests + vars: + TEST_NAME: mod_wsgi + SUB_TEST_NAME: embedded + PYTHON_VERSION: "3.10" tags: [mod_wsgi] - - name: mod-wsgi-replica-set + - name: mod-wsgi-replica-set-python3.11 commands: - func: run server vars: @@ -522,18 +534,20 @@ tasks: vars: TEST_NAME: mod_wsgi SUB_TEST_NAME: standalone + PYTHON_VERSION: "3.11" tags: [mod_wsgi] - - name: mod-wsgi-embedded-mode-standalone + - name: mod-wsgi-embedded-mode-replica-set-python3.12 commands: - func: run server vars: - TOPOLOGY: standalone + TOPOLOGY: replica_set - func: run tests vars: TEST_NAME: mod_wsgi SUB_TEST_NAME: embedded + PYTHON_VERSION: "3.12" tags: [mod_wsgi] - - name: mod-wsgi-embedded-mode-replica-set + - name: mod-wsgi-replica-set-python3.13 commands: - func: run server vars: @@ -541,7 +555,8 @@ tasks: - func: run tests vars: TEST_NAME: mod_wsgi - SUB_TEST_NAME: embedded + SUB_TEST_NAME: standalone + PYTHON_VERSION: "3.13" tags: [mod_wsgi] # No server tests diff --git a/.evergreen/generated_configs/variants.yml b/.evergreen/generated_configs/variants.yml index 0e9d96d64f..275de4c2fd 100644 --- a/.evergreen/generated_configs/variants.yml +++ b/.evergreen/generated_configs/variants.yml @@ -484,39 +484,26 @@ buildvariants: PYTHON_BINARY: /Library/Frameworks/PythonT.Framework/Versions/3.13/bin/python3t # Green framework tests - - name: green-eventlet-rhel8-python3.9 + - name: green-eventlet-rhel8 tasks: - - name: .standalone .noauth .nossl .sync_async - display_name: Green Eventlet RHEL8 Python3.9 + - name: .standard-linux .standalone-noauth-nossl .python-3.9 + display_name: Green Eventlet RHEL8 run_on: - rhel87-small expansions: GREEN_FRAMEWORK: eventlet AUTH: auth SSL: ssl - PYTHON_BINARY: /opt/python/3.9/bin/python3 - - name: green-gevent-rhel8-python3.9 - tasks: - - name: .standalone .noauth .nossl .sync_async - display_name: Green Gevent RHEL8 Python3.9 - run_on: - - rhel87-small - expansions: - GREEN_FRAMEWORK: gevent - AUTH: auth - SSL: ssl - PYTHON_BINARY: /opt/python/3.9/bin/python3 - - name: green-gevent-rhel8-python3.13 + - name: green-gevent-rhel8 tasks: - - name: .standalone .noauth .nossl .sync_async - display_name: Green Gevent RHEL8 Python3.13 + - name: .standard-linux .standalone-noauth-nossl + display_name: Green Gevent RHEL8 run_on: - rhel87-small expansions: GREEN_FRAMEWORK: gevent AUTH: auth SSL: ssl - PYTHON_BINARY: /opt/python/3.13/bin/python3 # Import time tests - name: import-time @@ -559,24 +546,14 @@ buildvariants: PYTHON_BINARY: /opt/python/3.9/bin/python3 # Mod wsgi tests - - name: mod_wsgi-ubuntu-22-python3.9 + - name: mod_wsgi-ubuntu-22 tasks: - name: .mod_wsgi - display_name: mod_wsgi Ubuntu-22 Python3.9 + display_name: mod_wsgi Ubuntu-22 run_on: - ubuntu2204-small expansions: MOD_WSGI_VERSION: "4" - PYTHON_BINARY: /opt/python/3.9/bin/python3 - - name: mod_wsgi-ubuntu-22-python3.13 - tasks: - - name: .mod_wsgi - display_name: mod_wsgi Ubuntu-22 Python3.13 - run_on: - - ubuntu2204-small - expansions: - MOD_WSGI_VERSION: "4" - PYTHON_BINARY: /opt/python/3.13/bin/python3 # No c ext tests - name: no-c-ext-rhel8 diff --git a/.evergreen/scripts/generate_config.py b/.evergreen/scripts/generate_config.py index 071b7f995a..6dab508d0b 100644 --- a/.evergreen/scripts/generate_config.py +++ b/.evergreen/scripts/generate_config.py @@ -340,18 +340,16 @@ def create_stable_api_variants(): def create_green_framework_variants(): variants = [] - tasks = [".standalone .noauth .nossl .sync_async"] host = DEFAULT_HOST - for python, framework in product([CPYTHONS[0], CPYTHONS[-1]], ["eventlet", "gevent"]): - if framework == "eventlet" and python == CPYTHONS[-1]: + for framework in ["eventlet", "gevent"]: + tasks = [".standard-linux .standalone-noauth-nossl"] + if framework == "eventlet": # Eventlet has issues with dnspython > 2.0 and newer versions of CPython # https://jira.mongodb.org/browse/PYTHON-5284 - continue + tasks = [".standard-linux .standalone-noauth-nossl .python-3.9"] expansions = dict(GREEN_FRAMEWORK=framework, AUTH="auth", SSL="ssl") - display_name = get_variant_name(f"Green {framework.capitalize()}", host, python=python) - variant = create_variant( - tasks, display_name, host=host, python=python, expansions=expansions - ) + display_name = get_variant_name(f"Green {framework.capitalize()}", host) + variant = create_variant(tasks, display_name, host=host, expansions=expansions) variants.append(variant) return variants @@ -377,17 +375,11 @@ def create_atlas_data_lake_variants(): def create_mod_wsgi_variants(): - variants = [] host = HOSTS["ubuntu22"] tasks = [".mod_wsgi"] expansions = dict(MOD_WSGI_VERSION="4") - for python in MIN_MAX_PYTHON: - display_name = get_variant_name("mod_wsgi", host, python=python) - variant = create_variant( - tasks, display_name, host=host, python=python, expansions=expansions - ) - variants.append(variant) - return variants + display_name = get_variant_name("mod_wsgi", host) + return [create_variant(tasks, display_name, host=host, expansions=expansions)] def create_disable_test_commands_variants(): @@ -798,15 +790,18 @@ def create_oidc_tasks(): def create_mod_wsgi_tasks(): tasks = [] - for test, topology in product(["standalone", "embedded-mode"], ["standalone", "replica_set"]): + for (test, topology), python in zip_cycle( + product(["standalone", "embedded-mode"], ["standalone", "replica_set"]), CPYTHONS + ): if test == "standalone": task_name = "mod-wsgi-" else: task_name = "mod-wsgi-embedded-mode-" task_name += topology.replace("_", "-") + task_name = get_task_name(task_name, python=python) server_vars = dict(TOPOLOGY=topology) server_func = FunctionCall(func="run server", vars=server_vars) - vars = dict(TEST_NAME="mod_wsgi", SUB_TEST_NAME=test.split("-")[0]) + vars = dict(TEST_NAME="mod_wsgi", SUB_TEST_NAME=test.split("-")[0], PYTHON_VERSION=python) test_func = FunctionCall(func="run tests", vars=vars) tags = ["mod_wsgi"] commands = [server_func, test_func] From 7fe15d7acaa35bb7100574c250100a77d187f0d4 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Thu, 17 Apr 2025 19:56:28 -0500 Subject: [PATCH 5/5] fix python ver handling --- .evergreen/generated_configs/tasks.yml | 5 +++++ .evergreen/scripts/generate_config.py | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/.evergreen/generated_configs/tasks.yml b/.evergreen/generated_configs/tasks.yml index 3564c14e58..980dbfbe51 100644 --- a/.evergreen/generated_configs/tasks.yml +++ b/.evergreen/generated_configs/tasks.yml @@ -508,6 +508,7 @@ tasks: - func: run server vars: TOPOLOGY: replica_set + PYTHON_VERSION: "3.9" - func: run tests vars: TEST_NAME: mod_wsgi @@ -519,6 +520,7 @@ tasks: - func: run server vars: TOPOLOGY: replica_set + PYTHON_VERSION: "3.10" - func: run tests vars: TEST_NAME: mod_wsgi @@ -530,6 +532,7 @@ tasks: - func: run server vars: TOPOLOGY: replica_set + PYTHON_VERSION: "3.11" - func: run tests vars: TEST_NAME: mod_wsgi @@ -541,6 +544,7 @@ tasks: - func: run server vars: TOPOLOGY: replica_set + PYTHON_VERSION: "3.12" - func: run tests vars: TEST_NAME: mod_wsgi @@ -552,6 +556,7 @@ tasks: - func: run server vars: TOPOLOGY: replica_set + PYTHON_VERSION: "3.13" - func: run tests vars: TEST_NAME: mod_wsgi diff --git a/.evergreen/scripts/generate_config.py b/.evergreen/scripts/generate_config.py index 6dab508d0b..c610bc2353 100644 --- a/.evergreen/scripts/generate_config.py +++ b/.evergreen/scripts/generate_config.py @@ -799,7 +799,7 @@ def create_mod_wsgi_tasks(): task_name = "mod-wsgi-embedded-mode-" task_name += topology.replace("_", "-") task_name = get_task_name(task_name, python=python) - server_vars = dict(TOPOLOGY=topology) + server_vars = dict(TOPOLOGY=topology, PYTHON_VERSION=python) server_func = FunctionCall(func="run server", vars=server_vars) vars = dict(TEST_NAME="mod_wsgi", SUB_TEST_NAME=test.split("-")[0], PYTHON_VERSION=python) test_func = FunctionCall(func="run tests", vars=vars)