diff --git a/.evergreen/generated_configs/variants.yml b/.evergreen/generated_configs/variants.yml index 9ee51899f4..928347f567 100644 --- a/.evergreen/generated_configs/variants.yml +++ b/.evergreen/generated_configs/variants.yml @@ -1,9 +1,9 @@ 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 @@ -48,57 +48,57 @@ buildvariants: 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: @@ -106,7 +106,7 @@ buildvariants: 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 +115,12 @@ 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 +129,12 @@ 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 +143,13 @@ 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 +158,13 @@ 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,7 +173,7 @@ 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: @@ -181,7 +181,7 @@ buildvariants: 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,7 +190,7 @@ 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: @@ -200,58 +200,58 @@ buildvariants: 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: @@ -260,7 +260,7 @@ buildvariants: - 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: @@ -269,7 +269,7 @@ buildvariants: - 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: @@ -278,7 +278,7 @@ buildvariants: - 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: @@ -286,10 +286,10 @@ buildvariants: 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: @@ -299,22 +299,22 @@ buildvariants: 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 @@ -322,12 +322,12 @@ buildvariants: 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 @@ -340,7 +340,7 @@ buildvariants: - 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 @@ -348,12 +348,12 @@ buildvariants: 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 @@ -362,12 +362,12 @@ buildvariants: 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 @@ -381,7 +381,7 @@ buildvariants: - 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 @@ -390,12 +390,12 @@ buildvariants: 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 @@ -404,12 +404,12 @@ buildvariants: 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 @@ -423,7 +423,7 @@ buildvariants: - 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 @@ -432,29 +432,29 @@ buildvariants: 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: @@ -464,16 +464,16 @@ buildvariants: - 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 @@ -481,10 +481,10 @@ buildvariants: 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 @@ -492,10 +492,10 @@ buildvariants: 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 @@ -504,10 +504,10 @@ buildvariants: 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 @@ -516,10 +516,10 @@ buildvariants: 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 @@ -527,10 +527,10 @@ buildvariants: 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 @@ -538,10 +538,10 @@ buildvariants: 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 @@ -550,10 +550,10 @@ buildvariants: 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 @@ -564,46 +564,46 @@ buildvariants: 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: @@ -612,7 +612,7 @@ buildvariants: - 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: @@ -621,7 +621,7 @@ buildvariants: - 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: @@ -629,10 +629,10 @@ buildvariants: 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: @@ -640,10 +640,10 @@ buildvariants: 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: @@ -651,10 +651,10 @@ buildvariants: 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: @@ -662,10 +662,10 @@ buildvariants: 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: @@ -675,87 +675,87 @@ buildvariants: 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 + PYTHON_BINARY: /opt/python/3.9/bin/python3 + - 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 + PYTHON_BINARY: /opt/python/3.9/bin/python3 + - 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 + PYTHON_BINARY: /opt/python/3.9/bin/python3 + - 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 + PYTHON_BINARY: /opt/python/3.9/bin/python3 + - 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 + PYTHON_BINARY: /opt/python/3.9/bin/python3 # 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: @@ -763,46 +763,46 @@ buildvariants: 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: @@ -810,10 +810,10 @@ buildvariants: 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 @@ -821,12 +821,12 @@ buildvariants: AUTH: noauth SSL: ssl TOPOLOGY: server - PYTHON_BINARY: /opt/python/3.9/bin/python3 VERSION: "4.4" - - name: ocsp-rhel8-v5.0-py3.10 + PYTHON_BINARY: /opt/python/3.9/bin/python3 + - 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 @@ -834,12 +834,12 @@ buildvariants: AUTH: noauth SSL: ssl TOPOLOGY: server - PYTHON_BINARY: /opt/python/3.10/bin/python3 VERSION: "5.0" - - name: ocsp-rhel8-v6.0-py3.11 + PYTHON_BINARY: /opt/python/3.10/bin/python3 + - 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 @@ -847,12 +847,12 @@ buildvariants: AUTH: noauth SSL: ssl TOPOLOGY: server - PYTHON_BINARY: /opt/python/3.11/bin/python3 VERSION: "6.0" - - name: ocsp-rhel8-v7.0-py3.12 + PYTHON_BINARY: /opt/python/3.11/bin/python3 + - 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 @@ -860,12 +860,12 @@ buildvariants: AUTH: noauth SSL: ssl TOPOLOGY: server - PYTHON_BINARY: /opt/python/3.12/bin/python3 VERSION: "7.0" - - name: ocsp-rhel8-v8.0-py3.13 + PYTHON_BINARY: /opt/python/3.12/bin/python3 + - 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 @@ -873,12 +873,12 @@ buildvariants: AUTH: noauth SSL: ssl TOPOLOGY: server - PYTHON_BINARY: /opt/python/3.13/bin/python3 VERSION: "8.0" + PYTHON_BINARY: /opt/python/3.13/bin/python3 - 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 @@ -886,12 +886,12 @@ buildvariants: AUTH: noauth SSL: ssl TOPOLOGY: server - PYTHON_BINARY: /opt/python/pypy3.9/bin/python3 VERSION: rapid + PYTHON_BINARY: /opt/python/pypy3.9/bin/python3 - 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 @@ -899,12 +899,12 @@ buildvariants: AUTH: noauth SSL: ssl TOPOLOGY: server - PYTHON_BINARY: /opt/python/pypy3.10/bin/python3 VERSION: latest - - name: ocsp-win64-v4.4-py3.9 + PYTHON_BINARY: /opt/python/pypy3.10/bin/python3 + - 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 @@ -912,12 +912,12 @@ buildvariants: AUTH: noauth SSL: ssl TOPOLOGY: server - PYTHON_BINARY: C:/python/Python39/python.exe VERSION: "4.4" - - name: ocsp-win64-v8.0-py3.13 + PYTHON_BINARY: C:/python/Python39/python.exe + - 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 @@ -925,12 +925,12 @@ buildvariants: AUTH: noauth SSL: ssl TOPOLOGY: server - PYTHON_BINARY: C:/python/Python313/python.exe VERSION: "8.0" - - name: ocsp-macos-v4.4-py3.9 + PYTHON_BINARY: C:/python/Python313/python.exe + - 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 @@ -938,12 +938,12 @@ buildvariants: 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 + PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.9/bin/python3 + - 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 @@ -951,8 +951,8 @@ buildvariants: AUTH: noauth SSL: ssl TOPOLOGY: server - PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.13/bin/python3 VERSION: "8.0" + PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.13/bin/python3 # Oidc auth tests - name: auth-oidc-ubuntu-22 @@ -981,55 +981,55 @@ 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 @@ -1040,7 +1040,7 @@ buildvariants: 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 @@ -1051,7 +1051,7 @@ buildvariants: 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 @@ -1060,34 +1060,34 @@ buildvariants: 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: @@ -1099,41 +1099,41 @@ buildvariants: - 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: @@ -1144,35 +1144,33 @@ buildvariants: - 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 +1187,12 @@ 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,62 +1209,57 @@ 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 @@ -1276,10 +1268,10 @@ buildvariants: 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 @@ -1290,7 +1282,7 @@ buildvariants: 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,7 +1290,7 @@ 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: @@ -1307,7 +1299,7 @@ buildvariants: 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,7 +1307,7 @@ 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: @@ -1323,7 +1315,7 @@ buildvariants: 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,7 +1323,7 @@ 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: @@ -1340,7 +1332,7 @@ buildvariants: 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,7 +1340,7 @@ 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: @@ -1358,7 +1350,7 @@ buildvariants: 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,17 +1360,17 @@ 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: 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..b7187b50db 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,77 @@ 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, expansions=expansions, **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 +175,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 +190,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 +234,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 +251,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 +272,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 +302,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 +331,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 +365,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 +384,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 +406,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 +450,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 +475,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 +496,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 +519,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 +553,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 +566,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 +581,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 +596,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 +614,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 +623,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 +644,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 +661,7 @@ def create_oidc_auth_variants(): def create_search_index_variants(): - host = "rhel8" + host = DEFAULT_HOST python = CPYTHONS[0] return [ create_variant( @@ -646,7 +674,7 @@ def create_search_index_variants(): def create_mockupdb_variants(): - host = "rhel8" + host = DEFAULT_HOST python = CPYTHONS[0] return [ create_variant( @@ -659,7 +687,7 @@ def create_mockupdb_variants(): def create_doctests_variants(): - host = "rhel8" + host = DEFAULT_HOST python = CPYTHONS[0] return [ create_variant( @@ -672,7 +700,7 @@ def create_doctests_variants(): def create_atlas_connect_variants(): - host = "rhel8" + host = DEFAULT_HOST return [ create_variant( ["atlas-connect"], @@ -696,13 +724,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 +748,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 +760,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