From 416d08b65ccca83eac159d7ced926fe598f0a63f Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Sat, 9 Nov 2024 10:25:03 -0600 Subject: [PATCH 1/2] PYTHON-4956 Generated config cleanup --- .evergreen/generated_configs/variants.yml | 822 ++++++---------------- .evergreen/scripts/configure-env.sh | 5 + .evergreen/scripts/generate_config.py | 186 ++--- 3 files changed, 318 insertions(+), 695 deletions(-) diff --git a/.evergreen/generated_configs/variants.yml b/.evergreen/generated_configs/variants.yml index 9ee51899f4..69ae7aa26f 100644 --- a/.evergreen/generated_configs/variants.yml +++ b/.evergreen/generated_configs/variants.yml @@ -1,15 +1,12 @@ buildvariants: # Alternative hosts tests - - name: openssl-1.0.2-rhel7-py3.9 + - name: openssl-1.0.2-rhel7-python3.9 tasks: - name: .5.0 .standalone !.sync_async - display_name: OpenSSL 1.0.2 RHEL7 py3.9 + display_name: OpenSSL 1.0.2 RHEL7 Python3.9 run_on: - rhel79-small batchtime: 10080 - expansions: - SKIP_HATCH: "true" - PYTHON_BINARY: /opt/python/3.9/bin/python3 - name: other-hosts-rhel9-fips tasks: - name: .6.0 .standalone !.sync_async @@ -17,8 +14,6 @@ buildvariants: run_on: - rhel92-fips batchtime: 10080 - expansions: - SKIP_HATCH: "true" - name: other-hosts-rhel8-zseries tasks: - name: .6.0 .standalone !.sync_async @@ -26,8 +21,6 @@ buildvariants: run_on: - rhel8-zseries-small batchtime: 10080 - expansions: - SKIP_HATCH: "true" - name: other-hosts-rhel8-power8 tasks: - name: .6.0 .standalone !.sync_async @@ -35,8 +28,6 @@ buildvariants: run_on: - rhel8-power-small batchtime: 10080 - expansions: - SKIP_HATCH: "true" - name: other-hosts-rhel8-arm64 tasks: - name: .6.0 .standalone !.sync_async @@ -44,69 +35,49 @@ buildvariants: run_on: - rhel82-arm64-small batchtime: 10080 - expansions: - SKIP_HATCH: "true" # Atlas connect tests - - name: atlas-connect-rhel8-py3.9 + - name: atlas-connect-rhel8-python3.9 tasks: - name: atlas-connect - display_name: Atlas connect RHEL8 py3.9 + display_name: Atlas connect RHEL8 Python3.9 run_on: - rhel87-small - expansions: - PYTHON_BINARY: /opt/python/3.9/bin/python3 - - name: atlas-connect-rhel8-py3.13 + - name: atlas-connect-rhel8-python3.13 tasks: - name: atlas-connect - display_name: Atlas connect RHEL8 py3.13 + display_name: Atlas connect RHEL8 Python3.13 run_on: - rhel87-small - expansions: - PYTHON_BINARY: /opt/python/3.13/bin/python3 # Atlas data lake tests - - name: atlas-data-lake-ubuntu-22-py3.9-auth-no-c + - name: atlas-data-lake-ubuntu-22-python3.9-auth-no-c tasks: - name: atlas-data-lake-tests - display_name: Atlas Data Lake Ubuntu-22 py3.9 Auth No C + display_name: Atlas Data Lake Ubuntu-22 Python3.9 Auth No C run_on: - ubuntu2204-small - expansions: - AUTH: auth - NO_EXT: "1" - PYTHON_BINARY: /opt/python/3.9/bin/python3 - - name: atlas-data-lake-ubuntu-22-py3.9-auth + - name: atlas-data-lake-ubuntu-22-python3.9-auth tasks: - name: atlas-data-lake-tests - display_name: Atlas Data Lake Ubuntu-22 py3.9 Auth + display_name: Atlas Data Lake Ubuntu-22 Python3.9 Auth run_on: - ubuntu2204-small - expansions: - AUTH: auth - PYTHON_BINARY: /opt/python/3.9/bin/python3 - - name: atlas-data-lake-ubuntu-22-py3.13-auth-no-c + - name: atlas-data-lake-ubuntu-22-python3.13-auth-no-c tasks: - name: atlas-data-lake-tests - display_name: Atlas Data Lake Ubuntu-22 py3.13 Auth No C + display_name: Atlas Data Lake Ubuntu-22 Python3.13 Auth No C run_on: - ubuntu2204-small - expansions: - AUTH: auth - NO_EXT: "1" - PYTHON_BINARY: /opt/python/3.13/bin/python3 - - name: atlas-data-lake-ubuntu-22-py3.13-auth + - name: atlas-data-lake-ubuntu-22-python3.13-auth tasks: - name: atlas-data-lake-tests - display_name: Atlas Data Lake Ubuntu-22 py3.13 Auth + display_name: Atlas Data Lake Ubuntu-22 Python3.13 Auth run_on: - ubuntu2204-small - expansions: - AUTH: auth - PYTHON_BINARY: /opt/python/3.13/bin/python3 # Aws auth tests - - name: auth-aws-ubuntu-20-py3.9 + - name: auth-aws-ubuntu-20-python3.9 tasks: - name: aws-auth-test-4.4 - name: aws-auth-test-5.0 @@ -115,12 +86,10 @@ buildvariants: - name: aws-auth-test-8.0 - name: aws-auth-test-rapid - name: aws-auth-test-latest - display_name: Auth AWS Ubuntu-20 py3.9 + display_name: Auth AWS Ubuntu-20 Python3.9 run_on: - ubuntu2004-small - expansions: - PYTHON_BINARY: /opt/python/3.9/bin/python3 - - name: auth-aws-ubuntu-20-py3.13 + - name: auth-aws-ubuntu-20-python3.13 tasks: - name: aws-auth-test-4.4 - name: aws-auth-test-5.0 @@ -129,12 +98,10 @@ buildvariants: - name: aws-auth-test-8.0 - name: aws-auth-test-rapid - name: aws-auth-test-latest - display_name: Auth AWS Ubuntu-20 py3.13 + 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-py3.9 + - name: auth-aws-win64-python3.9 tasks: - name: aws-auth-test-4.4 - name: aws-auth-test-5.0 @@ -143,13 +110,10 @@ buildvariants: - name: aws-auth-test-8.0 - name: aws-auth-test-rapid - name: aws-auth-test-latest - display_name: Auth AWS Win64 py3.9 + display_name: Auth AWS Win64 Python3.9 run_on: - windows-64-vsMulti-small - expansions: - skip_ECS_auth_test: "true" - PYTHON_BINARY: C:/python/Python39/python.exe - - name: auth-aws-win64-py3.13 + - name: auth-aws-win64-python3.13 tasks: - name: aws-auth-test-4.4 - name: aws-auth-test-5.0 @@ -158,13 +122,10 @@ buildvariants: - name: aws-auth-test-8.0 - name: aws-auth-test-rapid - name: aws-auth-test-latest - display_name: Auth AWS Win64 py3.13 + display_name: Auth AWS Win64 Python3.13 run_on: - windows-64-vsMulti-small - expansions: - skip_ECS_auth_test: "true" - PYTHON_BINARY: C:/python/Python313/python.exe - - name: auth-aws-macos-py3.9 + - name: auth-aws-macos-python3.9 tasks: - name: aws-auth-test-4.4 - name: aws-auth-test-5.0 @@ -173,15 +134,10 @@ buildvariants: - name: aws-auth-test-8.0 - name: aws-auth-test-rapid - name: aws-auth-test-latest - display_name: Auth AWS macOS py3.9 + display_name: Auth AWS macOS Python3.9 run_on: - macos-14 - expansions: - skip_ECS_auth_test: "true" - skip_EC2_auth_test: "true" - skip_web_identity_auth_test: "true" - PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.9/bin/python3 - - name: auth-aws-macos-py3.13 + - name: auth-aws-macos-python3.13 tasks: - name: aws-auth-test-4.4 - name: aws-auth-test-5.0 @@ -190,769 +146,507 @@ buildvariants: - name: aws-auth-test-8.0 - name: aws-auth-test-rapid - name: aws-auth-test-latest - display_name: Auth AWS macOS py3.13 + display_name: Auth AWS macOS Python3.13 run_on: - macos-14 - expansions: - skip_ECS_auth_test: "true" - skip_EC2_auth_test: "true" - skip_web_identity_auth_test: "true" - PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.13/bin/python3 # Compression tests - - name: compression-snappy-rhel8-py3.9-no-c + - name: compression-snappy-rhel8-python3.9-no-c tasks: - name: .standalone .noauth .nossl .sync_async - display_name: Compression snappy RHEL8 py3.9 No C + display_name: Compression snappy RHEL8 Python3.9 No C run_on: - rhel87-small - expansions: - COMPRESSORS: snappy - NO_EXT: "1" - PYTHON_BINARY: /opt/python/3.9/bin/python3 - - name: compression-snappy-rhel8-py3.10 + - name: compression-snappy-rhel8-python3.10 tasks: - name: .standalone .noauth .nossl .sync_async - display_name: Compression snappy RHEL8 py3.10 + display_name: Compression snappy RHEL8 Python3.10 run_on: - rhel87-small - expansions: - COMPRESSORS: snappy - PYTHON_BINARY: /opt/python/3.10/bin/python3 - - name: compression-zlib-rhel8-py3.11-no-c + - name: compression-zlib-rhel8-python3.11-no-c tasks: - name: .standalone .noauth .nossl .sync_async - display_name: Compression zlib RHEL8 py3.11 No C + display_name: Compression zlib RHEL8 Python3.11 No C run_on: - rhel87-small - expansions: - COMPRESSORS: zlib - NO_EXT: "1" - PYTHON_BINARY: /opt/python/3.11/bin/python3 - - name: compression-zlib-rhel8-py3.12 + - name: compression-zlib-rhel8-python3.12 tasks: - name: .standalone .noauth .nossl .sync_async - display_name: Compression zlib RHEL8 py3.12 + display_name: Compression zlib RHEL8 Python3.12 run_on: - rhel87-small - expansions: - COMPRESSORS: zlib - PYTHON_BINARY: /opt/python/3.12/bin/python3 - - name: compression-zstd-rhel8-py3.13-no-c + - name: compression-zstd-rhel8-python3.13-no-c tasks: - name: .standalone .noauth .nossl .sync_async !.4.0 - display_name: Compression zstd RHEL8 py3.13 No C + display_name: Compression zstd RHEL8 Python3.13 No C run_on: - rhel87-small - expansions: - COMPRESSORS: zstd - NO_EXT: "1" - PYTHON_BINARY: /opt/python/3.13/bin/python3 - - name: compression-zstd-rhel8-py3.9 + - name: compression-zstd-rhel8-python3.9 tasks: - name: .standalone .noauth .nossl .sync_async !.4.0 - display_name: Compression zstd RHEL8 py3.9 + display_name: Compression zstd RHEL8 Python3.9 run_on: - rhel87-small - expansions: - COMPRESSORS: zstd - PYTHON_BINARY: /opt/python/3.9/bin/python3 - name: compression-snappy-rhel8-pypy3.9 tasks: - name: .standalone .noauth .nossl .sync_async - display_name: Compression snappy RHEL8 pypy3.9 + display_name: Compression snappy RHEL8 PyPy3.9 run_on: - rhel87-small - expansions: - COMPRESSORS: snappy - PYTHON_BINARY: /opt/python/pypy3.9/bin/python3 - name: compression-zlib-rhel8-pypy3.10 tasks: - name: .standalone .noauth .nossl .sync_async - display_name: Compression zlib RHEL8 pypy3.10 + display_name: Compression zlib RHEL8 PyPy3.10 run_on: - rhel87-small - expansions: - COMPRESSORS: zlib - PYTHON_BINARY: /opt/python/pypy3.10/bin/python3 - name: compression-zstd-rhel8-pypy3.9 tasks: - name: .standalone .noauth .nossl .sync_async !.4.0 - display_name: Compression zstd RHEL8 pypy3.9 + display_name: Compression zstd RHEL8 PyPy3.9 run_on: - rhel87-small - expansions: - COMPRESSORS: zstd - PYTHON_BINARY: /opt/python/pypy3.9/bin/python3 # Disable test commands tests - - name: disable-test-commands-rhel8-py3.9 + - name: disable-test-commands-rhel8-python3.9 tasks: - name: .latest .sync_async - display_name: Disable test commands RHEL8 py3.9 + display_name: Disable test commands RHEL8 Python3.9 run_on: - rhel87-small - expansions: - AUTH: auth - SSL: ssl - DISABLE_TEST_COMMANDS: "1" - PYTHON_BINARY: /opt/python/3.9/bin/python3 # Doctests tests - - name: doctests-rhel8-py3.9 + - name: doctests-rhel8-python3.9 tasks: - name: doctests - display_name: Doctests RHEL8 py3.9 + display_name: Doctests RHEL8 Python3.9 run_on: - rhel87-small - expansions: - PYTHON_BINARY: /opt/python/3.9/bin/python3 # Encryption tests - - name: encryption-rhel8-py3.9 + - name: encryption-rhel8-python3.9 tasks: - name: .sharded_cluster .auth .ssl .sync_async - name: .replica_set .noauth .ssl .sync_async - name: .standalone .noauth .nossl .sync_async - display_name: Encryption RHEL8 py3.9 + display_name: Encryption RHEL8 Python3.9 run_on: - rhel87-small batchtime: 10080 - expansions: - test_encryption: "true" - PYTHON_BINARY: /opt/python/3.9/bin/python3 tags: [encryption_tag] - - name: encryption-rhel8-py3.13 + - name: encryption-rhel8-python3.13 tasks: - name: .sharded_cluster .auth .ssl .sync_async - name: .replica_set .noauth .ssl .sync_async - name: .standalone .noauth .nossl .sync_async - display_name: Encryption RHEL8 py3.13 + display_name: Encryption RHEL8 Python3.13 run_on: - rhel87-small batchtime: 10080 - expansions: - test_encryption: "true" - PYTHON_BINARY: /opt/python/3.13/bin/python3 tags: [encryption_tag] - name: encryption-rhel8-pypy3.10 tasks: - name: .sharded_cluster .auth .ssl .sync_async - name: .replica_set .noauth .ssl .sync_async - name: .standalone .noauth .nossl .sync_async - display_name: Encryption RHEL8 pypy3.10 + display_name: Encryption RHEL8 PyPy3.10 run_on: - rhel87-small batchtime: 10080 - expansions: - test_encryption: "true" - PYTHON_BINARY: /opt/python/pypy3.10/bin/python3 tags: [encryption_tag] - - name: encryption-crypt_shared-rhel8-py3.9 + - name: encryption-crypt_shared-rhel8-python3.9 tasks: - name: .sharded_cluster .auth .ssl .sync_async - name: .replica_set .noauth .ssl .sync_async - name: .standalone .noauth .nossl .sync_async - display_name: Encryption crypt_shared RHEL8 py3.9 + display_name: Encryption crypt_shared RHEL8 Python3.9 run_on: - rhel87-small batchtime: 10080 - expansions: - test_encryption: "true" - test_crypt_shared: "true" - PYTHON_BINARY: /opt/python/3.9/bin/python3 tags: [encryption_tag] - - name: encryption-crypt_shared-rhel8-py3.13 + - name: encryption-crypt_shared-rhel8-python3.13 tasks: - name: .sharded_cluster .auth .ssl .sync_async - name: .replica_set .noauth .ssl .sync_async - name: .standalone .noauth .nossl .sync_async - display_name: Encryption crypt_shared RHEL8 py3.13 + display_name: Encryption crypt_shared RHEL8 Python3.13 run_on: - rhel87-small batchtime: 10080 - expansions: - test_encryption: "true" - test_crypt_shared: "true" - PYTHON_BINARY: /opt/python/3.13/bin/python3 tags: [encryption_tag] - name: encryption-crypt_shared-rhel8-pypy3.10 tasks: - name: .sharded_cluster .auth .ssl .sync_async - name: .replica_set .noauth .ssl .sync_async - name: .standalone .noauth .nossl .sync_async - display_name: Encryption crypt_shared RHEL8 pypy3.10 + display_name: Encryption crypt_shared RHEL8 PyPy3.10 run_on: - rhel87-small batchtime: 10080 - expansions: - test_encryption: "true" - test_crypt_shared: "true" - PYTHON_BINARY: /opt/python/pypy3.10/bin/python3 tags: [encryption_tag] - - name: encryption-pyopenssl-rhel8-py3.9 + - name: encryption-pyopenssl-rhel8-python3.9 tasks: - name: .sharded_cluster .auth .ssl .sync_async - name: .replica_set .noauth .ssl .sync_async - name: .standalone .noauth .nossl .sync_async - display_name: Encryption PyOpenSSL RHEL8 py3.9 + display_name: Encryption PyOpenSSL RHEL8 Python3.9 run_on: - rhel87-small batchtime: 10080 - expansions: - test_encryption: "true" - test_encryption_pyopenssl: "true" - PYTHON_BINARY: /opt/python/3.9/bin/python3 tags: [encryption_tag] - - name: encryption-pyopenssl-rhel8-py3.13 + - name: encryption-pyopenssl-rhel8-python3.13 tasks: - name: .sharded_cluster .auth .ssl .sync_async - name: .replica_set .noauth .ssl .sync_async - name: .standalone .noauth .nossl .sync_async - display_name: Encryption PyOpenSSL RHEL8 py3.13 + display_name: Encryption PyOpenSSL RHEL8 Python3.13 run_on: - rhel87-small batchtime: 10080 - expansions: - test_encryption: "true" - test_encryption_pyopenssl: "true" - PYTHON_BINARY: /opt/python/3.13/bin/python3 tags: [encryption_tag] - name: encryption-pyopenssl-rhel8-pypy3.10 tasks: - name: .sharded_cluster .auth .ssl .sync_async - name: .replica_set .noauth .ssl .sync_async - name: .standalone .noauth .nossl .sync_async - display_name: Encryption PyOpenSSL RHEL8 pypy3.10 + display_name: Encryption PyOpenSSL RHEL8 PyPy3.10 run_on: - rhel87-small batchtime: 10080 - expansions: - test_encryption: "true" - test_encryption_pyopenssl: "true" - PYTHON_BINARY: /opt/python/pypy3.10/bin/python3 tags: [encryption_tag] - - name: encryption-rhel8-py3.10 + - name: encryption-rhel8-python3.10 tasks: - name: .sharded_cluster .auth .ssl .sync_async - display_name: Encryption RHEL8 py3.10 + display_name: Encryption RHEL8 Python3.10 run_on: - rhel87-small - expansions: - test_encryption: "true" - PYTHON_BINARY: /opt/python/3.10/bin/python3 - - name: encryption-crypt_shared-rhel8-py3.11 + - name: encryption-crypt_shared-rhel8-python3.11 tasks: - name: .replica_set .noauth .ssl .sync_async - display_name: Encryption crypt_shared RHEL8 py3.11 + display_name: Encryption crypt_shared RHEL8 Python3.11 run_on: - rhel87-small - expansions: - test_encryption: "true" - test_crypt_shared: "true" - PYTHON_BINARY: /opt/python/3.11/bin/python3 - - name: encryption-pyopenssl-rhel8-py3.12 + - name: encryption-pyopenssl-rhel8-python3.12 tasks: - name: .standalone .noauth .nossl .sync_async - display_name: Encryption PyOpenSSL RHEL8 py3.12 + display_name: Encryption PyOpenSSL RHEL8 Python3.12 run_on: - rhel87-small - expansions: - test_encryption: "true" - test_encryption_pyopenssl: "true" - PYTHON_BINARY: /opt/python/3.12/bin/python3 - name: encryption-rhel8-pypy3.9 tasks: - name: .sharded_cluster .auth .ssl .sync_async - display_name: Encryption RHEL8 pypy3.9 + display_name: Encryption RHEL8 PyPy3.9 run_on: - rhel87-small - expansions: - test_encryption: "true" - PYTHON_BINARY: /opt/python/pypy3.9/bin/python3 - - name: encryption-macos-py3.9 + - name: encryption-macos-python3.9 tasks: - name: .latest .replica_set .sync_async - display_name: Encryption macOS py3.9 + display_name: Encryption macOS Python3.9 run_on: - macos-14 batchtime: 10080 - expansions: - test_encryption: "true" - PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.9/bin/python3 tags: [encryption_tag] - - name: encryption-macos-py3.13 + - name: encryption-macos-python3.13 tasks: - name: .latest .replica_set .sync_async - display_name: Encryption macOS py3.13 + display_name: Encryption macOS Python3.13 run_on: - macos-14 batchtime: 10080 - expansions: - test_encryption: "true" - PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.13/bin/python3 tags: [encryption_tag] - - name: encryption-crypt_shared-macos-py3.9 + - name: encryption-crypt_shared-macos-python3.9 tasks: - name: .latest .replica_set .sync_async - display_name: Encryption crypt_shared macOS py3.9 + display_name: Encryption crypt_shared macOS Python3.9 run_on: - macos-14 batchtime: 10080 - expansions: - test_encryption: "true" - test_crypt_shared: "true" - PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.9/bin/python3 tags: [encryption_tag] - - name: encryption-crypt_shared-macos-py3.13 + - name: encryption-crypt_shared-macos-python3.13 tasks: - name: .latest .replica_set .sync_async - display_name: Encryption crypt_shared macOS py3.13 + display_name: Encryption crypt_shared macOS Python3.13 run_on: - macos-14 batchtime: 10080 - expansions: - test_encryption: "true" - test_crypt_shared: "true" - PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.13/bin/python3 tags: [encryption_tag] - - name: encryption-win64-py3.9 + - name: encryption-win64-python3.9 tasks: - name: .latest .replica_set .sync_async - display_name: Encryption Win64 py3.9 + display_name: Encryption Win64 Python3.9 run_on: - windows-64-vsMulti-small batchtime: 10080 - expansions: - test_encryption: "true" - PYTHON_BINARY: C:/python/Python39/python.exe tags: [encryption_tag] - - name: encryption-win64-py3.13 + - name: encryption-win64-python3.13 tasks: - name: .latest .replica_set .sync_async - display_name: Encryption Win64 py3.13 + display_name: Encryption Win64 Python3.13 run_on: - windows-64-vsMulti-small batchtime: 10080 - expansions: - test_encryption: "true" - PYTHON_BINARY: C:/python/Python313/python.exe tags: [encryption_tag] - - name: encryption-crypt_shared-win64-py3.9 + - name: encryption-crypt_shared-win64-python3.9 tasks: - name: .latest .replica_set .sync_async - display_name: Encryption crypt_shared Win64 py3.9 + display_name: Encryption crypt_shared Win64 Python3.9 run_on: - windows-64-vsMulti-small batchtime: 10080 - expansions: - test_encryption: "true" - test_crypt_shared: "true" - PYTHON_BINARY: C:/python/Python39/python.exe tags: [encryption_tag] - - name: encryption-crypt_shared-win64-py3.13 + - name: encryption-crypt_shared-win64-python3.13 tasks: - name: .latest .replica_set .sync_async - display_name: Encryption crypt_shared Win64 py3.13 + display_name: Encryption crypt_shared Win64 Python3.13 run_on: - windows-64-vsMulti-small batchtime: 10080 - expansions: - test_encryption: "true" - test_crypt_shared: "true" - PYTHON_BINARY: C:/python/Python313/python.exe tags: [encryption_tag] # Enterprise auth tests - - name: auth-enterprise-macos-py3.9-auth + - name: auth-enterprise-macos-python3.9-auth tasks: - name: test-enterprise-auth - display_name: Auth Enterprise macOS py3.9 Auth + display_name: Auth Enterprise macOS Python3.9 Auth run_on: - macos-14 - expansions: - AUTH: auth - PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.9/bin/python3 - - name: auth-enterprise-rhel8-py3.10-auth + - name: auth-enterprise-rhel8-python3.10-auth tasks: - name: test-enterprise-auth - display_name: Auth Enterprise RHEL8 py3.10 Auth + display_name: Auth Enterprise RHEL8 Python3.10 Auth run_on: - rhel87-small - expansions: - AUTH: auth - PYTHON_BINARY: /opt/python/3.10/bin/python3 - - name: auth-enterprise-rhel8-py3.11-auth + - name: auth-enterprise-rhel8-python3.11-auth tasks: - name: test-enterprise-auth - display_name: Auth Enterprise RHEL8 py3.11 Auth + display_name: Auth Enterprise RHEL8 Python3.11 Auth run_on: - rhel87-small - expansions: - AUTH: auth - PYTHON_BINARY: /opt/python/3.11/bin/python3 - - name: auth-enterprise-rhel8-py3.12-auth + - name: auth-enterprise-rhel8-python3.12-auth tasks: - name: test-enterprise-auth - display_name: Auth Enterprise RHEL8 py3.12 Auth + display_name: Auth Enterprise RHEL8 Python3.12 Auth run_on: - rhel87-small - expansions: - AUTH: auth - PYTHON_BINARY: /opt/python/3.12/bin/python3 - - name: auth-enterprise-win64-py3.13-auth + - name: auth-enterprise-win64-python3.13-auth tasks: - name: test-enterprise-auth - display_name: Auth Enterprise Win64 py3.13 Auth + display_name: Auth Enterprise Win64 Python3.13 Auth run_on: - windows-64-vsMulti-small - expansions: - AUTH: auth - PYTHON_BINARY: C:/python/Python313/python.exe - name: auth-enterprise-rhel8-pypy3.9-auth tasks: - name: test-enterprise-auth - display_name: Auth Enterprise RHEL8 pypy3.9 Auth + display_name: Auth Enterprise RHEL8 PyPy3.9 Auth run_on: - rhel87-small - expansions: - AUTH: auth - PYTHON_BINARY: /opt/python/pypy3.9/bin/python3 - name: auth-enterprise-rhel8-pypy3.10-auth tasks: - name: test-enterprise-auth - display_name: Auth Enterprise RHEL8 pypy3.10 Auth + display_name: Auth Enterprise RHEL8 PyPy3.10 Auth run_on: - rhel87-small - expansions: - AUTH: auth - PYTHON_BINARY: /opt/python/pypy3.10/bin/python3 # Green framework tests - - name: green-eventlet-rhel8-py3.9 + - name: green-eventlet-rhel8-python3.9 tasks: - name: .standalone .noauth .nossl .sync_async - display_name: Green Eventlet RHEL8 py3.9 + display_name: Green Eventlet RHEL8 Python3.9 run_on: - rhel87-small - expansions: - GREEN_FRAMEWORK: eventlet - AUTH: auth - SSL: ssl - PYTHON_BINARY: /opt/python/3.9/bin/python3 - - name: green-gevent-rhel8-py3.9 + - name: green-gevent-rhel8-python3.9 tasks: - name: .standalone .noauth .nossl .sync_async - display_name: Green Gevent RHEL8 py3.9 + 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-eventlet-rhel8-py3.12 + - name: green-eventlet-rhel8-python3.12 tasks: - name: .standalone .noauth .nossl .sync_async - display_name: Green Eventlet RHEL8 py3.12 + display_name: Green Eventlet RHEL8 Python3.12 run_on: - rhel87-small - expansions: - GREEN_FRAMEWORK: eventlet - AUTH: auth - SSL: ssl - PYTHON_BINARY: /opt/python/3.12/bin/python3 - - name: green-gevent-rhel8-py3.12 + - name: green-gevent-rhel8-python3.12 tasks: - name: .standalone .noauth .nossl .sync_async - display_name: Green Gevent RHEL8 py3.12 + display_name: Green Gevent RHEL8 Python3.12 run_on: - rhel87-small - expansions: - GREEN_FRAMEWORK: gevent - AUTH: auth - SSL: ssl - PYTHON_BINARY: /opt/python/3.12/bin/python3 # Load balancer tests - - name: load-balancer-rhel8-v6.0-py3.9 + - name: load-balancer-rhel8-v6.0-python3.9 tasks: - name: .load-balancer - display_name: Load Balancer RHEL8 v6.0 py3.9 + display_name: Load Balancer RHEL8 v6.0 Python3.9 run_on: - rhel87-small batchtime: 10080 - expansions: - PYTHON_BINARY: /opt/python/3.9/bin/python3 - VERSION: "6.0" - - name: load-balancer-rhel8-v7.0-py3.9 + - name: load-balancer-rhel8-v7.0-python3.9 tasks: - name: .load-balancer - display_name: Load Balancer RHEL8 v7.0 py3.9 + display_name: Load Balancer RHEL8 v7.0 Python3.9 run_on: - rhel87-small batchtime: 10080 - expansions: - PYTHON_BINARY: /opt/python/3.9/bin/python3 - VERSION: "7.0" - - name: load-balancer-rhel8-v8.0-py3.9 + - name: load-balancer-rhel8-v8.0-python3.9 tasks: - name: .load-balancer - display_name: Load Balancer RHEL8 v8.0 py3.9 + display_name: Load Balancer RHEL8 v8.0 Python3.9 run_on: - rhel87-small batchtime: 10080 - expansions: - PYTHON_BINARY: /opt/python/3.9/bin/python3 - VERSION: "8.0" - - name: load-balancer-rhel8-rapid-py3.9 + - name: load-balancer-rhel8-rapid-python3.9 tasks: - name: .load-balancer - display_name: Load Balancer RHEL8 rapid py3.9 + display_name: Load Balancer RHEL8 rapid Python3.9 run_on: - rhel87-small batchtime: 10080 - expansions: - PYTHON_BINARY: /opt/python/3.9/bin/python3 - VERSION: rapid - - name: load-balancer-rhel8-latest-py3.9 + - name: load-balancer-rhel8-latest-python3.9 tasks: - name: .load-balancer - display_name: Load Balancer RHEL8 latest py3.9 + display_name: Load Balancer RHEL8 latest Python3.9 run_on: - rhel87-small batchtime: 10080 - expansions: - PYTHON_BINARY: /opt/python/3.9/bin/python3 - VERSION: latest # Mockupdb tests - - name: mockupdb-rhel8-py3.9 + - name: mockupdb-rhel8-python3.9 tasks: - name: mockupdb - display_name: MockupDB RHEL8 py3.9 + display_name: MockupDB RHEL8 Python3.9 run_on: - rhel87-small - expansions: - PYTHON_BINARY: /opt/python/3.9/bin/python3 # Mod wsgi tests - - name: mod_wsgi-ubuntu-22-py3.9 + - name: mod_wsgi-ubuntu-22-python3.9 tasks: - name: mod-wsgi-standalone - name: mod-wsgi-replica-set - name: mod-wsgi-embedded-mode-standalone - name: mod-wsgi-embedded-mode-replica-set - display_name: mod_wsgi Ubuntu-22 py3.9 + display_name: mod_wsgi Ubuntu-22 Python3.9 run_on: - ubuntu2204-small - expansions: - MOD_WSGI_VERSION: "4" - PYTHON_BINARY: /opt/python/3.9/bin/python3 - - name: mod_wsgi-ubuntu-22-py3.13 + - name: mod_wsgi-ubuntu-22-python3.13 tasks: - name: mod-wsgi-standalone - name: mod-wsgi-replica-set - name: mod-wsgi-embedded-mode-standalone - name: mod-wsgi-embedded-mode-replica-set - display_name: mod_wsgi Ubuntu-22 py3.13 + 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-py3.9 + - name: no-c-ext-rhel8-python3.9 tasks: - name: .standalone .noauth .nossl .sync_async - display_name: No C Ext RHEL8 py3.9 + display_name: No C Ext RHEL8 Python3.9 run_on: - rhel87-small - expansions: - NO_EXT: "1" - PYTHON_BINARY: /opt/python/3.9/bin/python3 - - name: no-c-ext-rhel8-py3.10 + - name: no-c-ext-rhel8-python3.10 tasks: - name: .replica_set .noauth .nossl .sync_async - display_name: No C Ext RHEL8 py3.10 + display_name: No C Ext RHEL8 Python3.10 run_on: - rhel87-small - expansions: - NO_EXT: "1" - PYTHON_BINARY: /opt/python/3.10/bin/python3 - - name: no-c-ext-rhel8-py3.11 + - name: no-c-ext-rhel8-python3.11 tasks: - name: .sharded_cluster .noauth .nossl .sync_async - display_name: No C Ext RHEL8 py3.11 + display_name: No C Ext RHEL8 Python3.11 run_on: - rhel87-small - expansions: - NO_EXT: "1" - PYTHON_BINARY: /opt/python/3.11/bin/python3 - - name: no-c-ext-rhel8-py3.12 + - name: no-c-ext-rhel8-python3.12 tasks: - name: .standalone .noauth .nossl .sync_async - display_name: No C Ext RHEL8 py3.12 + display_name: No C Ext RHEL8 Python3.12 run_on: - rhel87-small - expansions: - NO_EXT: "1" - PYTHON_BINARY: /opt/python/3.12/bin/python3 - - name: no-c-ext-rhel8-py3.13 + - name: no-c-ext-rhel8-python3.13 tasks: - name: .replica_set .noauth .nossl .sync_async - display_name: No C Ext RHEL8 py3.13 + display_name: No C Ext RHEL8 Python3.13 run_on: - rhel87-small - expansions: - NO_EXT: "1" - PYTHON_BINARY: /opt/python/3.13/bin/python3 # Ocsp tests - - name: ocsp-rhel8-v4.4-py3.9 + - name: ocsp-rhel8-v4.4-python3.9 tasks: - name: .ocsp - display_name: OCSP RHEL8 v4.4 py3.9 + display_name: OCSP RHEL8 v4.4 Python3.9 run_on: - rhel87-small batchtime: 20160 - expansions: - AUTH: noauth - SSL: ssl - TOPOLOGY: server - PYTHON_BINARY: /opt/python/3.9/bin/python3 - VERSION: "4.4" - - name: ocsp-rhel8-v5.0-py3.10 + - name: ocsp-rhel8-v5.0-python3.10 tasks: - name: .ocsp - display_name: OCSP RHEL8 v5.0 py3.10 + display_name: OCSP RHEL8 v5.0 Python3.10 run_on: - rhel87-small batchtime: 20160 - expansions: - AUTH: noauth - SSL: ssl - TOPOLOGY: server - PYTHON_BINARY: /opt/python/3.10/bin/python3 - VERSION: "5.0" - - name: ocsp-rhel8-v6.0-py3.11 + - name: ocsp-rhel8-v6.0-python3.11 tasks: - name: .ocsp - display_name: OCSP RHEL8 v6.0 py3.11 + display_name: OCSP RHEL8 v6.0 Python3.11 run_on: - rhel87-small batchtime: 20160 - expansions: - AUTH: noauth - SSL: ssl - TOPOLOGY: server - PYTHON_BINARY: /opt/python/3.11/bin/python3 - VERSION: "6.0" - - name: ocsp-rhel8-v7.0-py3.12 + - name: ocsp-rhel8-v7.0-python3.12 tasks: - name: .ocsp - display_name: OCSP RHEL8 v7.0 py3.12 + display_name: OCSP RHEL8 v7.0 Python3.12 run_on: - rhel87-small batchtime: 20160 - expansions: - AUTH: noauth - SSL: ssl - TOPOLOGY: server - PYTHON_BINARY: /opt/python/3.12/bin/python3 - VERSION: "7.0" - - name: ocsp-rhel8-v8.0-py3.13 + - name: ocsp-rhel8-v8.0-python3.13 tasks: - name: .ocsp - display_name: OCSP RHEL8 v8.0 py3.13 + display_name: OCSP RHEL8 v8.0 Python3.13 run_on: - rhel87-small batchtime: 20160 - expansions: - AUTH: noauth - SSL: ssl - TOPOLOGY: server - PYTHON_BINARY: /opt/python/3.13/bin/python3 - VERSION: "8.0" - name: ocsp-rhel8-rapid-pypy3.9 tasks: - name: .ocsp - display_name: OCSP RHEL8 rapid pypy3.9 + display_name: OCSP RHEL8 rapid PyPy3.9 run_on: - rhel87-small batchtime: 20160 - expansions: - AUTH: noauth - SSL: ssl - TOPOLOGY: server - PYTHON_BINARY: /opt/python/pypy3.9/bin/python3 - VERSION: rapid - name: ocsp-rhel8-latest-pypy3.10 tasks: - name: .ocsp - display_name: OCSP RHEL8 latest pypy3.10 + display_name: OCSP RHEL8 latest PyPy3.10 run_on: - rhel87-small batchtime: 20160 - expansions: - AUTH: noauth - SSL: ssl - TOPOLOGY: server - PYTHON_BINARY: /opt/python/pypy3.10/bin/python3 - VERSION: latest - - name: ocsp-win64-v4.4-py3.9 + - name: ocsp-win64-v4.4-python3.9 tasks: - name: .ocsp-rsa !.ocsp-staple - display_name: OCSP Win64 v4.4 py3.9 + display_name: OCSP Win64 v4.4 Python3.9 run_on: - windows-64-vsMulti-small batchtime: 20160 - expansions: - AUTH: noauth - SSL: ssl - TOPOLOGY: server - PYTHON_BINARY: C:/python/Python39/python.exe - VERSION: "4.4" - - name: ocsp-win64-v8.0-py3.13 + - name: ocsp-win64-v8.0-python3.13 tasks: - name: .ocsp-rsa !.ocsp-staple - display_name: OCSP Win64 v8.0 py3.13 + display_name: OCSP Win64 v8.0 Python3.13 run_on: - windows-64-vsMulti-small batchtime: 20160 - expansions: - AUTH: noauth - SSL: ssl - TOPOLOGY: server - PYTHON_BINARY: C:/python/Python313/python.exe - VERSION: "8.0" - - name: ocsp-macos-v4.4-py3.9 + - name: ocsp-macos-v4.4-python3.9 tasks: - name: .ocsp-rsa !.ocsp-staple - display_name: OCSP macOS v4.4 py3.9 + display_name: OCSP macOS v4.4 Python3.9 run_on: - macos-14 batchtime: 20160 - expansions: - AUTH: noauth - SSL: ssl - TOPOLOGY: server - PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.9/bin/python3 - VERSION: "4.4" - - name: ocsp-macos-v8.0-py3.13 + - name: ocsp-macos-v8.0-python3.13 tasks: - name: .ocsp-rsa !.ocsp-staple - display_name: OCSP macOS v8.0 py3.13 + display_name: OCSP macOS v8.0 Python3.13 run_on: - macos-14 batchtime: 20160 - expansions: - AUTH: noauth - SSL: ssl - TOPOLOGY: server - PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.13/bin/python3 - VERSION: "8.0" # Oidc auth tests - name: auth-oidc-ubuntu-22 @@ -981,198 +675,148 @@ buildvariants: batchtime: 20160 # Pyopenssl tests - - name: pyopenssl-macos-py3.9 + - name: pyopenssl-macos-python3.9 tasks: - name: .replica_set .noauth .nossl .sync_async - name: .7.0 .noauth .nossl .sync_async - display_name: PyOpenSSL macOS py3.9 + display_name: PyOpenSSL macOS Python3.9 run_on: - macos-14 batchtime: 10080 - expansions: - test_pyopenssl: "true" - PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.9/bin/python3 - - name: pyopenssl-rhel8-py3.10 + - name: pyopenssl-rhel8-python3.10 tasks: - name: .replica_set .auth .ssl .sync_async - name: .7.0 .auth .ssl .sync_async - display_name: PyOpenSSL RHEL8 py3.10 + display_name: PyOpenSSL RHEL8 Python3.10 run_on: - rhel87-small batchtime: 10080 - expansions: - test_pyopenssl: "true" - PYTHON_BINARY: /opt/python/3.10/bin/python3 - - name: pyopenssl-rhel8-py3.11 + - name: pyopenssl-rhel8-python3.11 tasks: - name: .replica_set .auth .ssl .sync_async - name: .7.0 .auth .ssl .sync_async - display_name: PyOpenSSL RHEL8 py3.11 + display_name: PyOpenSSL RHEL8 Python3.11 run_on: - rhel87-small batchtime: 10080 - expansions: - test_pyopenssl: "true" - PYTHON_BINARY: /opt/python/3.11/bin/python3 - - name: pyopenssl-rhel8-py3.12 + - name: pyopenssl-rhel8-python3.12 tasks: - name: .replica_set .auth .ssl .sync_async - name: .7.0 .auth .ssl .sync_async - display_name: PyOpenSSL RHEL8 py3.12 + display_name: PyOpenSSL RHEL8 Python3.12 run_on: - rhel87-small batchtime: 10080 - expansions: - test_pyopenssl: "true" - PYTHON_BINARY: /opt/python/3.12/bin/python3 - - name: pyopenssl-win64-py3.13 + - name: pyopenssl-win64-python3.13 tasks: - name: .replica_set .auth .ssl .sync_async - name: .7.0 .auth .ssl .sync_async - display_name: PyOpenSSL Win64 py3.13 + display_name: PyOpenSSL Win64 Python3.13 run_on: - windows-64-vsMulti-small batchtime: 10080 - expansions: - test_pyopenssl: "true" - PYTHON_BINARY: C:/python/Python313/python.exe - name: pyopenssl-rhel8-pypy3.9 tasks: - name: .replica_set .auth .ssl .sync_async - name: .7.0 .auth .ssl .sync_async - display_name: PyOpenSSL RHEL8 pypy3.9 + display_name: PyOpenSSL RHEL8 PyPy3.9 run_on: - rhel87-small batchtime: 10080 - expansions: - test_pyopenssl: "true" - PYTHON_BINARY: /opt/python/pypy3.9/bin/python3 - name: pyopenssl-rhel8-pypy3.10 tasks: - name: .replica_set .auth .ssl .sync_async - name: .7.0 .auth .ssl .sync_async - display_name: PyOpenSSL RHEL8 pypy3.10 + display_name: PyOpenSSL RHEL8 PyPy3.10 run_on: - rhel87-small batchtime: 10080 - expansions: - test_pyopenssl: "true" - PYTHON_BINARY: /opt/python/pypy3.10/bin/python3 # Search index tests - - name: search-index-helpers-rhel8-py3.9 + - name: search-index-helpers-rhel8-python3.9 tasks: - name: test_atlas_task_group_search_indexes - display_name: Search Index Helpers RHEL8 py3.9 + display_name: Search Index Helpers RHEL8 Python3.9 run_on: - rhel87-small - expansions: - PYTHON_BINARY: /opt/python/3.9/bin/python3 # Server tests - - name: test-rhel8-py3.9-cov + - name: test-rhel8-python3.9-cov tasks: - name: .standalone .sync_async - name: .replica_set .sync_async - name: .sharded_cluster .sync_async - display_name: "* Test RHEL8 py3.9 cov" + display_name: "* Test RHEL8 Python3.9 cov" run_on: - rhel87-small - expansions: - COVERAGE: coverage - PYTHON_BINARY: /opt/python/3.9/bin/python3 tags: [coverage_tag] - - name: test-rhel8-py3.13-cov + - name: test-rhel8-python3.13-cov tasks: - name: .standalone .sync_async - name: .replica_set .sync_async - name: .sharded_cluster .sync_async - display_name: "* Test RHEL8 py3.13 cov" + display_name: "* Test RHEL8 Python3.13 cov" run_on: - rhel87-small - expansions: - COVERAGE: coverage - PYTHON_BINARY: /opt/python/3.13/bin/python3 tags: [coverage_tag] - name: test-rhel8-pypy3.10-cov tasks: - name: .standalone .sync_async - name: .replica_set .sync_async - name: .sharded_cluster .sync_async - display_name: "* Test RHEL8 pypy3.10 cov" + display_name: "* Test RHEL8 PyPy3.10 cov" run_on: - rhel87-small - expansions: - COVERAGE: coverage - PYTHON_BINARY: /opt/python/pypy3.10/bin/python3 tags: [coverage_tag] - - name: test-rhel8-py3.10 + - name: test-rhel8-python3.10 tasks: - name: .sharded_cluster .auth .ssl .sync_async - name: .replica_set .noauth .ssl .sync_async - name: .standalone .noauth .nossl .sync_async - display_name: "* Test RHEL8 py3.10" + display_name: "* Test RHEL8 Python3.10" run_on: - rhel87-small - expansions: - COVERAGE: coverage - PYTHON_BINARY: /opt/python/3.10/bin/python3 - - name: test-rhel8-py3.11 + - name: test-rhel8-python3.11 tasks: - name: .sharded_cluster .auth .ssl .sync_async - name: .replica_set .noauth .ssl .sync_async - name: .standalone .noauth .nossl .sync_async - display_name: "* Test RHEL8 py3.11" + display_name: "* Test RHEL8 Python3.11" run_on: - rhel87-small - expansions: - COVERAGE: coverage - PYTHON_BINARY: /opt/python/3.11/bin/python3 - - name: test-rhel8-py3.12 + - name: test-rhel8-python3.12 tasks: - name: .sharded_cluster .auth .ssl .sync_async - name: .replica_set .noauth .ssl .sync_async - name: .standalone .noauth .nossl .sync_async - display_name: "* Test RHEL8 py3.12" + display_name: "* Test RHEL8 Python3.12" run_on: - rhel87-small - expansions: - COVERAGE: coverage - PYTHON_BINARY: /opt/python/3.12/bin/python3 - name: test-rhel8-pypy3.9 tasks: - name: .sharded_cluster .auth .ssl .sync_async - name: .replica_set .noauth .ssl .sync_async - name: .standalone .noauth .nossl .sync_async - display_name: "* Test RHEL8 pypy3.9" + display_name: "* Test RHEL8 PyPy3.9" run_on: - rhel87-small - expansions: - COVERAGE: coverage - PYTHON_BINARY: /opt/python/pypy3.9/bin/python3 - - name: test-macos-py3.9 + - name: test-macos-python3.9 tasks: - name: .sharded_cluster .auth .ssl !.sync_async - name: .replica_set .noauth .ssl !.sync_async - name: .standalone .noauth .nossl !.sync_async - display_name: "* Test macOS py3.9" + display_name: "* Test macOS Python3.9" run_on: - macos-14 - expansions: - SKIP_CSOT_TESTS: "true" - PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.9/bin/python3 - - name: test-macos-py3.13 + - name: test-macos-python3.13 tasks: - name: .sharded_cluster .auth .ssl !.sync_async - name: .replica_set .noauth .ssl !.sync_async - name: .standalone .noauth .nossl !.sync_async - display_name: "* Test macOS py3.13" + display_name: "* Test macOS Python3.13" run_on: - macos-14 - expansions: - SKIP_CSOT_TESTS: "true" - PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.13/bin/python3 - - name: test-macos-arm64-py3.9 + - name: test-macos-arm64-python3.9 tasks: - name: .sharded_cluster .auth .ssl .6.0 !.sync_async - name: .replica_set .noauth .ssl .6.0 !.sync_async @@ -1189,13 +833,10 @@ buildvariants: - name: .sharded_cluster .auth .ssl .latest !.sync_async - name: .replica_set .noauth .ssl .latest !.sync_async - name: .standalone .noauth .nossl .latest !.sync_async - display_name: "* Test macOS Arm64 py3.9" + display_name: "* Test macOS Arm64 Python3.9" run_on: - macos-14-arm64 - expansions: - SKIP_CSOT_TESTS: "true" - PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.9/bin/python3 - - name: test-macos-arm64-py3.13 + - name: test-macos-arm64-python3.13 tasks: - name: .sharded_cluster .auth .ssl .6.0 !.sync_async - name: .replica_set .noauth .ssl .6.0 !.sync_async @@ -1212,85 +853,60 @@ buildvariants: - name: .sharded_cluster .auth .ssl .latest !.sync_async - name: .replica_set .noauth .ssl .latest !.sync_async - name: .standalone .noauth .nossl .latest !.sync_async - display_name: "* Test macOS Arm64 py3.13" + display_name: "* Test macOS Arm64 Python3.13" run_on: - macos-14-arm64 - expansions: - SKIP_CSOT_TESTS: "true" - PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.13/bin/python3 - - name: test-win64-py3.9 + - name: test-win64-python3.9 tasks: - name: .sharded_cluster .auth .ssl !.sync_async - name: .replica_set .noauth .ssl !.sync_async - name: .standalone .noauth .nossl !.sync_async - display_name: "* Test Win64 py3.9" + display_name: "* Test Win64 Python3.9" run_on: - windows-64-vsMulti-small - expansions: - SKIP_CSOT_TESTS: "true" - PYTHON_BINARY: C:/python/Python39/python.exe - - name: test-win64-py3.13 + - name: test-win64-python3.13 tasks: - name: .sharded_cluster .auth .ssl !.sync_async - name: .replica_set .noauth .ssl !.sync_async - name: .standalone .noauth .nossl !.sync_async - display_name: "* Test Win64 py3.13" + display_name: "* Test Win64 Python3.13" run_on: - windows-64-vsMulti-small - expansions: - SKIP_CSOT_TESTS: "true" - PYTHON_BINARY: C:/python/Python313/python.exe - - name: test-win32-py3.9 + - name: test-win32-python3.9 tasks: - name: .sharded_cluster .auth .ssl !.sync_async - name: .replica_set .noauth .ssl !.sync_async - name: .standalone .noauth .nossl !.sync_async - display_name: "* Test Win32 py3.9" + display_name: "* Test Win32 Python3.9" run_on: - windows-64-vsMulti-small - expansions: - SKIP_CSOT_TESTS: "true" - PYTHON_BINARY: C:/python/32/Python39/python.exe - - name: test-win32-py3.13 + - name: test-win32-python3.13 tasks: - name: .sharded_cluster .auth .ssl !.sync_async - name: .replica_set .noauth .ssl !.sync_async - name: .standalone .noauth .nossl !.sync_async - display_name: "* Test Win32 py3.13" + display_name: "* Test Win32 Python3.13" run_on: - windows-64-vsMulti-small - expansions: - SKIP_CSOT_TESTS: "true" - PYTHON_BINARY: C:/python/32/Python313/python.exe # Serverless tests - - name: serverless-rhel8-py3.9 + - name: serverless-rhel8-python3.9 tasks: - name: serverless_task_group - display_name: Serverless RHEL8 py3.9 + display_name: Serverless RHEL8 Python3.9 run_on: - rhel87-small batchtime: 10080 - expansions: - test_serverless: "true" - AUTH: auth - SSL: ssl - PYTHON_BINARY: /opt/python/3.9/bin/python3 - - name: serverless-rhel8-py3.13 + - name: serverless-rhel8-python3.13 tasks: - name: serverless_task_group - display_name: Serverless RHEL8 py3.13 + display_name: Serverless RHEL8 Python3.13 run_on: - rhel87-small batchtime: 10080 - expansions: - test_serverless: "true" - AUTH: auth - SSL: ssl - PYTHON_BINARY: /opt/python/3.13/bin/python3 # Stable api tests - - name: stable-api-require-v1-rhel8-py3.9-auth + - name: stable-api-require-v1-rhel8-python3.9-auth tasks: - name: .standalone .5.0 .noauth .nossl .sync_async - name: .standalone .6.0 .noauth .nossl .sync_async @@ -1298,16 +914,11 @@ buildvariants: - name: .standalone .8.0 .noauth .nossl .sync_async - name: .standalone .rapid .noauth .nossl .sync_async - name: .standalone .latest .noauth .nossl .sync_async - display_name: Stable API require v1 RHEL8 py3.9 Auth + display_name: Stable API require v1 RHEL8 Python3.9 Auth run_on: - rhel87-small - expansions: - AUTH: auth - REQUIRE_API_VERSION: "1" - MONGODB_API_VERSION: "1" - PYTHON_BINARY: /opt/python/3.9/bin/python3 tags: [versionedApi_tag] - - name: stable-api-accept-v2-rhel8-py3.9-auth + - name: stable-api-accept-v2-rhel8-python3.9-auth tasks: - name: .standalone .5.0 .noauth .nossl .sync_async - name: .standalone .6.0 .noauth .nossl .sync_async @@ -1315,15 +926,11 @@ buildvariants: - name: .standalone .8.0 .noauth .nossl .sync_async - name: .standalone .rapid .noauth .nossl .sync_async - name: .standalone .latest .noauth .nossl .sync_async - display_name: Stable API accept v2 RHEL8 py3.9 Auth + display_name: Stable API accept v2 RHEL8 Python3.9 Auth run_on: - rhel87-small - expansions: - AUTH: auth - ORCHESTRATION_FILE: versioned-api-testing.json - PYTHON_BINARY: /opt/python/3.9/bin/python3 tags: [versionedApi_tag] - - name: stable-api-require-v1-rhel8-py3.13-auth + - name: stable-api-require-v1-rhel8-python3.13-auth tasks: - name: .standalone .5.0 .noauth .nossl .sync_async - name: .standalone .6.0 .noauth .nossl .sync_async @@ -1331,16 +938,11 @@ buildvariants: - name: .standalone .8.0 .noauth .nossl .sync_async - name: .standalone .rapid .noauth .nossl .sync_async - name: .standalone .latest .noauth .nossl .sync_async - display_name: Stable API require v1 RHEL8 py3.13 Auth + display_name: Stable API require v1 RHEL8 Python3.13 Auth run_on: - rhel87-small - expansions: - AUTH: auth - REQUIRE_API_VERSION: "1" - MONGODB_API_VERSION: "1" - PYTHON_BINARY: /opt/python/3.13/bin/python3 tags: [versionedApi_tag] - - name: stable-api-accept-v2-rhel8-py3.13-auth + - name: stable-api-accept-v2-rhel8-python3.13-auth tasks: - name: .standalone .5.0 .noauth .nossl .sync_async - name: .standalone .6.0 .noauth .nossl .sync_async @@ -1348,17 +950,13 @@ buildvariants: - name: .standalone .8.0 .noauth .nossl .sync_async - name: .standalone .rapid .noauth .nossl .sync_async - name: .standalone .latest .noauth .nossl .sync_async - display_name: Stable API accept v2 RHEL8 py3.13 Auth + display_name: Stable API accept v2 RHEL8 Python3.13 Auth run_on: - rhel87-small - expansions: - AUTH: auth - ORCHESTRATION_FILE: versioned-api-testing.json - PYTHON_BINARY: /opt/python/3.13/bin/python3 tags: [versionedApi_tag] # Storage engine tests - - name: storage-inmemory-rhel8-py3.9 + - name: storage-inmemory-rhel8-python3.9 tasks: - name: .standalone .noauth .nossl .4.0 .sync_async - name: .standalone .noauth .nossl .4.4 .sync_async @@ -1368,19 +966,13 @@ buildvariants: - name: .standalone .noauth .nossl .8.0 .sync_async - name: .standalone .noauth .nossl .rapid .sync_async - name: .standalone .noauth .nossl .latest .sync_async - display_name: Storage InMemory RHEL8 py3.9 + display_name: Storage InMemory RHEL8 Python3.9 run_on: - rhel87-small - expansions: - STORAGE_ENGINE: inmemory - PYTHON_BINARY: /opt/python/3.9/bin/python3 - - name: storage-mmapv1-rhel8-py3.9 + - name: storage-mmapv1-rhel8-python3.9 tasks: - name: .standalone .4.0 .noauth .nossl .sync_async - name: .replica_set .4.0 .noauth .nossl .sync_async - display_name: Storage MMAPv1 RHEL8 py3.9 + display_name: Storage MMAPv1 RHEL8 Python3.9 run_on: - rhel87-small - expansions: - STORAGE_ENGINE: mmapv1 - PYTHON_BINARY: /opt/python/3.9/bin/python3 diff --git a/.evergreen/scripts/configure-env.sh b/.evergreen/scripts/configure-env.sh index 0c9c8bb03a..98d400037c 100644 --- a/.evergreen/scripts/configure-env.sh +++ b/.evergreen/scripts/configure-env.sh @@ -46,6 +46,11 @@ export PROJECT="$project" export PIP_QUIET=1 EOT +# Skip CSOT tests on non-linux platforms. +if [ "$(uname -s)" != "Linux" ]; then + echo "export SKIP_CSOT_TESTS=1" >> $SCRIPT_DIR/env.sh +fi + # Add these expansions to make it easier to call out tests scripts from the EVG yaml cat < expansion.yml DRIVERS_TOOLS: "$DRIVERS_TOOLS" diff --git a/.evergreen/scripts/generate_config.py b/.evergreen/scripts/generate_config.py index 05529ecb25..fc8faf9162 100644 --- a/.evergreen/scripts/generate_config.py +++ b/.evergreen/scripts/generate_config.py @@ -57,17 +57,26 @@ class Host: name: str run_on: str display_name: str + variables: dict[str, str] | None # Hosts with toolchains. -HOSTS["rhel8"] = Host("rhel8", "rhel87-small", "RHEL8") -HOSTS["win64"] = Host("win64", "windows-64-vsMulti-small", "Win64") -HOSTS["win32"] = Host("win32", "windows-64-vsMulti-small", "Win32") -HOSTS["macos"] = Host("macos", "macos-14", "macOS") -HOSTS["macos-arm64"] = Host("macos-arm64", "macos-14-arm64", "macOS Arm64") -HOSTS["ubuntu20"] = Host("ubuntu20", "ubuntu2004-small", "Ubuntu-20") -HOSTS["ubuntu22"] = Host("ubuntu22", "ubuntu2204-small", "Ubuntu-22") -HOSTS["rhel7"] = Host("rhel7", "rhel79-small", "RHEL7") +HOSTS["rhel8"] = Host("rhel8", "rhel87-small", "RHEL8", dict()) +HOSTS["win64"] = Host("win64", "windows-64-vsMulti-small", "Win64", dict()) +HOSTS["win32"] = Host("win32", "windows-64-vsMulti-small", "Win32", dict()) +HOSTS["macos"] = Host("macos", "macos-14", "macOS", dict()) +HOSTS["macos-arm64"] = Host("macos-arm64", "macos-14-arm64", "macOS Arm64", dict()) +HOSTS["ubuntu20"] = Host("ubuntu20", "ubuntu2004-small", "Ubuntu-20", dict()) +HOSTS["ubuntu22"] = Host("ubuntu22", "ubuntu2204-small", "Ubuntu-22", dict()) +HOSTS["rhel7"] = Host("rhel7", "rhel79-small", "RHEL7", dict()) +DEFAULT_HOST = HOSTS["rhel8"] + +# Other hosts +OTHER_HOSTS = ["RHEL9-FIPS", "RHEL8-zseries", "RHEL8-POWER8", "RHEL8-arm64"] +for name, run_on in zip( + OTHER_HOSTS, ["rhel92-fips", "rhel8-zseries-small", "rhel8-power-small", "rhel82-arm64-small"] +): + HOSTS[name] = Host(name, run_on, name, dict()) ############## @@ -75,57 +84,75 @@ class Host: ############## -def create_variant( +def create_variant_generic( task_names: list[str], display_name: str, *, - python: str | None = None, - version: str | None = None, - host: str | None = None, + host: Host | None = None, + default_run_on="rhel87-small", + expansions: dict | None = None, **kwargs: Any, ) -> BuildVariant: """Create a build variant for the given inputs.""" task_refs = [EvgTaskRef(name=n) for n in task_names] - kwargs.setdefault("expansions", dict()) - expansions = kwargs.pop("expansions", dict()).copy() + expansions = expansions and expansions.copy() or dict() if "run_on" in kwargs: run_on = kwargs.pop("run_on") + elif host: + run_on = [host.run_on] + if host.variables: + expansions.update(host.variables) else: - host = host or "rhel8" - run_on = [HOSTS[host].run_on] + run_on = [default_run_on] + if isinstance(run_on, str): + run_on = [run_on] name = display_name.replace(" ", "-").replace("*-", "").lower() - if python: - expansions["PYTHON_BINARY"] = get_python_binary(python, host) - if version: - expansions["VERSION"] = version - expansions = expansions or None return BuildVariant( name=name, display_name=display_name, tasks=task_refs, - expansions=expansions, + expansions=expansions or None, run_on=run_on, **kwargs, ) -def get_python_binary(python: str, host: str) -> str: +def create_variant( + task_names: list[str], + display_name: str, + *, + version: str | None = None, + host: Host | None = None, + python: str | None = None, + expansions: dict | None = None, + **kwargs: Any, +) -> BuildVariant: + expansions = expansions and expansions.copy() or dict() + if version: + expansions["VERSION"] = version + if python: + expansions["PYTHON_BINARY"] = get_python_binary(python, host) + return create_variant_generic(task_names, display_name, version=version, host=host, **kwargs) + + +def get_python_binary(python: str, host: Host) -> str: """Get the appropriate python binary given a python version and host.""" - if host in ["win64", "win32"]: - if host == "win32": + name = host.name + if name in ["win64", "win32"]: + if name == "win32": base = "C:/python/32" else: base = "C:/python" python = python.replace(".", "") return f"{base}/Python{python}/python.exe" - if host in ["rhel8", "ubuntu22", "ubuntu20", "rhel7"]: + if name in ["rhel8", "ubuntu22", "ubuntu20", "rhel7"]: return f"/opt/python/{python}/bin/python3" - if host in ["macos", "macos-arm64"]: + if name in ["macos", "macos-arm64"]: return f"/Library/Frameworks/Python.Framework/Versions/{python}/bin/python3" - raise ValueError(f"no match found for python {python} on {host}") + raise ValueError(f"no match found for python {python} on {name}") def get_versions_from(min_version: str) -> list[str]: @@ -146,11 +173,11 @@ def get_versions_until(max_version: str) -> list[str]: return versions -def get_display_name(base: str, host: str | None = None, **kwargs) -> str: +def get_display_name(base: str, host: Host | None = None, **kwargs) -> str: """Get the display name of a variant.""" display_name = base if host is not None: - display_name += f" {HOSTS[host].display_name}" + display_name += f" {host.display_name}" version = kwargs.pop("VERSION", None) version = version or kwargs.pop("version", None) if version: @@ -161,7 +188,9 @@ def get_display_name(base: str, host: str | None = None, **kwargs) -> str: name = value if key.lower() == "python": if not value.startswith("pypy"): - name = f"py{value}" + name = f"Python{value}" + else: + name = f"PyPy{value.replace('pypy', '')}" elif key.lower() in DISPLAY_LOOKUP: name = DISPLAY_LOOKUP[key.lower()][value] else: @@ -203,10 +232,10 @@ def create_ocsp_variants() -> list[BuildVariant]: expansions = dict(AUTH="noauth", SSL="ssl", TOPOLOGY="server") base_display = "OCSP" - # OCSP tests on rhel8 with all servers v4.4+ and all python versions. + # OCSP tests on default host with all servers v4.4+ and all python versions. versions = [v for v in ALL_VERSIONS if v != "4.0"] for version, python in zip_cycle(versions, ALL_PYTHONS): - host = "rhel8" + host = DEFAULT_HOST variant = create_variant( [".ocsp"], get_display_name(base_display, host, version=version, python=python), @@ -220,7 +249,8 @@ def create_ocsp_variants() -> list[BuildVariant]: # OCSP tests on Windows and MacOS. # MongoDB servers on these hosts do not staple OCSP responses and only support RSA. - for host, version in product(["win64", "macos"], ["4.4", "8.0"]): + for host_name, version in product(["win64", "macos"], ["4.4", "8.0"]): + host = HOSTS[host_name] python = CPYTHONS[0] if version == "4.4" else CPYTHONS[-1] variant = create_variant( [".ocsp-rsa !.ocsp-staple"], @@ -240,7 +270,7 @@ def create_server_variants() -> list[BuildVariant]: variants = [] # Run the full matrix on linux with min and max CPython, and latest pypy. - host = "rhel8" + host = DEFAULT_HOST # Prefix the display name with an asterisk so it is sorted first. base_display_name = "* Test" for python in [*MIN_MAX_PYTHON, PYPYS[-1]]: @@ -270,23 +300,17 @@ def create_server_variants() -> list[BuildVariant]: variants.append(variant) # Test a subset on each of the other platforms. - for host in ("macos", "macos-arm64", "win64", "win32"): + for host_name in ("macos", "macos-arm64", "win64", "win32"): for python in MIN_MAX_PYTHON: tasks = [f"{t} !.sync_async" for t in SUB_TASKS] # MacOS arm64 only works on server versions 6.0+ - if host == "macos-arm64": + if host_name == "macos-arm64": tasks = [] for version in get_versions_from("6.0"): tasks.extend(f"{t} .{version} !.sync_async" for t in SUB_TASKS) - expansions = dict(SKIP_CSOT_TESTS="true") - display_name = get_display_name(base_display_name, host, python=python, **expansions) - variant = create_variant( - tasks, - display_name, - python=python, - host=host, - expansions=expansions, - ) + host = HOSTS[host_name] + display_name = get_display_name(base_display_name, host, python=python) + variant = create_variant(tasks, display_name, python=python, host=host) variants.append(variant) return variants @@ -305,7 +329,7 @@ def get_encryption_expansions(encryption): expansions["test_encryption_pyopenssl"] = "true" return expansions - host = "rhel8" + host = DEFAULT_HOST # Test against all server versions for the three main python versions. encryptions = ["Encryption", "Encryption crypt_shared", "Encryption PyOpenSSL"] @@ -339,7 +363,8 @@ def get_encryption_expansions(encryption): # Test on macos and linux on one server version and topology for min and max python. encryptions = ["Encryption", "Encryption crypt_shared"] task_names = [".latest .replica_set .sync_async"] - for host, encryption, python in product(["macos", "win64"], encryptions, MIN_MAX_PYTHON): + for host_name, encryption, python in product(["macos", "win64"], encryptions, MIN_MAX_PYTHON): + host = HOSTS[host_name] expansions = get_encryption_expansions(encryption) display_name = get_display_name(encryption, host, python=python, **expansions) variant = create_variant( @@ -357,7 +382,7 @@ def get_encryption_expansions(encryption): def create_load_balancer_variants(): # Load balancer tests - run all supported server versions using the lowest supported python. - host = "rhel8" + host = DEFAULT_HOST batchtime = BATCHTIME_WEEK versions = get_versions_from("6.0") variants = [] @@ -379,7 +404,7 @@ def create_load_balancer_variants(): def create_compression_variants(): # Compression tests - standalone versions of each server, across python versions, with and without c extensions. # PyPy interpreters are always tested without extensions. - host = "rhel8" + host = DEFAULT_HOST base_task = ".standalone .noauth .nossl .sync_async" task_names = dict(snappy=[base_task], zlib=[base_task], zstd=[f"{base_task} !.4.0"]) variants = [] @@ -423,11 +448,11 @@ def create_enterprise_auth_variants(): # All python versions across platforms. for python in ALL_PYTHONS: if python == CPYTHONS[0]: - host = "macos" + host = HOSTS["macos"] elif python == CPYTHONS[-1]: - host = "win64" + host = HOSTS["win64"] else: - host = "rhel8" + host = DEFAULT_HOST display_name = get_display_name("Auth Enterprise", host, python=python, **expansions) variant = create_variant( ["test-enterprise-auth"], display_name, host=host, python=python, expansions=expansions @@ -448,11 +473,11 @@ def create_pyopenssl_variants(): auth = "noauth" if python == CPYTHONS[0] else "auth" ssl = "nossl" if auth == "noauth" else "ssl" if python == CPYTHONS[0]: - host = "macos" + host = HOSTS["macos"] elif python == CPYTHONS[-1]: - host = "win64" + host = HOSTS["win64"] else: - host = "rhel8" + host = DEFAULT_HOST display_name = get_display_name(base_name, host, python=python) variant = create_variant( @@ -469,7 +494,7 @@ def create_pyopenssl_variants(): def create_storage_engine_variants(): - host = "rhel8" + host = DEFAULT_HOST engines = ["InMemory", "MMAPv1"] variants = [] for engine in engines: @@ -492,7 +517,7 @@ def create_storage_engine_variants(): def create_stable_api_variants(): - host = "rhel8" + host = DEFAULT_HOST tags = ["versionedApi_tag"] tasks = [f".standalone .{v} .noauth .nossl .sync_async" for v in get_versions_from("5.0")] variants = [] @@ -526,7 +551,7 @@ def create_stable_api_variants(): def create_green_framework_variants(): variants = [] tasks = [".standalone .noauth .nossl .sync_async"] - host = "rhel8" + host = DEFAULT_HOST for python, framework in product([CPYTHONS[0], CPYTHONS[-2]], ["eventlet", "gevent"]): expansions = dict(GREEN_FRAMEWORK=framework, AUTH="auth", SSL="ssl") display_name = get_display_name(f"Green {framework.capitalize()}", host, python=python) @@ -539,7 +564,7 @@ def create_green_framework_variants(): def create_no_c_ext_variants(): variants = [] - host = "rhel8" + host = DEFAULT_HOST for python, topology in zip_cycle(CPYTHONS, TOPOLOGIES): tasks = [f".{topology} .noauth .nossl .sync_async"] expansions = dict() @@ -554,7 +579,7 @@ def create_no_c_ext_variants(): def create_atlas_data_lake_variants(): variants = [] - host = "ubuntu22" + host = HOSTS["ubuntu22"] for python, c_ext in product(MIN_MAX_PYTHON, C_EXTS): tasks = ["atlas-data-lake-tests"] expansions = dict(AUTH="auth") @@ -569,7 +594,7 @@ def create_atlas_data_lake_variants(): def create_mod_wsgi_variants(): variants = [] - host = "ubuntu22" + host = HOSTS["ubuntu22"] tasks = [ "mod-wsgi-standalone", "mod-wsgi-replica-set", @@ -587,7 +612,7 @@ def create_mod_wsgi_variants(): def create_disable_test_commands_variants(): - host = "rhel8" + host = DEFAULT_HOST expansions = dict(AUTH="auth", SSL="ssl", DISABLE_TEST_COMMANDS="1") python = CPYTHONS[0] display_name = get_display_name("Disable test commands", host, python=python) @@ -596,7 +621,7 @@ def create_disable_test_commands_variants(): def create_serverless_variants(): - host = "rhel8" + host = DEFAULT_HOST batchtime = BATCHTIME_WEEK expansions = dict(test_serverless="true", AUTH="auth", SSL="ssl") tasks = ["serverless_task_group"] @@ -617,10 +642,11 @@ def create_serverless_variants(): def create_oidc_auth_variants(): variants = [] other_tasks = ["testazureoidc_task_group", "testgcpoidc_task_group", "testk8soidc_task_group"] - for host in ["ubuntu22", "macos", "win64"]: + for host_name in ["ubuntu22", "macos", "win64"]: tasks = ["testoidc_task_group"] - if host == "ubuntu22": + if host_name == "ubuntu22": tasks += other_tasks + host = HOSTS[host_name] variants.append( create_variant( tasks, @@ -633,7 +659,7 @@ def create_oidc_auth_variants(): def create_search_index_variants(): - host = "rhel8" + host = DEFAULT_HOST python = CPYTHONS[0] return [ create_variant( @@ -646,7 +672,7 @@ def create_search_index_variants(): def create_mockupdb_variants(): - host = "rhel8" + host = DEFAULT_HOST python = CPYTHONS[0] return [ create_variant( @@ -659,7 +685,7 @@ def create_mockupdb_variants(): def create_doctests_variants(): - host = "rhel8" + host = DEFAULT_HOST python = CPYTHONS[0] return [ create_variant( @@ -672,7 +698,7 @@ def create_doctests_variants(): def create_atlas_connect_variants(): - host = "rhel8" + host = DEFAULT_HOST return [ create_variant( ["atlas-connect"], @@ -696,13 +722,14 @@ def create_aws_auth_variants(): "aws-auth-test-latest", ] - for host, python in product(["ubuntu20", "win64", "macos"], MIN_MAX_PYTHON): + for host_name, python in product(["ubuntu20", "win64", "macos"], MIN_MAX_PYTHON): expansions = dict() - if host != "ubuntu20": + if host_name != "ubuntu20": expansions["skip_ECS_auth_test"] = "true" - if host == "macos": + if host_name == "macos": expansions["skip_EC2_auth_test"] = "true" expansions["skip_web_identity_auth_test"] = "true" + host = HOSTS[host_name] variant = create_variant( tasks, get_display_name("Auth AWS", host, python=python), @@ -719,11 +746,11 @@ def create_alternative_hosts_variants(): batchtime = BATCHTIME_WEEK variants = [] - host = "rhel7" + host = HOSTS["rhel7"] variants.append( create_variant( [".5.0 .standalone !.sync_async"], - get_display_name("OpenSSL 1.0.2", "rhel7", python=CPYTHONS[0], **expansions), + get_display_name("OpenSSL 1.0.2", host, python=CPYTHONS[0], **expansions), host=host, python=CPYTHONS[0], batchtime=batchtime, @@ -731,16 +758,15 @@ def create_alternative_hosts_variants(): ) ) - hosts = ["rhel92-fips", "rhel8-zseries-small", "rhel8-power-small", "rhel82-arm64-small"] - host_names = ["RHEL9-FIPS", "RHEL8-zseries", "RHEL8-POWER8", "RHEL8-arm64"] - for host, host_name in zip(hosts, host_names): + for host_name in OTHER_HOSTS: + host = HOSTS[host_name] variants.append( create_variant( [".6.0 .standalone !.sync_async"], - display_name=get_display_name(f"Other hosts {host_name}", **expansions), + display_name=get_display_name("Other hosts", host, **expansions), expansions=expansions, batchtime=batchtime, - run_on=[host], + host=host, ) ) return variants From 9e1a75c55da7453ae70a13ab1e392fabf8dcee80 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Mon, 11 Nov 2024 07:32:48 -0600 Subject: [PATCH 2/2] fix handling of expansions --- .evergreen/generated_configs/variants.yml | 400 ++++++++++++++++++++++ .evergreen/scripts/generate_config.py | 4 +- 2 files changed, 403 insertions(+), 1 deletion(-) diff --git a/.evergreen/generated_configs/variants.yml b/.evergreen/generated_configs/variants.yml index 69ae7aa26f..928347f567 100644 --- a/.evergreen/generated_configs/variants.yml +++ b/.evergreen/generated_configs/variants.yml @@ -7,6 +7,9 @@ buildvariants: run_on: - rhel79-small batchtime: 10080 + expansions: + SKIP_HATCH: "true" + PYTHON_BINARY: /opt/python/3.9/bin/python3 - name: other-hosts-rhel9-fips tasks: - name: .6.0 .standalone !.sync_async @@ -14,6 +17,8 @@ buildvariants: run_on: - rhel92-fips batchtime: 10080 + expansions: + SKIP_HATCH: "true" - name: other-hosts-rhel8-zseries tasks: - name: .6.0 .standalone !.sync_async @@ -21,6 +26,8 @@ buildvariants: run_on: - rhel8-zseries-small batchtime: 10080 + expansions: + SKIP_HATCH: "true" - name: other-hosts-rhel8-power8 tasks: - name: .6.0 .standalone !.sync_async @@ -28,6 +35,8 @@ buildvariants: run_on: - rhel8-power-small batchtime: 10080 + expansions: + SKIP_HATCH: "true" - name: other-hosts-rhel8-arm64 tasks: - name: .6.0 .standalone !.sync_async @@ -35,6 +44,8 @@ buildvariants: run_on: - rhel82-arm64-small batchtime: 10080 + expansions: + SKIP_HATCH: "true" # Atlas connect tests - name: atlas-connect-rhel8-python3.9 @@ -43,12 +54,16 @@ buildvariants: display_name: Atlas connect RHEL8 Python3.9 run_on: - rhel87-small + expansions: + PYTHON_BINARY: /opt/python/3.9/bin/python3 - name: atlas-connect-rhel8-python3.13 tasks: - name: atlas-connect display_name: Atlas connect RHEL8 Python3.13 run_on: - rhel87-small + expansions: + PYTHON_BINARY: /opt/python/3.13/bin/python3 # Atlas data lake tests - name: atlas-data-lake-ubuntu-22-python3.9-auth-no-c @@ -57,24 +72,38 @@ buildvariants: display_name: Atlas Data Lake Ubuntu-22 Python3.9 Auth No C run_on: - ubuntu2204-small + expansions: + AUTH: auth + NO_EXT: "1" + PYTHON_BINARY: /opt/python/3.9/bin/python3 - name: atlas-data-lake-ubuntu-22-python3.9-auth tasks: - name: atlas-data-lake-tests display_name: Atlas Data Lake Ubuntu-22 Python3.9 Auth run_on: - ubuntu2204-small + expansions: + AUTH: auth + PYTHON_BINARY: /opt/python/3.9/bin/python3 - name: atlas-data-lake-ubuntu-22-python3.13-auth-no-c tasks: - name: atlas-data-lake-tests display_name: Atlas Data Lake Ubuntu-22 Python3.13 Auth No C run_on: - ubuntu2204-small + expansions: + AUTH: auth + NO_EXT: "1" + PYTHON_BINARY: /opt/python/3.13/bin/python3 - name: atlas-data-lake-ubuntu-22-python3.13-auth tasks: - name: atlas-data-lake-tests display_name: Atlas Data Lake Ubuntu-22 Python3.13 Auth run_on: - ubuntu2204-small + expansions: + AUTH: auth + PYTHON_BINARY: /opt/python/3.13/bin/python3 # Aws auth tests - name: auth-aws-ubuntu-20-python3.9 @@ -89,6 +118,8 @@ buildvariants: display_name: Auth AWS Ubuntu-20 Python3.9 run_on: - ubuntu2004-small + expansions: + PYTHON_BINARY: /opt/python/3.9/bin/python3 - name: auth-aws-ubuntu-20-python3.13 tasks: - name: aws-auth-test-4.4 @@ -101,6 +132,8 @@ buildvariants: 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: aws-auth-test-4.4 @@ -113,6 +146,9 @@ buildvariants: display_name: Auth AWS Win64 Python3.9 run_on: - windows-64-vsMulti-small + expansions: + skip_ECS_auth_test: "true" + PYTHON_BINARY: C:/python/Python39/python.exe - name: auth-aws-win64-python3.13 tasks: - name: aws-auth-test-4.4 @@ -125,6 +161,9 @@ buildvariants: display_name: Auth AWS Win64 Python3.13 run_on: - windows-64-vsMulti-small + expansions: + skip_ECS_auth_test: "true" + PYTHON_BINARY: C:/python/Python313/python.exe - name: auth-aws-macos-python3.9 tasks: - name: aws-auth-test-4.4 @@ -137,6 +176,11 @@ buildvariants: display_name: Auth AWS macOS Python3.9 run_on: - macos-14 + expansions: + skip_ECS_auth_test: "true" + skip_EC2_auth_test: "true" + skip_web_identity_auth_test: "true" + PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.9/bin/python3 - name: auth-aws-macos-python3.13 tasks: - name: aws-auth-test-4.4 @@ -149,6 +193,11 @@ buildvariants: display_name: Auth AWS macOS Python3.13 run_on: - macos-14 + expansions: + skip_ECS_auth_test: "true" + skip_EC2_auth_test: "true" + skip_web_identity_auth_test: "true" + PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.13/bin/python3 # Compression tests - name: compression-snappy-rhel8-python3.9-no-c @@ -157,54 +206,84 @@ buildvariants: display_name: Compression snappy RHEL8 Python3.9 No C run_on: - rhel87-small + expansions: + COMPRESSORS: snappy + NO_EXT: "1" + PYTHON_BINARY: /opt/python/3.9/bin/python3 - name: compression-snappy-rhel8-python3.10 tasks: - name: .standalone .noauth .nossl .sync_async display_name: Compression snappy RHEL8 Python3.10 run_on: - rhel87-small + expansions: + COMPRESSORS: snappy + PYTHON_BINARY: /opt/python/3.10/bin/python3 - name: compression-zlib-rhel8-python3.11-no-c tasks: - name: .standalone .noauth .nossl .sync_async display_name: Compression zlib RHEL8 Python3.11 No C run_on: - rhel87-small + expansions: + COMPRESSORS: zlib + NO_EXT: "1" + PYTHON_BINARY: /opt/python/3.11/bin/python3 - name: compression-zlib-rhel8-python3.12 tasks: - name: .standalone .noauth .nossl .sync_async display_name: Compression zlib RHEL8 Python3.12 run_on: - rhel87-small + expansions: + COMPRESSORS: zlib + PYTHON_BINARY: /opt/python/3.12/bin/python3 - name: compression-zstd-rhel8-python3.13-no-c tasks: - name: .standalone .noauth .nossl .sync_async !.4.0 display_name: Compression zstd RHEL8 Python3.13 No C run_on: - rhel87-small + expansions: + COMPRESSORS: zstd + NO_EXT: "1" + PYTHON_BINARY: /opt/python/3.13/bin/python3 - name: compression-zstd-rhel8-python3.9 tasks: - name: .standalone .noauth .nossl .sync_async !.4.0 display_name: Compression zstd RHEL8 Python3.9 run_on: - rhel87-small + expansions: + COMPRESSORS: zstd + PYTHON_BINARY: /opt/python/3.9/bin/python3 - name: compression-snappy-rhel8-pypy3.9 tasks: - name: .standalone .noauth .nossl .sync_async display_name: Compression snappy RHEL8 PyPy3.9 run_on: - rhel87-small + expansions: + COMPRESSORS: snappy + PYTHON_BINARY: /opt/python/pypy3.9/bin/python3 - name: compression-zlib-rhel8-pypy3.10 tasks: - name: .standalone .noauth .nossl .sync_async display_name: Compression zlib RHEL8 PyPy3.10 run_on: - rhel87-small + expansions: + COMPRESSORS: zlib + PYTHON_BINARY: /opt/python/pypy3.10/bin/python3 - name: compression-zstd-rhel8-pypy3.9 tasks: - name: .standalone .noauth .nossl .sync_async !.4.0 display_name: Compression zstd RHEL8 PyPy3.9 run_on: - rhel87-small + expansions: + COMPRESSORS: zstd + PYTHON_BINARY: /opt/python/pypy3.9/bin/python3 # Disable test commands tests - name: disable-test-commands-rhel8-python3.9 @@ -213,6 +292,11 @@ buildvariants: display_name: Disable test commands RHEL8 Python3.9 run_on: - rhel87-small + expansions: + AUTH: auth + SSL: ssl + DISABLE_TEST_COMMANDS: "1" + PYTHON_BINARY: /opt/python/3.9/bin/python3 # Doctests tests - name: doctests-rhel8-python3.9 @@ -221,6 +305,8 @@ buildvariants: display_name: Doctests RHEL8 Python3.9 run_on: - rhel87-small + expansions: + PYTHON_BINARY: /opt/python/3.9/bin/python3 # Encryption tests - name: encryption-rhel8-python3.9 @@ -232,6 +318,9 @@ buildvariants: run_on: - rhel87-small batchtime: 10080 + expansions: + test_encryption: "true" + PYTHON_BINARY: /opt/python/3.9/bin/python3 tags: [encryption_tag] - name: encryption-rhel8-python3.13 tasks: @@ -242,6 +331,9 @@ buildvariants: run_on: - rhel87-small batchtime: 10080 + expansions: + test_encryption: "true" + PYTHON_BINARY: /opt/python/3.13/bin/python3 tags: [encryption_tag] - name: encryption-rhel8-pypy3.10 tasks: @@ -252,6 +344,9 @@ buildvariants: run_on: - rhel87-small batchtime: 10080 + expansions: + test_encryption: "true" + PYTHON_BINARY: /opt/python/pypy3.10/bin/python3 tags: [encryption_tag] - name: encryption-crypt_shared-rhel8-python3.9 tasks: @@ -262,6 +357,10 @@ buildvariants: run_on: - rhel87-small batchtime: 10080 + expansions: + test_encryption: "true" + test_crypt_shared: "true" + PYTHON_BINARY: /opt/python/3.9/bin/python3 tags: [encryption_tag] - name: encryption-crypt_shared-rhel8-python3.13 tasks: @@ -272,6 +371,10 @@ buildvariants: run_on: - rhel87-small batchtime: 10080 + expansions: + test_encryption: "true" + test_crypt_shared: "true" + PYTHON_BINARY: /opt/python/3.13/bin/python3 tags: [encryption_tag] - name: encryption-crypt_shared-rhel8-pypy3.10 tasks: @@ -282,6 +385,10 @@ buildvariants: run_on: - rhel87-small batchtime: 10080 + expansions: + test_encryption: "true" + test_crypt_shared: "true" + PYTHON_BINARY: /opt/python/pypy3.10/bin/python3 tags: [encryption_tag] - name: encryption-pyopenssl-rhel8-python3.9 tasks: @@ -292,6 +399,10 @@ buildvariants: run_on: - rhel87-small batchtime: 10080 + expansions: + test_encryption: "true" + test_encryption_pyopenssl: "true" + PYTHON_BINARY: /opt/python/3.9/bin/python3 tags: [encryption_tag] - name: encryption-pyopenssl-rhel8-python3.13 tasks: @@ -302,6 +413,10 @@ buildvariants: run_on: - rhel87-small batchtime: 10080 + expansions: + test_encryption: "true" + test_encryption_pyopenssl: "true" + PYTHON_BINARY: /opt/python/3.13/bin/python3 tags: [encryption_tag] - name: encryption-pyopenssl-rhel8-pypy3.10 tasks: @@ -312,6 +427,10 @@ buildvariants: run_on: - rhel87-small batchtime: 10080 + expansions: + test_encryption: "true" + test_encryption_pyopenssl: "true" + PYTHON_BINARY: /opt/python/pypy3.10/bin/python3 tags: [encryption_tag] - name: encryption-rhel8-python3.10 tasks: @@ -319,24 +438,38 @@ buildvariants: display_name: Encryption RHEL8 Python3.10 run_on: - rhel87-small + expansions: + test_encryption: "true" + PYTHON_BINARY: /opt/python/3.10/bin/python3 - name: encryption-crypt_shared-rhel8-python3.11 tasks: - name: .replica_set .noauth .ssl .sync_async display_name: Encryption crypt_shared RHEL8 Python3.11 run_on: - rhel87-small + expansions: + test_encryption: "true" + test_crypt_shared: "true" + PYTHON_BINARY: /opt/python/3.11/bin/python3 - name: encryption-pyopenssl-rhel8-python3.12 tasks: - name: .standalone .noauth .nossl .sync_async display_name: Encryption PyOpenSSL RHEL8 Python3.12 run_on: - rhel87-small + expansions: + test_encryption: "true" + test_encryption_pyopenssl: "true" + PYTHON_BINARY: /opt/python/3.12/bin/python3 - name: encryption-rhel8-pypy3.9 tasks: - name: .sharded_cluster .auth .ssl .sync_async display_name: Encryption RHEL8 PyPy3.9 run_on: - rhel87-small + expansions: + test_encryption: "true" + PYTHON_BINARY: /opt/python/pypy3.9/bin/python3 - name: encryption-macos-python3.9 tasks: - name: .latest .replica_set .sync_async @@ -344,6 +477,9 @@ buildvariants: run_on: - macos-14 batchtime: 10080 + expansions: + test_encryption: "true" + PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.9/bin/python3 tags: [encryption_tag] - name: encryption-macos-python3.13 tasks: @@ -352,6 +488,9 @@ buildvariants: run_on: - macos-14 batchtime: 10080 + expansions: + test_encryption: "true" + PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.13/bin/python3 tags: [encryption_tag] - name: encryption-crypt_shared-macos-python3.9 tasks: @@ -360,6 +499,10 @@ buildvariants: run_on: - macos-14 batchtime: 10080 + expansions: + test_encryption: "true" + test_crypt_shared: "true" + PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.9/bin/python3 tags: [encryption_tag] - name: encryption-crypt_shared-macos-python3.13 tasks: @@ -368,6 +511,10 @@ buildvariants: run_on: - macos-14 batchtime: 10080 + expansions: + test_encryption: "true" + test_crypt_shared: "true" + PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.13/bin/python3 tags: [encryption_tag] - name: encryption-win64-python3.9 tasks: @@ -376,6 +523,9 @@ buildvariants: run_on: - windows-64-vsMulti-small batchtime: 10080 + expansions: + test_encryption: "true" + PYTHON_BINARY: C:/python/Python39/python.exe tags: [encryption_tag] - name: encryption-win64-python3.13 tasks: @@ -384,6 +534,9 @@ buildvariants: run_on: - windows-64-vsMulti-small batchtime: 10080 + expansions: + test_encryption: "true" + PYTHON_BINARY: C:/python/Python313/python.exe tags: [encryption_tag] - name: encryption-crypt_shared-win64-python3.9 tasks: @@ -392,6 +545,10 @@ buildvariants: run_on: - windows-64-vsMulti-small batchtime: 10080 + expansions: + test_encryption: "true" + test_crypt_shared: "true" + PYTHON_BINARY: C:/python/Python39/python.exe tags: [encryption_tag] - name: encryption-crypt_shared-win64-python3.13 tasks: @@ -400,6 +557,10 @@ buildvariants: run_on: - windows-64-vsMulti-small batchtime: 10080 + expansions: + test_encryption: "true" + test_crypt_shared: "true" + PYTHON_BINARY: C:/python/Python313/python.exe tags: [encryption_tag] # Enterprise auth tests @@ -409,42 +570,63 @@ buildvariants: display_name: Auth Enterprise macOS Python3.9 Auth run_on: - macos-14 + expansions: + AUTH: auth + PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.9/bin/python3 - name: auth-enterprise-rhel8-python3.10-auth tasks: - name: test-enterprise-auth display_name: Auth Enterprise RHEL8 Python3.10 Auth run_on: - rhel87-small + expansions: + AUTH: auth + PYTHON_BINARY: /opt/python/3.10/bin/python3 - name: auth-enterprise-rhel8-python3.11-auth tasks: - name: test-enterprise-auth display_name: Auth Enterprise RHEL8 Python3.11 Auth run_on: - rhel87-small + expansions: + AUTH: auth + PYTHON_BINARY: /opt/python/3.11/bin/python3 - name: auth-enterprise-rhel8-python3.12-auth tasks: - name: test-enterprise-auth display_name: Auth Enterprise RHEL8 Python3.12 Auth run_on: - rhel87-small + expansions: + AUTH: auth + PYTHON_BINARY: /opt/python/3.12/bin/python3 - name: auth-enterprise-win64-python3.13-auth tasks: - name: test-enterprise-auth display_name: Auth Enterprise Win64 Python3.13 Auth run_on: - windows-64-vsMulti-small + expansions: + AUTH: auth + PYTHON_BINARY: C:/python/Python313/python.exe - name: auth-enterprise-rhel8-pypy3.9-auth tasks: - name: test-enterprise-auth display_name: Auth Enterprise RHEL8 PyPy3.9 Auth run_on: - rhel87-small + expansions: + AUTH: auth + PYTHON_BINARY: /opt/python/pypy3.9/bin/python3 - name: auth-enterprise-rhel8-pypy3.10-auth tasks: - name: test-enterprise-auth display_name: Auth Enterprise RHEL8 PyPy3.10 Auth run_on: - rhel87-small + expansions: + AUTH: auth + PYTHON_BINARY: /opt/python/pypy3.10/bin/python3 # Green framework tests - name: green-eventlet-rhel8-python3.9 @@ -453,24 +635,44 @@ buildvariants: display_name: Green Eventlet RHEL8 Python3.9 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-eventlet-rhel8-python3.12 tasks: - name: .standalone .noauth .nossl .sync_async display_name: Green Eventlet RHEL8 Python3.12 run_on: - rhel87-small + expansions: + GREEN_FRAMEWORK: eventlet + AUTH: auth + SSL: ssl + PYTHON_BINARY: /opt/python/3.12/bin/python3 - name: green-gevent-rhel8-python3.12 tasks: - name: .standalone .noauth .nossl .sync_async display_name: Green Gevent RHEL8 Python3.12 run_on: - rhel87-small + expansions: + GREEN_FRAMEWORK: gevent + AUTH: auth + SSL: ssl + PYTHON_BINARY: /opt/python/3.12/bin/python3 # Load balancer tests - name: load-balancer-rhel8-v6.0-python3.9 @@ -480,6 +682,9 @@ buildvariants: run_on: - rhel87-small batchtime: 10080 + expansions: + VERSION: "6.0" + PYTHON_BINARY: /opt/python/3.9/bin/python3 - name: load-balancer-rhel8-v7.0-python3.9 tasks: - name: .load-balancer @@ -487,6 +692,9 @@ buildvariants: run_on: - rhel87-small batchtime: 10080 + expansions: + VERSION: "7.0" + PYTHON_BINARY: /opt/python/3.9/bin/python3 - name: load-balancer-rhel8-v8.0-python3.9 tasks: - name: .load-balancer @@ -494,6 +702,9 @@ buildvariants: run_on: - rhel87-small batchtime: 10080 + expansions: + VERSION: "8.0" + PYTHON_BINARY: /opt/python/3.9/bin/python3 - name: load-balancer-rhel8-rapid-python3.9 tasks: - name: .load-balancer @@ -501,6 +712,9 @@ buildvariants: run_on: - rhel87-small batchtime: 10080 + expansions: + VERSION: rapid + PYTHON_BINARY: /opt/python/3.9/bin/python3 - name: load-balancer-rhel8-latest-python3.9 tasks: - name: .load-balancer @@ -508,6 +722,9 @@ buildvariants: run_on: - rhel87-small batchtime: 10080 + expansions: + VERSION: latest + PYTHON_BINARY: /opt/python/3.9/bin/python3 # Mockupdb tests - name: mockupdb-rhel8-python3.9 @@ -516,6 +733,8 @@ buildvariants: display_name: MockupDB RHEL8 Python3.9 run_on: - rhel87-small + expansions: + PYTHON_BINARY: /opt/python/3.9/bin/python3 # Mod wsgi tests - name: mod_wsgi-ubuntu-22-python3.9 @@ -527,6 +746,9 @@ buildvariants: display_name: mod_wsgi Ubuntu-22 Python3.9 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-standalone @@ -536,6 +758,9 @@ buildvariants: 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-python3.9 @@ -544,30 +769,45 @@ buildvariants: display_name: No C Ext RHEL8 Python3.9 run_on: - rhel87-small + expansions: + NO_EXT: "1" + PYTHON_BINARY: /opt/python/3.9/bin/python3 - name: no-c-ext-rhel8-python3.10 tasks: - name: .replica_set .noauth .nossl .sync_async display_name: No C Ext RHEL8 Python3.10 run_on: - rhel87-small + expansions: + NO_EXT: "1" + PYTHON_BINARY: /opt/python/3.10/bin/python3 - name: no-c-ext-rhel8-python3.11 tasks: - name: .sharded_cluster .noauth .nossl .sync_async display_name: No C Ext RHEL8 Python3.11 run_on: - rhel87-small + expansions: + NO_EXT: "1" + PYTHON_BINARY: /opt/python/3.11/bin/python3 - name: no-c-ext-rhel8-python3.12 tasks: - name: .standalone .noauth .nossl .sync_async display_name: No C Ext RHEL8 Python3.12 run_on: - rhel87-small + expansions: + NO_EXT: "1" + PYTHON_BINARY: /opt/python/3.12/bin/python3 - name: no-c-ext-rhel8-python3.13 tasks: - name: .replica_set .noauth .nossl .sync_async display_name: No C Ext RHEL8 Python3.13 run_on: - rhel87-small + expansions: + NO_EXT: "1" + PYTHON_BINARY: /opt/python/3.13/bin/python3 # Ocsp tests - name: ocsp-rhel8-v4.4-python3.9 @@ -577,6 +817,12 @@ buildvariants: run_on: - rhel87-small batchtime: 20160 + expansions: + AUTH: noauth + SSL: ssl + TOPOLOGY: server + VERSION: "4.4" + PYTHON_BINARY: /opt/python/3.9/bin/python3 - name: ocsp-rhel8-v5.0-python3.10 tasks: - name: .ocsp @@ -584,6 +830,12 @@ buildvariants: run_on: - rhel87-small batchtime: 20160 + expansions: + AUTH: noauth + SSL: ssl + TOPOLOGY: server + VERSION: "5.0" + PYTHON_BINARY: /opt/python/3.10/bin/python3 - name: ocsp-rhel8-v6.0-python3.11 tasks: - name: .ocsp @@ -591,6 +843,12 @@ buildvariants: run_on: - rhel87-small batchtime: 20160 + expansions: + AUTH: noauth + SSL: ssl + TOPOLOGY: server + VERSION: "6.0" + PYTHON_BINARY: /opt/python/3.11/bin/python3 - name: ocsp-rhel8-v7.0-python3.12 tasks: - name: .ocsp @@ -598,6 +856,12 @@ buildvariants: run_on: - rhel87-small batchtime: 20160 + expansions: + AUTH: noauth + SSL: ssl + TOPOLOGY: server + VERSION: "7.0" + PYTHON_BINARY: /opt/python/3.12/bin/python3 - name: ocsp-rhel8-v8.0-python3.13 tasks: - name: .ocsp @@ -605,6 +869,12 @@ buildvariants: run_on: - rhel87-small batchtime: 20160 + expansions: + AUTH: noauth + SSL: ssl + TOPOLOGY: server + VERSION: "8.0" + PYTHON_BINARY: /opt/python/3.13/bin/python3 - name: ocsp-rhel8-rapid-pypy3.9 tasks: - name: .ocsp @@ -612,6 +882,12 @@ buildvariants: run_on: - rhel87-small batchtime: 20160 + expansions: + AUTH: noauth + SSL: ssl + TOPOLOGY: server + VERSION: rapid + PYTHON_BINARY: /opt/python/pypy3.9/bin/python3 - name: ocsp-rhel8-latest-pypy3.10 tasks: - name: .ocsp @@ -619,6 +895,12 @@ buildvariants: run_on: - rhel87-small batchtime: 20160 + expansions: + AUTH: noauth + SSL: ssl + TOPOLOGY: server + VERSION: latest + PYTHON_BINARY: /opt/python/pypy3.10/bin/python3 - name: ocsp-win64-v4.4-python3.9 tasks: - name: .ocsp-rsa !.ocsp-staple @@ -626,6 +908,12 @@ buildvariants: run_on: - windows-64-vsMulti-small batchtime: 20160 + expansions: + AUTH: noauth + SSL: ssl + TOPOLOGY: server + VERSION: "4.4" + PYTHON_BINARY: C:/python/Python39/python.exe - name: ocsp-win64-v8.0-python3.13 tasks: - name: .ocsp-rsa !.ocsp-staple @@ -633,6 +921,12 @@ buildvariants: run_on: - windows-64-vsMulti-small batchtime: 20160 + expansions: + AUTH: noauth + SSL: ssl + TOPOLOGY: server + VERSION: "8.0" + PYTHON_BINARY: C:/python/Python313/python.exe - name: ocsp-macos-v4.4-python3.9 tasks: - name: .ocsp-rsa !.ocsp-staple @@ -640,6 +934,12 @@ buildvariants: run_on: - macos-14 batchtime: 20160 + expansions: + AUTH: noauth + SSL: ssl + TOPOLOGY: server + VERSION: "4.4" + PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.9/bin/python3 - name: ocsp-macos-v8.0-python3.13 tasks: - name: .ocsp-rsa !.ocsp-staple @@ -647,6 +947,12 @@ buildvariants: run_on: - macos-14 batchtime: 20160 + expansions: + AUTH: noauth + SSL: ssl + TOPOLOGY: server + VERSION: "8.0" + PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.13/bin/python3 # Oidc auth tests - name: auth-oidc-ubuntu-22 @@ -683,6 +989,9 @@ buildvariants: run_on: - macos-14 batchtime: 10080 + expansions: + test_pyopenssl: "true" + PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.9/bin/python3 - name: pyopenssl-rhel8-python3.10 tasks: - name: .replica_set .auth .ssl .sync_async @@ -691,6 +1000,9 @@ buildvariants: run_on: - rhel87-small batchtime: 10080 + expansions: + test_pyopenssl: "true" + PYTHON_BINARY: /opt/python/3.10/bin/python3 - name: pyopenssl-rhel8-python3.11 tasks: - name: .replica_set .auth .ssl .sync_async @@ -699,6 +1011,9 @@ buildvariants: run_on: - rhel87-small batchtime: 10080 + expansions: + test_pyopenssl: "true" + PYTHON_BINARY: /opt/python/3.11/bin/python3 - name: pyopenssl-rhel8-python3.12 tasks: - name: .replica_set .auth .ssl .sync_async @@ -707,6 +1022,9 @@ buildvariants: run_on: - rhel87-small batchtime: 10080 + expansions: + test_pyopenssl: "true" + PYTHON_BINARY: /opt/python/3.12/bin/python3 - name: pyopenssl-win64-python3.13 tasks: - name: .replica_set .auth .ssl .sync_async @@ -715,6 +1033,9 @@ buildvariants: run_on: - windows-64-vsMulti-small batchtime: 10080 + expansions: + test_pyopenssl: "true" + PYTHON_BINARY: C:/python/Python313/python.exe - name: pyopenssl-rhel8-pypy3.9 tasks: - name: .replica_set .auth .ssl .sync_async @@ -723,6 +1044,9 @@ buildvariants: run_on: - rhel87-small batchtime: 10080 + expansions: + test_pyopenssl: "true" + PYTHON_BINARY: /opt/python/pypy3.9/bin/python3 - name: pyopenssl-rhel8-pypy3.10 tasks: - name: .replica_set .auth .ssl .sync_async @@ -731,6 +1055,9 @@ buildvariants: run_on: - rhel87-small batchtime: 10080 + expansions: + test_pyopenssl: "true" + PYTHON_BINARY: /opt/python/pypy3.10/bin/python3 # Search index tests - name: search-index-helpers-rhel8-python3.9 @@ -739,6 +1066,8 @@ buildvariants: display_name: Search Index Helpers RHEL8 Python3.9 run_on: - rhel87-small + expansions: + PYTHON_BINARY: /opt/python/3.9/bin/python3 # Server tests - name: test-rhel8-python3.9-cov @@ -749,6 +1078,9 @@ buildvariants: display_name: "* Test RHEL8 Python3.9 cov" run_on: - rhel87-small + expansions: + COVERAGE: coverage + PYTHON_BINARY: /opt/python/3.9/bin/python3 tags: [coverage_tag] - name: test-rhel8-python3.13-cov tasks: @@ -758,6 +1090,9 @@ buildvariants: display_name: "* Test RHEL8 Python3.13 cov" run_on: - rhel87-small + expansions: + COVERAGE: coverage + PYTHON_BINARY: /opt/python/3.13/bin/python3 tags: [coverage_tag] - name: test-rhel8-pypy3.10-cov tasks: @@ -767,6 +1102,9 @@ buildvariants: display_name: "* Test RHEL8 PyPy3.10 cov" run_on: - rhel87-small + expansions: + COVERAGE: coverage + PYTHON_BINARY: /opt/python/pypy3.10/bin/python3 tags: [coverage_tag] - name: test-rhel8-python3.10 tasks: @@ -776,6 +1114,9 @@ buildvariants: display_name: "* Test RHEL8 Python3.10" run_on: - rhel87-small + expansions: + COVERAGE: coverage + PYTHON_BINARY: /opt/python/3.10/bin/python3 - name: test-rhel8-python3.11 tasks: - name: .sharded_cluster .auth .ssl .sync_async @@ -784,6 +1125,9 @@ buildvariants: display_name: "* Test RHEL8 Python3.11" run_on: - rhel87-small + expansions: + COVERAGE: coverage + PYTHON_BINARY: /opt/python/3.11/bin/python3 - name: test-rhel8-python3.12 tasks: - name: .sharded_cluster .auth .ssl .sync_async @@ -792,6 +1136,9 @@ buildvariants: display_name: "* Test RHEL8 Python3.12" run_on: - rhel87-small + expansions: + COVERAGE: coverage + PYTHON_BINARY: /opt/python/3.12/bin/python3 - name: test-rhel8-pypy3.9 tasks: - name: .sharded_cluster .auth .ssl .sync_async @@ -800,6 +1147,9 @@ buildvariants: display_name: "* Test RHEL8 PyPy3.9" run_on: - rhel87-small + expansions: + COVERAGE: coverage + PYTHON_BINARY: /opt/python/pypy3.9/bin/python3 - name: test-macos-python3.9 tasks: - name: .sharded_cluster .auth .ssl !.sync_async @@ -808,6 +1158,8 @@ buildvariants: display_name: "* Test macOS Python3.9" run_on: - macos-14 + expansions: + PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.9/bin/python3 - name: test-macos-python3.13 tasks: - name: .sharded_cluster .auth .ssl !.sync_async @@ -816,6 +1168,8 @@ buildvariants: display_name: "* Test macOS Python3.13" run_on: - macos-14 + expansions: + PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.13/bin/python3 - name: test-macos-arm64-python3.9 tasks: - name: .sharded_cluster .auth .ssl .6.0 !.sync_async @@ -836,6 +1190,8 @@ buildvariants: display_name: "* Test macOS Arm64 Python3.9" run_on: - macos-14-arm64 + expansions: + PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.9/bin/python3 - name: test-macos-arm64-python3.13 tasks: - name: .sharded_cluster .auth .ssl .6.0 !.sync_async @@ -856,6 +1212,8 @@ buildvariants: display_name: "* Test macOS Arm64 Python3.13" run_on: - macos-14-arm64 + expansions: + PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.13/bin/python3 - name: test-win64-python3.9 tasks: - name: .sharded_cluster .auth .ssl !.sync_async @@ -864,6 +1222,8 @@ buildvariants: display_name: "* Test Win64 Python3.9" run_on: - windows-64-vsMulti-small + expansions: + PYTHON_BINARY: C:/python/Python39/python.exe - name: test-win64-python3.13 tasks: - name: .sharded_cluster .auth .ssl !.sync_async @@ -872,6 +1232,8 @@ buildvariants: display_name: "* Test Win64 Python3.13" run_on: - windows-64-vsMulti-small + expansions: + PYTHON_BINARY: C:/python/Python313/python.exe - name: test-win32-python3.9 tasks: - name: .sharded_cluster .auth .ssl !.sync_async @@ -880,6 +1242,8 @@ buildvariants: display_name: "* Test Win32 Python3.9" run_on: - windows-64-vsMulti-small + expansions: + PYTHON_BINARY: C:/python/32/Python39/python.exe - name: test-win32-python3.13 tasks: - name: .sharded_cluster .auth .ssl !.sync_async @@ -888,6 +1252,8 @@ buildvariants: display_name: "* Test Win32 Python3.13" run_on: - windows-64-vsMulti-small + expansions: + PYTHON_BINARY: C:/python/32/Python313/python.exe # Serverless tests - name: serverless-rhel8-python3.9 @@ -897,6 +1263,11 @@ buildvariants: run_on: - rhel87-small batchtime: 10080 + expansions: + test_serverless: "true" + AUTH: auth + SSL: ssl + PYTHON_BINARY: /opt/python/3.9/bin/python3 - name: serverless-rhel8-python3.13 tasks: - name: serverless_task_group @@ -904,6 +1275,11 @@ buildvariants: run_on: - rhel87-small batchtime: 10080 + expansions: + test_serverless: "true" + AUTH: auth + SSL: ssl + PYTHON_BINARY: /opt/python/3.13/bin/python3 # Stable api tests - name: stable-api-require-v1-rhel8-python3.9-auth @@ -917,6 +1293,11 @@ buildvariants: display_name: Stable API require v1 RHEL8 Python3.9 Auth run_on: - rhel87-small + expansions: + AUTH: auth + REQUIRE_API_VERSION: "1" + MONGODB_API_VERSION: "1" + PYTHON_BINARY: /opt/python/3.9/bin/python3 tags: [versionedApi_tag] - name: stable-api-accept-v2-rhel8-python3.9-auth tasks: @@ -929,6 +1310,10 @@ buildvariants: display_name: Stable API accept v2 RHEL8 Python3.9 Auth run_on: - rhel87-small + expansions: + AUTH: auth + ORCHESTRATION_FILE: versioned-api-testing.json + PYTHON_BINARY: /opt/python/3.9/bin/python3 tags: [versionedApi_tag] - name: stable-api-require-v1-rhel8-python3.13-auth tasks: @@ -941,6 +1326,11 @@ buildvariants: display_name: Stable API require v1 RHEL8 Python3.13 Auth run_on: - rhel87-small + expansions: + AUTH: auth + REQUIRE_API_VERSION: "1" + MONGODB_API_VERSION: "1" + PYTHON_BINARY: /opt/python/3.13/bin/python3 tags: [versionedApi_tag] - name: stable-api-accept-v2-rhel8-python3.13-auth tasks: @@ -953,6 +1343,10 @@ buildvariants: display_name: Stable API accept v2 RHEL8 Python3.13 Auth run_on: - rhel87-small + expansions: + AUTH: auth + ORCHESTRATION_FILE: versioned-api-testing.json + PYTHON_BINARY: /opt/python/3.13/bin/python3 tags: [versionedApi_tag] # Storage engine tests @@ -969,6 +1363,9 @@ buildvariants: display_name: Storage InMemory RHEL8 Python3.9 run_on: - rhel87-small + expansions: + STORAGE_ENGINE: inmemory + PYTHON_BINARY: /opt/python/3.9/bin/python3 - name: storage-mmapv1-rhel8-python3.9 tasks: - name: .standalone .4.0 .noauth .nossl .sync_async @@ -976,3 +1373,6 @@ buildvariants: display_name: Storage MMAPv1 RHEL8 Python3.9 run_on: - rhel87-small + expansions: + STORAGE_ENGINE: mmapv1 + PYTHON_BINARY: /opt/python/3.9/bin/python3 diff --git a/.evergreen/scripts/generate_config.py b/.evergreen/scripts/generate_config.py index fc8faf9162..b7187b50db 100644 --- a/.evergreen/scripts/generate_config.py +++ b/.evergreen/scripts/generate_config.py @@ -132,7 +132,9 @@ def create_variant( expansions["VERSION"] = version if python: expansions["PYTHON_BINARY"] = get_python_binary(python, host) - return create_variant_generic(task_names, display_name, version=version, host=host, **kwargs) + return create_variant_generic( + task_names, display_name, version=version, host=host, expansions=expansions, **kwargs + ) def get_python_binary(python: str, host: Host) -> str: