From 8c50b197fcf9389ca932db16eb863b076ddaa7ea Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Mon, 14 Oct 2024 19:46:43 -0500 Subject: [PATCH 1/9] PYTHON-4868 Generate server tests using shrub.py --- .evergreen/config.yml | 790 +++++++++++++++++++++++--- .evergreen/scripts/generate_config.py | 77 ++- 2 files changed, 786 insertions(+), 81 deletions(-) diff --git a/.evergreen/config.yml b/.evergreen/config.yml index dee4b608ec..d9de28a31a 100644 --- a/.evergreen/config.yml +++ b/.evergreen/config.yml @@ -2399,6 +2399,713 @@ axes: batchtime: 10080 # 7 days buildvariants: +# Server Tests for RHEL8. +- name: test-rhel8-py3.9-auth-ssl + tasks: + - name: .4.0 + - name: .4.4 + - name: .5.0 + - name: .6.0 + - name: .7.0 + - name: .8.0 + - name: .rapid + - name: .latest + display_name: Test RHEL8 py3.9 Auth SSL + run_on: + - rhel87-small + expansions: + AUTH: auth + SSL: ssl + PYTHON_BINARY: /opt/python/3.9/bin/python3 +- name: test-rhel8-py3.9-auth-ssl + tasks: + - name: .4.0 + - name: .4.4 + - name: .5.0 + - name: .6.0 + - name: .7.0 + - name: .8.0 + - name: .rapid + - name: .latest + display_name: Test RHEL8 py3.9 Auth SSL + run_on: + - rhel87-small + expansions: + AUTH: noauth + SSL: nossl + PYTHON_BINARY: /opt/python/3.9/bin/python3 +- name: test-rhel8-py3.9-auth-ssl + tasks: + - name: .4.0 + - name: .4.4 + - name: .5.0 + - name: .6.0 + - name: .7.0 + - name: .8.0 + - name: .rapid + - name: .latest + display_name: Test RHEL8 py3.9 Auth SSL + run_on: + - rhel87-small + expansions: + AUTH: auth + SSL: nossl + PYTHON_BINARY: /opt/python/3.9/bin/python3 +- name: test-rhel8-py3.10-auth-ssl + tasks: + - name: .4.0 + - name: .4.4 + - name: .5.0 + - name: .6.0 + - name: .7.0 + - name: .8.0 + - name: .rapid + - name: .latest + display_name: Test RHEL8 py3.10 Auth SSL + run_on: + - rhel87-small + expansions: + AUTH: auth + SSL: ssl + PYTHON_BINARY: /opt/python/3.10/bin/python3 +- name: test-rhel8-py3.10-auth-ssl + tasks: + - name: .4.0 + - name: .4.4 + - name: .5.0 + - name: .6.0 + - name: .7.0 + - name: .8.0 + - name: .rapid + - name: .latest + display_name: Test RHEL8 py3.10 Auth SSL + run_on: + - rhel87-small + expansions: + AUTH: noauth + SSL: nossl + PYTHON_BINARY: /opt/python/3.10/bin/python3 +- name: test-rhel8-py3.10-auth-ssl + tasks: + - name: .4.0 + - name: .4.4 + - name: .5.0 + - name: .6.0 + - name: .7.0 + - name: .8.0 + - name: .rapid + - name: .latest + display_name: Test RHEL8 py3.10 Auth SSL + run_on: + - rhel87-small + expansions: + AUTH: auth + SSL: nossl + PYTHON_BINARY: /opt/python/3.10/bin/python3 +- name: test-rhel8-py3.11-auth-ssl + tasks: + - name: .4.0 + - name: .4.4 + - name: .5.0 + - name: .6.0 + - name: .7.0 + - name: .8.0 + - name: .rapid + - name: .latest + display_name: Test RHEL8 py3.11 Auth SSL + run_on: + - rhel87-small + expansions: + AUTH: auth + SSL: ssl + PYTHON_BINARY: /opt/python/3.11/bin/python3 +- name: test-rhel8-py3.11-auth-ssl + tasks: + - name: .4.0 + - name: .4.4 + - name: .5.0 + - name: .6.0 + - name: .7.0 + - name: .8.0 + - name: .rapid + - name: .latest + display_name: Test RHEL8 py3.11 Auth SSL + run_on: + - rhel87-small + expansions: + AUTH: noauth + SSL: nossl + PYTHON_BINARY: /opt/python/3.11/bin/python3 +- name: test-rhel8-py3.11-auth-ssl + tasks: + - name: .4.0 + - name: .4.4 + - name: .5.0 + - name: .6.0 + - name: .7.0 + - name: .8.0 + - name: .rapid + - name: .latest + display_name: Test RHEL8 py3.11 Auth SSL + run_on: + - rhel87-small + expansions: + AUTH: auth + SSL: nossl + PYTHON_BINARY: /opt/python/3.11/bin/python3 +- name: test-rhel8-py3.12-auth-ssl + tasks: + - name: .4.0 + - name: .4.4 + - name: .5.0 + - name: .6.0 + - name: .7.0 + - name: .8.0 + - name: .rapid + - name: .latest + display_name: Test RHEL8 py3.12 Auth SSL + run_on: + - rhel87-small + expansions: + AUTH: auth + SSL: ssl + PYTHON_BINARY: /opt/python/3.12/bin/python3 +- name: test-rhel8-py3.12-auth-ssl + tasks: + - name: .4.0 + - name: .4.4 + - name: .5.0 + - name: .6.0 + - name: .7.0 + - name: .8.0 + - name: .rapid + - name: .latest + display_name: Test RHEL8 py3.12 Auth SSL + run_on: + - rhel87-small + expansions: + AUTH: noauth + SSL: nossl + PYTHON_BINARY: /opt/python/3.12/bin/python3 +- name: test-rhel8-py3.12-auth-ssl + tasks: + - name: .4.0 + - name: .4.4 + - name: .5.0 + - name: .6.0 + - name: .7.0 + - name: .8.0 + - name: .rapid + - name: .latest + display_name: Test RHEL8 py3.12 Auth SSL + run_on: + - rhel87-small + expansions: + AUTH: auth + SSL: nossl + PYTHON_BINARY: /opt/python/3.12/bin/python3 +- name: test-rhel8-py3.13-auth-ssl + tasks: + - name: .4.0 + - name: .4.4 + - name: .5.0 + - name: .6.0 + - name: .7.0 + - name: .8.0 + - name: .rapid + - name: .latest + display_name: Test RHEL8 py3.13 Auth SSL + run_on: + - rhel87-small + expansions: + AUTH: auth + SSL: ssl + PYTHON_BINARY: /opt/python/3.13/bin/python3 +- name: test-rhel8-py3.13-auth-ssl + tasks: + - name: .4.0 + - name: .4.4 + - name: .5.0 + - name: .6.0 + - name: .7.0 + - name: .8.0 + - name: .rapid + - name: .latest + display_name: Test RHEL8 py3.13 Auth SSL + run_on: + - rhel87-small + expansions: + AUTH: noauth + SSL: nossl + PYTHON_BINARY: /opt/python/3.13/bin/python3 +- name: test-rhel8-py3.13-auth-ssl + tasks: + - name: .4.0 + - name: .4.4 + - name: .5.0 + - name: .6.0 + - name: .7.0 + - name: .8.0 + - name: .rapid + - name: .latest + display_name: Test RHEL8 py3.13 Auth SSL + run_on: + - rhel87-small + expansions: + AUTH: auth + SSL: nossl + PYTHON_BINARY: /opt/python/3.13/bin/python3 +- name: test-rhel8-pypy3.9-auth-ssl + tasks: + - name: .4.0 + - name: .4.4 + - name: .5.0 + - name: .6.0 + - name: .7.0 + - name: .8.0 + - name: .rapid + - name: .latest + display_name: Test RHEL8 pypy3.9 Auth SSL + run_on: + - rhel87-small + expansions: + AUTH: auth + SSL: ssl + PYTHON_BINARY: /opt/python/pypy3.9/bin/python3 +- name: test-rhel8-pypy3.9-auth-ssl + tasks: + - name: .4.0 + - name: .4.4 + - name: .5.0 + - name: .6.0 + - name: .7.0 + - name: .8.0 + - name: .rapid + - name: .latest + display_name: Test RHEL8 pypy3.9 Auth SSL + run_on: + - rhel87-small + expansions: + AUTH: noauth + SSL: nossl + PYTHON_BINARY: /opt/python/pypy3.9/bin/python3 +- name: test-rhel8-pypy3.9-auth-ssl + tasks: + - name: .4.0 + - name: .4.4 + - name: .5.0 + - name: .6.0 + - name: .7.0 + - name: .8.0 + - name: .rapid + - name: .latest + display_name: Test RHEL8 pypy3.9 Auth SSL + run_on: + - rhel87-small + expansions: + AUTH: auth + SSL: nossl + PYTHON_BINARY: /opt/python/pypy3.9/bin/python3 +- name: test-rhel8-pypy3.10-auth-ssl + tasks: + - name: .4.0 + - name: .4.4 + - name: .5.0 + - name: .6.0 + - name: .7.0 + - name: .8.0 + - name: .rapid + - name: .latest + display_name: Test RHEL8 pypy3.10 Auth SSL + run_on: + - rhel87-small + expansions: + AUTH: auth + SSL: ssl + PYTHON_BINARY: /opt/python/pypy3.10/bin/python3 +- name: test-rhel8-pypy3.10-auth-ssl + tasks: + - name: .4.0 + - name: .4.4 + - name: .5.0 + - name: .6.0 + - name: .7.0 + - name: .8.0 + - name: .rapid + - name: .latest + display_name: Test RHEL8 pypy3.10 Auth SSL + run_on: + - rhel87-small + expansions: + AUTH: noauth + SSL: nossl + PYTHON_BINARY: /opt/python/pypy3.10/bin/python3 +- name: test-rhel8-pypy3.10-auth-ssl + tasks: + - name: .4.0 + - name: .4.4 + - name: .5.0 + - name: .6.0 + - name: .7.0 + - name: .8.0 + - name: .rapid + - name: .latest + display_name: Test RHEL8 pypy3.10 Auth SSL + run_on: + - rhel87-small + expansions: + AUTH: auth + SSL: nossl + PYTHON_BINARY: /opt/python/pypy3.10/bin/python3 + +# Server Tests for Windows. +- name: test-win64-py3.9-auth-ssl + tasks: + - name: .4.0 .sharded_cluster + - name: .4.4 .sharded_cluster + - name: .5.0 .sharded_cluster + - name: .6.0 .sharded_cluster + - name: .7.0 .sharded_cluster + - name: .8.0 .sharded_cluster + - name: .rapid .sharded_cluster + - name: .latest .sharded_cluster + display_name: Test Win64 py3.9 Auth SSL + run_on: + - windows-64-vsMulti-small + expansions: + AUTH: auth + ssl: ssl + PYTHON_BINARY: C:/python/Python39/python.exe +- name: test-win64-py3.10-auth-ssl + tasks: + - name: .4.0 .sharded_cluster + - name: .4.4 .sharded_cluster + - name: .5.0 .sharded_cluster + - name: .6.0 .sharded_cluster + - name: .7.0 .sharded_cluster + - name: .8.0 .sharded_cluster + - name: .rapid .sharded_cluster + - name: .latest .sharded_cluster + display_name: Test Win64 py3.10 Auth SSL + run_on: + - windows-64-vsMulti-small + expansions: + AUTH: auth + ssl: ssl + PYTHON_BINARY: C:/python/Python310/python.exe +- name: test-win64-py3.11-auth-ssl + tasks: + - name: .4.0 .sharded_cluster + - name: .4.4 .sharded_cluster + - name: .5.0 .sharded_cluster + - name: .6.0 .sharded_cluster + - name: .7.0 .sharded_cluster + - name: .8.0 .sharded_cluster + - name: .rapid .sharded_cluster + - name: .latest .sharded_cluster + display_name: Test Win64 py3.11 Auth SSL + run_on: + - windows-64-vsMulti-small + expansions: + AUTH: auth + ssl: ssl + PYTHON_BINARY: C:/python/Python311/python.exe +- name: test-win64-py3.12-auth-ssl + tasks: + - name: .4.0 .sharded_cluster + - name: .4.4 .sharded_cluster + - name: .5.0 .sharded_cluster + - name: .6.0 .sharded_cluster + - name: .7.0 .sharded_cluster + - name: .8.0 .sharded_cluster + - name: .rapid .sharded_cluster + - name: .latest .sharded_cluster + display_name: Test Win64 py3.12 Auth SSL + run_on: + - windows-64-vsMulti-small + expansions: + AUTH: auth + ssl: ssl + PYTHON_BINARY: C:/python/Python312/python.exe +- name: test-win64-py3.13-auth-ssl + tasks: + - name: .4.0 .sharded_cluster + - name: .4.4 .sharded_cluster + - name: .5.0 .sharded_cluster + - name: .6.0 .sharded_cluster + - name: .7.0 .sharded_cluster + - name: .8.0 .sharded_cluster + - name: .rapid .sharded_cluster + - name: .latest .sharded_cluster + display_name: Test Win64 py3.13 Auth SSL + run_on: + - windows-64-vsMulti-small + expansions: + AUTH: auth + ssl: ssl + PYTHON_BINARY: C:/python/Python313/python.exe +- name: test-macos-py3.9-auth-ssl + tasks: + - name: .4.0 .sharded_cluster + - name: .4.4 .sharded_cluster + - name: .5.0 .sharded_cluster + - name: .6.0 .sharded_cluster + - name: .7.0 .sharded_cluster + - name: .8.0 .sharded_cluster + - name: .rapid .sharded_cluster + - name: .latest .sharded_cluster + display_name: Test macOS py3.9 Auth SSL + run_on: + - macos-14 + expansions: + AUTH: auth + ssl: ssl + PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.9/bin/python3 + +# Server tests for MacOS. +- name: test-macos-py3.10-auth-ssl + tasks: + - name: .4.0 .sharded_cluster + - name: .4.4 .sharded_cluster + - name: .5.0 .sharded_cluster + - name: .6.0 .sharded_cluster + - name: .7.0 .sharded_cluster + - name: .8.0 .sharded_cluster + - name: .rapid .sharded_cluster + - name: .latest .sharded_cluster + display_name: Test macOS py3.10 Auth SSL + run_on: + - macos-14 + expansions: + AUTH: auth + ssl: ssl + PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.10/bin/python3 +- name: test-macos-py3.11-auth-ssl + tasks: + - name: .4.0 .sharded_cluster + - name: .4.4 .sharded_cluster + - name: .5.0 .sharded_cluster + - name: .6.0 .sharded_cluster + - name: .7.0 .sharded_cluster + - name: .8.0 .sharded_cluster + - name: .rapid .sharded_cluster + - name: .latest .sharded_cluster + display_name: Test macOS py3.11 Auth SSL + run_on: + - macos-14 + expansions: + AUTH: auth + ssl: ssl + PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.11/bin/python3 +- name: test-macos-py3.12-auth-ssl + tasks: + - name: .4.0 .sharded_cluster + - name: .4.4 .sharded_cluster + - name: .5.0 .sharded_cluster + - name: .6.0 .sharded_cluster + - name: .7.0 .sharded_cluster + - name: .8.0 .sharded_cluster + - name: .rapid .sharded_cluster + - name: .latest .sharded_cluster + display_name: Test macOS py3.12 Auth SSL + run_on: + - macos-14 + expansions: + AUTH: auth + ssl: ssl + PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.12/bin/python3 +- name: test-macos-py3.13-auth-ssl + tasks: + - name: .4.0 .sharded_cluster + - name: .4.4 .sharded_cluster + - name: .5.0 .sharded_cluster + - name: .6.0 .sharded_cluster + - name: .7.0 .sharded_cluster + - name: .8.0 .sharded_cluster + - name: .rapid .sharded_cluster + - name: .latest .sharded_cluster + display_name: Test macOS py3.13 Auth SSL + run_on: + - macos-14 + expansions: + AUTH: auth + ssl: ssl + PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.13/bin/python3 + +# Server tests for macOS (arm). +- name: test-macos-(arm)-py3.9-auth-ssl + tasks: + - name: .4.0 .sharded_cluster + - name: .4.4 .sharded_cluster + - name: .5.0 .sharded_cluster + - name: .6.0 .sharded_cluster + - name: .7.0 .sharded_cluster + - name: .8.0 .sharded_cluster + - name: .rapid .sharded_cluster + - name: .latest .sharded_cluster + display_name: Test macOS (arm) py3.9 Auth SSL + run_on: + - macos-14-arm65 + expansions: + AUTH: auth + ssl: ssl + PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.9/bin/python3 +- name: test-macos-(arm)-py3.10-auth-ssl + tasks: + - name: .4.0 .sharded_cluster + - name: .4.4 .sharded_cluster + - name: .5.0 .sharded_cluster + - name: .6.0 .sharded_cluster + - name: .7.0 .sharded_cluster + - name: .8.0 .sharded_cluster + - name: .rapid .sharded_cluster + - name: .latest .sharded_cluster + display_name: Test macOS (arm) py3.10 Auth SSL + run_on: + - macos-14-arm65 + expansions: + AUTH: auth + ssl: ssl + PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.10/bin/python3 +- name: test-macos-(arm)-py3.11-auth-ssl + tasks: + - name: .4.0 .sharded_cluster + - name: .4.4 .sharded_cluster + - name: .5.0 .sharded_cluster + - name: .6.0 .sharded_cluster + - name: .7.0 .sharded_cluster + - name: .8.0 .sharded_cluster + - name: .rapid .sharded_cluster + - name: .latest .sharded_cluster + display_name: Test macOS (arm) py3.11 Auth SSL + run_on: + - macos-14-arm65 + expansions: + AUTH: auth + ssl: ssl + PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.11/bin/python3 +- name: test-macos-(arm)-py3.12-auth-ssl + tasks: + - name: .4.0 .sharded_cluster + - name: .4.4 .sharded_cluster + - name: .5.0 .sharded_cluster + - name: .6.0 .sharded_cluster + - name: .7.0 .sharded_cluster + - name: .8.0 .sharded_cluster + - name: .rapid .sharded_cluster + - name: .latest .sharded_cluster + display_name: Test macOS (arm) py3.12 Auth SSL + run_on: + - macos-14-arm65 + expansions: + AUTH: auth + ssl: ssl + PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.12/bin/python3 +- name: test-macos-(arm)-py3.13-auth-ssl + tasks: + - name: .4.0 .sharded_cluster + - name: .4.4 .sharded_cluster + - name: .5.0 .sharded_cluster + - name: .6.0 .sharded_cluster + - name: .7.0 .sharded_cluster + - name: .8.0 .sharded_cluster + - name: .rapid .sharded_cluster + - name: .latest .sharded_cluster + display_name: Test macOS (arm) py3.13 Auth SSL + run_on: + - macos-14-arm65 + expansions: + AUTH: auth + ssl: ssl + PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.13/bin/python3 + +# Server tests for Windows (32-bit). +- name: test-win64-32-bit-py3.9-auth-ssl + tasks: + - name: .4.0 .sharded_cluster + - name: .4.4 .sharded_cluster + - name: .5.0 .sharded_cluster + - name: .6.0 .sharded_cluster + - name: .7.0 .sharded_cluster + - name: .8.0 .sharded_cluster + - name: .rapid .sharded_cluster + - name: .latest .sharded_cluster + display_name: Test Win64 32-bit py3.9 Auth SSL + run_on: + - windows-64-vsMulti-small + expansions: + AUTH: auth + ssl: ssl + PYTHON_BINARY: C:/python/32/Python39/python.exe +- name: test-win64-32-bit-py3.10-auth-ssl + tasks: + - name: .4.0 .sharded_cluster + - name: .4.4 .sharded_cluster + - name: .5.0 .sharded_cluster + - name: .6.0 .sharded_cluster + - name: .7.0 .sharded_cluster + - name: .8.0 .sharded_cluster + - name: .rapid .sharded_cluster + - name: .latest .sharded_cluster + display_name: Test Win64 32-bit py3.10 Auth SSL + run_on: + - windows-64-vsMulti-small + expansions: + AUTH: auth + ssl: ssl + PYTHON_BINARY: C:/python/32/Python310/python.exe +- name: test-win64-32-bit-py3.11-auth-ssl + tasks: + - name: .4.0 .sharded_cluster + - name: .4.4 .sharded_cluster + - name: .5.0 .sharded_cluster + - name: .6.0 .sharded_cluster + - name: .7.0 .sharded_cluster + - name: .8.0 .sharded_cluster + - name: .rapid .sharded_cluster + - name: .latest .sharded_cluster + display_name: Test Win64 32-bit py3.11 Auth SSL + run_on: + - windows-64-vsMulti-small + expansions: + AUTH: auth + ssl: ssl + PYTHON_BINARY: C:/python/32/Python311/python.exe +- name: test-win64-32-bit-py3.12-auth-ssl + tasks: + - name: .4.0 .sharded_cluster + - name: .4.4 .sharded_cluster + - name: .5.0 .sharded_cluster + - name: .6.0 .sharded_cluster + - name: .7.0 .sharded_cluster + - name: .8.0 .sharded_cluster + - name: .rapid .sharded_cluster + - name: .latest .sharded_cluster + display_name: Test Win64 32-bit py3.12 Auth SSL + run_on: + - windows-64-vsMulti-small + expansions: + AUTH: auth + ssl: ssl + PYTHON_BINARY: C:/python/32/Python312/python.exe +- name: test-win64-32-bit-py3.13-auth-ssl + tasks: + - name: .4.0 .sharded_cluster + - name: .4.4 .sharded_cluster + - name: .5.0 .sharded_cluster + - name: .6.0 .sharded_cluster + - name: .7.0 .sharded_cluster + - name: .8.0 .sharded_cluster + - name: .rapid .sharded_cluster + - name: .latest .sharded_cluster + display_name: Test Win64 32-bit py3.13 Auth SSL + run_on: + - windows-64-vsMulti-small + expansions: + AUTH: auth + ssl: ssl + PYTHON_BINARY: C:/python/32/Python313/python.exe + - matrix_name: "tests-fips" matrix_spec: platform: @@ -2409,44 +3116,6 @@ buildvariants: tasks: - "test-fips-standalone" -- matrix_name: "test-macos" - matrix_spec: - platform: - # MacOS introduced SSL support with MongoDB >= 3.2. - # Older server versions (2.6, 3.0) are supported without SSL. - - macos - auth: "*" - ssl: "*" - exclude_spec: - # No point testing with SSL without auth. - - platform: macos - auth: "noauth" - ssl: "ssl" - display_name: "${platform} ${auth} ${ssl}" - tasks: - - ".latest" - - ".8.0" - - ".7.0" - - ".6.0" - - ".5.0" - - ".4.4" - - ".4.2" - - ".4.0" - -- matrix_name: "test-macos-arm64" - matrix_spec: - platform: - - macos-arm64 - auth-ssl: "*" - display_name: "${platform} ${auth-ssl}" - tasks: - - ".latest" - - ".8.0" - - ".7.0" - - ".6.0" - - ".5.0" - - ".4.4" - - matrix_name: "test-macos-encryption" matrix_spec: platform: @@ -2486,24 +3155,6 @@ buildvariants: tasks: - ".6.0" -- matrix_name: "tests-python-version-rhel8-test-ssl" - matrix_spec: - platform: rhel8 - python-version: "*" - auth-ssl: "*" - coverage: "*" - display_name: "${python-version} ${platform} ${auth-ssl} ${coverage}" - tasks: &all-server-versions - - ".rapid" - - ".latest" - - ".8.0" - - ".7.0" - - ".6.0" - - ".5.0" - - ".4.4" - - ".4.2" - - ".4.0" - - matrix_name: "tests-pyopenssl" matrix_spec: platform: rhel8 @@ -2580,7 +3231,16 @@ buildvariants: auth-ssl: "*" coverage: "*" display_name: "${c-extensions} ${python-version} ${platform} ${auth} ${ssl} ${coverage}" - tasks: *all-server-versions + tasks: &all-server-versions + - ".rapid" + - ".latest" + - ".8.0" + - ".7.0" + - ".6.0" + - ".5.0" + - ".4.4" + - ".4.2" + - ".4.0" - matrix_name: "tests-python-version-rhel8-compression" matrix_spec: @@ -2629,22 +3289,6 @@ buildvariants: display_name: "${green-framework} ${python-version} ${platform} ${auth-ssl}" tasks: *all-server-versions -- matrix_name: "tests-windows-python-version" - matrix_spec: - platform: windows - python-version-windows: "*" - auth-ssl: "*" - display_name: "${platform} ${python-version-windows} ${auth-ssl}" - tasks: *all-server-versions - -- matrix_name: "tests-windows-python-version-32-bit" - matrix_spec: - platform: windows - python-version-windows-32: "*" - auth-ssl: "*" - display_name: "${platform} ${python-version-windows-32} ${auth-ssl}" - tasks: *all-server-versions - - matrix_name: "tests-python-version-supports-openssl-102-test-ssl" matrix_spec: platform: rhel7 diff --git a/.evergreen/scripts/generate_config.py b/.evergreen/scripts/generate_config.py index e98e527b72..38db783d30 100644 --- a/.evergreen/scripts/generate_config.py +++ b/.evergreen/scripts/generate_config.py @@ -27,6 +27,7 @@ PYPYS = ["pypy3.9", "pypy3.10"] ALL_PYTHONS = CPYTHONS + PYPYS BATCHTIME_WEEK = 10080 +DISPLAY_LOOKUP = dict(ssl="SSL", nossl="NoSSL", auth="Auth", noauth="NoAuth") HOSTS = dict() @@ -40,6 +41,7 @@ class Host: HOSTS["rhel8"] = Host("rhel8", "rhel87-small", "RHEL8") HOSTS["win64"] = Host("win64", "windows-64-vsMulti-small", "Win64") HOSTS["macos"] = Host("macos", "macos-14", "macOS") +HOSTS["macos-arm64"] = Host("macos-arm64", "macos-14-arm65", "macOS (arm)") ############## @@ -93,19 +95,32 @@ def get_python_binary(python: str, host: str) -> str: if host == "rhel8": return f"/opt/python/{python}/bin/python3" - if host == "macos": + if host 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}") -def get_display_name(base: str, host: str, version: str, python: str) -> str: +def get_display_name(base: str, host: str, **kwargs) -> str: """Get the display name of a variant.""" - if version not in ["rapid", "latest"]: - version = f"v{version}" - if not python.startswith("pypy"): - python = f"py{python}" - return f"{base} {HOSTS[host].display_name} {version} {python}" + display_name = f"{base} {HOSTS[host].display_name}" + for key, value in kwargs.items(): + name = value + if key == "version": + if value not in ["rapid", "latest"]: + name = f"v{value}" + elif key == "python": + if not value.startswith("pypy"): + if value.startswith("32-bit "): + name = "32-bit py" + value.split()[-1] + else: + name = f"py{value}" + elif key in DISPLAY_LOOKUP: + name = DISPLAY_LOOKUP[key] + else: + raise ValueError(f"Missing display handling for {key}") + display_name = f"{display_name} {name}" + return display_name def zip_cycle(*iterables, empty_default=None): @@ -159,9 +174,55 @@ def create_ocsp_variants() -> list[BuildVariant]: return variants +def create_server_variants() -> list[BuildVariant]: + AUTH_SSLS = [("auth", "ssl"), ("noauth", "nossl"), ("auth", "nossl")] + variants = [] + + host = "rhel8" + for python, auth_ssl in product(ALL_PYTHONS, AUTH_SSLS): + auth, ssl = auth_ssl + display_name = f"Test {host}" + display_name = get_display_name("Test", host, python=python, auth=auth, ssl=ssl) + expansions = dict(AUTH=auth, SSL=ssl) + variant = create_variant( + [f".{v}" for v in ALL_VERSIONS], + display_name, + python=python, + host=host, + expansions=expansions, + ) + variants.append(variant) + + for host, python in product(["win64", "macos", "macos-arm64"], CPYTHONS): + expansions = dict(AUTH="auth", ssl="ssl") + display_name = get_display_name("Test", host, python=python, auth="auth", ssl="ssl") + variant = create_variant( + [f".{v} .sharded_cluster" for v in ALL_VERSIONS], + display_name, + python=python, + host=host, + expansions=expansions, + ) + variants.append(variant) + + for python in ["32-bit " + p for p in CPYTHONS]: + host = "win64" + expansions = dict(AUTH="auth", ssl="ssl") + display_name = get_display_name("Test", host, python=python, auth="auth", ssl="ssl") + variant = create_variant( + [f".{v} .sharded_cluster" for v in ALL_VERSIONS], + display_name, + python=python, + host=host, + expansions=expansions, + ) + variants.append(variant) + return variants + + ################## # Generate Config ################## -project = EvgProject(tasks=None, buildvariants=create_ocsp_variants()) +project = EvgProject(tasks=None, buildvariants=create_server_variants()) print(ShrubService.generate_yaml(project)) # noqa: T201 From 9a52dbf9bf4431d4013305cf4f09aa1b6bda28a1 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Mon, 14 Oct 2024 19:49:09 -0500 Subject: [PATCH 2/9] fix names --- .evergreen/config.yml | 10 +++++----- .evergreen/scripts/generate_config.py | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.evergreen/config.yml b/.evergreen/config.yml index d9de28a31a..a053ae6d73 100644 --- a/.evergreen/config.yml +++ b/.evergreen/config.yml @@ -2933,7 +2933,7 @@ buildvariants: PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.13/bin/python3 # Server tests for macOS (arm). -- name: test-macos-(arm)-py3.9-auth-ssl +- name: test-macos-arm-py3.9-auth-ssl tasks: - name: .4.0 .sharded_cluster - name: .4.4 .sharded_cluster @@ -2950,7 +2950,7 @@ buildvariants: AUTH: auth ssl: ssl PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.9/bin/python3 -- name: test-macos-(arm)-py3.10-auth-ssl +- name: test-macos-arm-py3.10-auth-ssl tasks: - name: .4.0 .sharded_cluster - name: .4.4 .sharded_cluster @@ -2967,7 +2967,7 @@ buildvariants: AUTH: auth ssl: ssl PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.10/bin/python3 -- name: test-macos-(arm)-py3.11-auth-ssl +- name: test-macos-arm-py3.11-auth-ssl tasks: - name: .4.0 .sharded_cluster - name: .4.4 .sharded_cluster @@ -2984,7 +2984,7 @@ buildvariants: AUTH: auth ssl: ssl PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.11/bin/python3 -- name: test-macos-(arm)-py3.12-auth-ssl +- name: test-macos-arm-py3.12-auth-ssl tasks: - name: .4.0 .sharded_cluster - name: .4.4 .sharded_cluster @@ -3001,7 +3001,7 @@ buildvariants: AUTH: auth ssl: ssl PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.12/bin/python3 -- name: test-macos-(arm)-py3.13-auth-ssl +- name: test-macos-arm-py3.13-auth-ssl tasks: - name: .4.0 .sharded_cluster - name: .4.4 .sharded_cluster diff --git a/.evergreen/scripts/generate_config.py b/.evergreen/scripts/generate_config.py index 38db783d30..2e6b820099 100644 --- a/.evergreen/scripts/generate_config.py +++ b/.evergreen/scripts/generate_config.py @@ -64,7 +64,7 @@ def create_variant( expansions = kwargs.pop("expansions", dict()).copy() host = host or "rhel8" run_on = [HOSTS[host].run_on] - name = display_name.replace(" ", "-").lower() + name = display_name.replace(" ", "-").replace("(", "").replace(")", "").lower() if python: expansions["PYTHON_BINARY"] = get_python_binary(python, host) if version: From 6de3faade39a15807bd3b91e1011caefb7b30ac5 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Mon, 14 Oct 2024 19:54:09 -0500 Subject: [PATCH 3/9] cleanup --- .evergreen/config.yml | 66 +++++++++++++-------------- .evergreen/scripts/generate_config.py | 4 +- 2 files changed, 35 insertions(+), 35 deletions(-) diff --git a/.evergreen/config.yml b/.evergreen/config.yml index a053ae6d73..8bccda9b25 100644 --- a/.evergreen/config.yml +++ b/.evergreen/config.yml @@ -2417,7 +2417,7 @@ buildvariants: AUTH: auth SSL: ssl PYTHON_BINARY: /opt/python/3.9/bin/python3 -- name: test-rhel8-py3.9-auth-ssl +- name: test-rhel8-py3.9-noauth-nossl tasks: - name: .4.0 - name: .4.4 @@ -2427,14 +2427,14 @@ buildvariants: - name: .8.0 - name: .rapid - name: .latest - display_name: Test RHEL8 py3.9 Auth SSL + display_name: Test RHEL8 py3.9 NoAuth NoSSL run_on: - rhel87-small expansions: AUTH: noauth SSL: nossl PYTHON_BINARY: /opt/python/3.9/bin/python3 -- name: test-rhel8-py3.9-auth-ssl +- name: test-rhel8-py3.9-auth-nossl tasks: - name: .4.0 - name: .4.4 @@ -2444,7 +2444,7 @@ buildvariants: - name: .8.0 - name: .rapid - name: .latest - display_name: Test RHEL8 py3.9 Auth SSL + display_name: Test RHEL8 py3.9 Auth NoSSL run_on: - rhel87-small expansions: @@ -2468,7 +2468,7 @@ buildvariants: AUTH: auth SSL: ssl PYTHON_BINARY: /opt/python/3.10/bin/python3 -- name: test-rhel8-py3.10-auth-ssl +- name: test-rhel8-py3.10-noauth-nossl tasks: - name: .4.0 - name: .4.4 @@ -2478,14 +2478,14 @@ buildvariants: - name: .8.0 - name: .rapid - name: .latest - display_name: Test RHEL8 py3.10 Auth SSL + display_name: Test RHEL8 py3.10 NoAuth NoSSL run_on: - rhel87-small expansions: AUTH: noauth SSL: nossl PYTHON_BINARY: /opt/python/3.10/bin/python3 -- name: test-rhel8-py3.10-auth-ssl +- name: test-rhel8-py3.10-auth-nossl tasks: - name: .4.0 - name: .4.4 @@ -2495,7 +2495,7 @@ buildvariants: - name: .8.0 - name: .rapid - name: .latest - display_name: Test RHEL8 py3.10 Auth SSL + display_name: Test RHEL8 py3.10 Auth NoSSL run_on: - rhel87-small expansions: @@ -2519,7 +2519,7 @@ buildvariants: AUTH: auth SSL: ssl PYTHON_BINARY: /opt/python/3.11/bin/python3 -- name: test-rhel8-py3.11-auth-ssl +- name: test-rhel8-py3.11-noauth-nossl tasks: - name: .4.0 - name: .4.4 @@ -2529,14 +2529,14 @@ buildvariants: - name: .8.0 - name: .rapid - name: .latest - display_name: Test RHEL8 py3.11 Auth SSL + display_name: Test RHEL8 py3.11 NoAuth NoSSL run_on: - rhel87-small expansions: AUTH: noauth SSL: nossl PYTHON_BINARY: /opt/python/3.11/bin/python3 -- name: test-rhel8-py3.11-auth-ssl +- name: test-rhel8-py3.11-auth-nossl tasks: - name: .4.0 - name: .4.4 @@ -2546,7 +2546,7 @@ buildvariants: - name: .8.0 - name: .rapid - name: .latest - display_name: Test RHEL8 py3.11 Auth SSL + display_name: Test RHEL8 py3.11 Auth NoSSL run_on: - rhel87-small expansions: @@ -2570,7 +2570,7 @@ buildvariants: AUTH: auth SSL: ssl PYTHON_BINARY: /opt/python/3.12/bin/python3 -- name: test-rhel8-py3.12-auth-ssl +- name: test-rhel8-py3.12-noauth-nossl tasks: - name: .4.0 - name: .4.4 @@ -2580,14 +2580,14 @@ buildvariants: - name: .8.0 - name: .rapid - name: .latest - display_name: Test RHEL8 py3.12 Auth SSL + display_name: Test RHEL8 py3.12 NoAuth NoSSL run_on: - rhel87-small expansions: AUTH: noauth SSL: nossl PYTHON_BINARY: /opt/python/3.12/bin/python3 -- name: test-rhel8-py3.12-auth-ssl +- name: test-rhel8-py3.12-auth-nossl tasks: - name: .4.0 - name: .4.4 @@ -2597,7 +2597,7 @@ buildvariants: - name: .8.0 - name: .rapid - name: .latest - display_name: Test RHEL8 py3.12 Auth SSL + display_name: Test RHEL8 py3.12 Auth NoSSL run_on: - rhel87-small expansions: @@ -2621,7 +2621,7 @@ buildvariants: AUTH: auth SSL: ssl PYTHON_BINARY: /opt/python/3.13/bin/python3 -- name: test-rhel8-py3.13-auth-ssl +- name: test-rhel8-py3.13-noauth-nossl tasks: - name: .4.0 - name: .4.4 @@ -2631,14 +2631,14 @@ buildvariants: - name: .8.0 - name: .rapid - name: .latest - display_name: Test RHEL8 py3.13 Auth SSL + display_name: Test RHEL8 py3.13 NoAuth NoSSL run_on: - rhel87-small expansions: AUTH: noauth SSL: nossl PYTHON_BINARY: /opt/python/3.13/bin/python3 -- name: test-rhel8-py3.13-auth-ssl +- name: test-rhel8-py3.13-auth-nossl tasks: - name: .4.0 - name: .4.4 @@ -2648,7 +2648,7 @@ buildvariants: - name: .8.0 - name: .rapid - name: .latest - display_name: Test RHEL8 py3.13 Auth SSL + display_name: Test RHEL8 py3.13 Auth NoSSL run_on: - rhel87-small expansions: @@ -2672,7 +2672,7 @@ buildvariants: AUTH: auth SSL: ssl PYTHON_BINARY: /opt/python/pypy3.9/bin/python3 -- name: test-rhel8-pypy3.9-auth-ssl +- name: test-rhel8-pypy3.9-noauth-nossl tasks: - name: .4.0 - name: .4.4 @@ -2682,14 +2682,14 @@ buildvariants: - name: .8.0 - name: .rapid - name: .latest - display_name: Test RHEL8 pypy3.9 Auth SSL + display_name: Test RHEL8 pypy3.9 NoAuth NoSSL run_on: - rhel87-small expansions: AUTH: noauth SSL: nossl PYTHON_BINARY: /opt/python/pypy3.9/bin/python3 -- name: test-rhel8-pypy3.9-auth-ssl +- name: test-rhel8-pypy3.9-auth-nossl tasks: - name: .4.0 - name: .4.4 @@ -2699,7 +2699,7 @@ buildvariants: - name: .8.0 - name: .rapid - name: .latest - display_name: Test RHEL8 pypy3.9 Auth SSL + display_name: Test RHEL8 pypy3.9 Auth NoSSL run_on: - rhel87-small expansions: @@ -2723,7 +2723,7 @@ buildvariants: AUTH: auth SSL: ssl PYTHON_BINARY: /opt/python/pypy3.10/bin/python3 -- name: test-rhel8-pypy3.10-auth-ssl +- name: test-rhel8-pypy3.10-noauth-nossl tasks: - name: .4.0 - name: .4.4 @@ -2733,14 +2733,14 @@ buildvariants: - name: .8.0 - name: .rapid - name: .latest - display_name: Test RHEL8 pypy3.10 Auth SSL + display_name: Test RHEL8 pypy3.10 NoAuth NoSSL run_on: - rhel87-small expansions: AUTH: noauth SSL: nossl PYTHON_BINARY: /opt/python/pypy3.10/bin/python3 -- name: test-rhel8-pypy3.10-auth-ssl +- name: test-rhel8-pypy3.10-auth-nossl tasks: - name: .4.0 - name: .4.4 @@ -2750,7 +2750,7 @@ buildvariants: - name: .8.0 - name: .rapid - name: .latest - display_name: Test RHEL8 pypy3.10 Auth SSL + display_name: Test RHEL8 pypy3.10 Auth NoSSL run_on: - rhel87-small expansions: @@ -2945,7 +2945,7 @@ buildvariants: - name: .latest .sharded_cluster display_name: Test macOS (arm) py3.9 Auth SSL run_on: - - macos-14-arm65 + - macos-14-arm64 expansions: AUTH: auth ssl: ssl @@ -2962,7 +2962,7 @@ buildvariants: - name: .latest .sharded_cluster display_name: Test macOS (arm) py3.10 Auth SSL run_on: - - macos-14-arm65 + - macos-14-arm64 expansions: AUTH: auth ssl: ssl @@ -2979,7 +2979,7 @@ buildvariants: - name: .latest .sharded_cluster display_name: Test macOS (arm) py3.11 Auth SSL run_on: - - macos-14-arm65 + - macos-14-arm64 expansions: AUTH: auth ssl: ssl @@ -2996,7 +2996,7 @@ buildvariants: - name: .latest .sharded_cluster display_name: Test macOS (arm) py3.12 Auth SSL run_on: - - macos-14-arm65 + - macos-14-arm64 expansions: AUTH: auth ssl: ssl @@ -3013,7 +3013,7 @@ buildvariants: - name: .latest .sharded_cluster display_name: Test macOS (arm) py3.13 Auth SSL run_on: - - macos-14-arm65 + - macos-14-arm64 expansions: AUTH: auth ssl: ssl diff --git a/.evergreen/scripts/generate_config.py b/.evergreen/scripts/generate_config.py index 2e6b820099..c7029a5cb4 100644 --- a/.evergreen/scripts/generate_config.py +++ b/.evergreen/scripts/generate_config.py @@ -41,7 +41,7 @@ class Host: HOSTS["rhel8"] = Host("rhel8", "rhel87-small", "RHEL8") HOSTS["win64"] = Host("win64", "windows-64-vsMulti-small", "Win64") HOSTS["macos"] = Host("macos", "macos-14", "macOS") -HOSTS["macos-arm64"] = Host("macos-arm64", "macos-14-arm65", "macOS (arm)") +HOSTS["macos-arm64"] = Host("macos-arm64", "macos-14-arm64", "macOS (arm)") ############## @@ -116,7 +116,7 @@ def get_display_name(base: str, host: str, **kwargs) -> str: else: name = f"py{value}" elif key in DISPLAY_LOOKUP: - name = DISPLAY_LOOKUP[key] + name = DISPLAY_LOOKUP[value] else: raise ValueError(f"Missing display handling for {key}") display_name = f"{display_name} {name}" From 4248901a9f31b6b92dbf709064868128fa344446 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Tue, 15 Oct 2024 05:24:11 -0500 Subject: [PATCH 4/9] cleanup --- .evergreen/config.yml | 834 ++++++++++---------------- .evergreen/run-tests.sh | 2 +- .evergreen/scripts/generate_config.py | 46 +- 3 files changed, 359 insertions(+), 523 deletions(-) diff --git a/.evergreen/config.yml b/.evergreen/config.yml index 8bccda9b25..f2c1d6da94 100644 --- a/.evergreen/config.yml +++ b/.evergreen/config.yml @@ -409,6 +409,7 @@ functions: AUTH=${AUTH} \ SSL=${SSL} \ TEST_DATA_LAKE=${TEST_DATA_LAKE} \ + TEST_SUITES=${TEST_SUITES} \ MONGODB_API_VERSION=${MONGODB_API_VERSION} \ SKIP_HATCH=${SKIP_HATCH} \ bash ${PROJECT_DIRECTORY}/.evergreen/hatch.sh test:test-eg @@ -2402,14 +2403,9 @@ buildvariants: # Server Tests for RHEL8. - name: test-rhel8-py3.9-auth-ssl tasks: - - name: .4.0 - - name: .4.4 - - name: .5.0 - - name: .6.0 - - name: .7.0 - - name: .8.0 - - name: .rapid - - name: .latest + - name: .sharded_cluster + - name: .standalone + - name: .replica_set display_name: Test RHEL8 py3.9 Auth SSL run_on: - rhel87-small @@ -2419,14 +2415,9 @@ buildvariants: PYTHON_BINARY: /opt/python/3.9/bin/python3 - name: test-rhel8-py3.9-noauth-nossl tasks: - - name: .4.0 - - name: .4.4 - - name: .5.0 - - name: .6.0 - - name: .7.0 - - name: .8.0 - - name: .rapid - - name: .latest + - name: .sharded_cluster + - name: .standalone + - name: .replica_set display_name: Test RHEL8 py3.9 NoAuth NoSSL run_on: - rhel87-small @@ -2434,33 +2425,11 @@ buildvariants: AUTH: noauth SSL: nossl PYTHON_BINARY: /opt/python/3.9/bin/python3 -- name: test-rhel8-py3.9-auth-nossl - tasks: - - name: .4.0 - - name: .4.4 - - name: .5.0 - - name: .6.0 - - name: .7.0 - - name: .8.0 - - name: .rapid - - name: .latest - display_name: Test RHEL8 py3.9 Auth NoSSL - run_on: - - rhel87-small - expansions: - AUTH: auth - SSL: nossl - PYTHON_BINARY: /opt/python/3.9/bin/python3 - name: test-rhel8-py3.10-auth-ssl tasks: - - name: .4.0 - - name: .4.4 - - name: .5.0 - - name: .6.0 - - name: .7.0 - - name: .8.0 - - name: .rapid - - name: .latest + - name: .sharded_cluster + - name: .standalone + - name: .replica_set display_name: Test RHEL8 py3.10 Auth SSL run_on: - rhel87-small @@ -2470,14 +2439,9 @@ buildvariants: PYTHON_BINARY: /opt/python/3.10/bin/python3 - name: test-rhel8-py3.10-noauth-nossl tasks: - - name: .4.0 - - name: .4.4 - - name: .5.0 - - name: .6.0 - - name: .7.0 - - name: .8.0 - - name: .rapid - - name: .latest + - name: .sharded_cluster + - name: .standalone + - name: .replica_set display_name: Test RHEL8 py3.10 NoAuth NoSSL run_on: - rhel87-small @@ -2485,33 +2449,11 @@ buildvariants: AUTH: noauth SSL: nossl PYTHON_BINARY: /opt/python/3.10/bin/python3 -- name: test-rhel8-py3.10-auth-nossl - tasks: - - name: .4.0 - - name: .4.4 - - name: .5.0 - - name: .6.0 - - name: .7.0 - - name: .8.0 - - name: .rapid - - name: .latest - display_name: Test RHEL8 py3.10 Auth NoSSL - run_on: - - rhel87-small - expansions: - AUTH: auth - SSL: nossl - PYTHON_BINARY: /opt/python/3.10/bin/python3 - name: test-rhel8-py3.11-auth-ssl tasks: - - name: .4.0 - - name: .4.4 - - name: .5.0 - - name: .6.0 - - name: .7.0 - - name: .8.0 - - name: .rapid - - name: .latest + - name: .sharded_cluster + - name: .standalone + - name: .replica_set display_name: Test RHEL8 py3.11 Auth SSL run_on: - rhel87-small @@ -2521,14 +2463,9 @@ buildvariants: PYTHON_BINARY: /opt/python/3.11/bin/python3 - name: test-rhel8-py3.11-noauth-nossl tasks: - - name: .4.0 - - name: .4.4 - - name: .5.0 - - name: .6.0 - - name: .7.0 - - name: .8.0 - - name: .rapid - - name: .latest + - name: .sharded_cluster + - name: .standalone + - name: .replica_set display_name: Test RHEL8 py3.11 NoAuth NoSSL run_on: - rhel87-small @@ -2536,33 +2473,11 @@ buildvariants: AUTH: noauth SSL: nossl PYTHON_BINARY: /opt/python/3.11/bin/python3 -- name: test-rhel8-py3.11-auth-nossl - tasks: - - name: .4.0 - - name: .4.4 - - name: .5.0 - - name: .6.0 - - name: .7.0 - - name: .8.0 - - name: .rapid - - name: .latest - display_name: Test RHEL8 py3.11 Auth NoSSL - run_on: - - rhel87-small - expansions: - AUTH: auth - SSL: nossl - PYTHON_BINARY: /opt/python/3.11/bin/python3 - name: test-rhel8-py3.12-auth-ssl tasks: - - name: .4.0 - - name: .4.4 - - name: .5.0 - - name: .6.0 - - name: .7.0 - - name: .8.0 - - name: .rapid - - name: .latest + - name: .sharded_cluster + - name: .standalone + - name: .replica_set display_name: Test RHEL8 py3.12 Auth SSL run_on: - rhel87-small @@ -2572,14 +2487,9 @@ buildvariants: PYTHON_BINARY: /opt/python/3.12/bin/python3 - name: test-rhel8-py3.12-noauth-nossl tasks: - - name: .4.0 - - name: .4.4 - - name: .5.0 - - name: .6.0 - - name: .7.0 - - name: .8.0 - - name: .rapid - - name: .latest + - name: .sharded_cluster + - name: .standalone + - name: .replica_set display_name: Test RHEL8 py3.12 NoAuth NoSSL run_on: - rhel87-small @@ -2587,33 +2497,11 @@ buildvariants: AUTH: noauth SSL: nossl PYTHON_BINARY: /opt/python/3.12/bin/python3 -- name: test-rhel8-py3.12-auth-nossl - tasks: - - name: .4.0 - - name: .4.4 - - name: .5.0 - - name: .6.0 - - name: .7.0 - - name: .8.0 - - name: .rapid - - name: .latest - display_name: Test RHEL8 py3.12 Auth NoSSL - run_on: - - rhel87-small - expansions: - AUTH: auth - SSL: nossl - PYTHON_BINARY: /opt/python/3.12/bin/python3 - name: test-rhel8-py3.13-auth-ssl tasks: - - name: .4.0 - - name: .4.4 - - name: .5.0 - - name: .6.0 - - name: .7.0 - - name: .8.0 - - name: .rapid - - name: .latest + - name: .sharded_cluster + - name: .standalone + - name: .replica_set display_name: Test RHEL8 py3.13 Auth SSL run_on: - rhel87-small @@ -2623,14 +2511,9 @@ buildvariants: PYTHON_BINARY: /opt/python/3.13/bin/python3 - name: test-rhel8-py3.13-noauth-nossl tasks: - - name: .4.0 - - name: .4.4 - - name: .5.0 - - name: .6.0 - - name: .7.0 - - name: .8.0 - - name: .rapid - - name: .latest + - name: .sharded_cluster + - name: .standalone + - name: .replica_set display_name: Test RHEL8 py3.13 NoAuth NoSSL run_on: - rhel87-small @@ -2638,33 +2521,11 @@ buildvariants: AUTH: noauth SSL: nossl PYTHON_BINARY: /opt/python/3.13/bin/python3 -- name: test-rhel8-py3.13-auth-nossl - tasks: - - name: .4.0 - - name: .4.4 - - name: .5.0 - - name: .6.0 - - name: .7.0 - - name: .8.0 - - name: .rapid - - name: .latest - display_name: Test RHEL8 py3.13 Auth NoSSL - run_on: - - rhel87-small - expansions: - AUTH: auth - SSL: nossl - PYTHON_BINARY: /opt/python/3.13/bin/python3 - name: test-rhel8-pypy3.9-auth-ssl tasks: - - name: .4.0 - - name: .4.4 - - name: .5.0 - - name: .6.0 - - name: .7.0 - - name: .8.0 - - name: .rapid - - name: .latest + - name: .sharded_cluster + - name: .standalone + - name: .replica_set display_name: Test RHEL8 pypy3.9 Auth SSL run_on: - rhel87-small @@ -2674,14 +2535,9 @@ buildvariants: PYTHON_BINARY: /opt/python/pypy3.9/bin/python3 - name: test-rhel8-pypy3.9-noauth-nossl tasks: - - name: .4.0 - - name: .4.4 - - name: .5.0 - - name: .6.0 - - name: .7.0 - - name: .8.0 - - name: .rapid - - name: .latest + - name: .sharded_cluster + - name: .standalone + - name: .replica_set display_name: Test RHEL8 pypy3.9 NoAuth NoSSL run_on: - rhel87-small @@ -2689,33 +2545,11 @@ buildvariants: AUTH: noauth SSL: nossl PYTHON_BINARY: /opt/python/pypy3.9/bin/python3 -- name: test-rhel8-pypy3.9-auth-nossl - tasks: - - name: .4.0 - - name: .4.4 - - name: .5.0 - - name: .6.0 - - name: .7.0 - - name: .8.0 - - name: .rapid - - name: .latest - display_name: Test RHEL8 pypy3.9 Auth NoSSL - run_on: - - rhel87-small - expansions: - AUTH: auth - SSL: nossl - PYTHON_BINARY: /opt/python/pypy3.9/bin/python3 - name: test-rhel8-pypy3.10-auth-ssl tasks: - - name: .4.0 - - name: .4.4 - - name: .5.0 - - name: .6.0 - - name: .7.0 - - name: .8.0 - - name: .rapid - - name: .latest + - name: .sharded_cluster + - name: .standalone + - name: .replica_set display_name: Test RHEL8 pypy3.10 Auth SSL run_on: - rhel87-small @@ -2725,14 +2559,9 @@ buildvariants: PYTHON_BINARY: /opt/python/pypy3.10/bin/python3 - name: test-rhel8-pypy3.10-noauth-nossl tasks: - - name: .4.0 - - name: .4.4 - - name: .5.0 - - name: .6.0 - - name: .7.0 - - name: .8.0 - - name: .rapid - - name: .latest + - name: .sharded_cluster + - name: .standalone + - name: .replica_set display_name: Test RHEL8 pypy3.10 NoAuth NoSSL run_on: - rhel87-small @@ -2740,370 +2569,365 @@ buildvariants: AUTH: noauth SSL: nossl PYTHON_BINARY: /opt/python/pypy3.10/bin/python3 -- name: test-rhel8-pypy3.10-auth-nossl - tasks: - - name: .4.0 - - name: .4.4 - - name: .5.0 - - name: .6.0 - - name: .7.0 - - name: .8.0 - - name: .rapid - - name: .latest - display_name: Test RHEL8 pypy3.10 Auth NoSSL - run_on: - - rhel87-small - expansions: - AUTH: auth - SSL: nossl - PYTHON_BINARY: /opt/python/pypy3.10/bin/python3 -# Server Tests for Windows. -- name: test-win64-py3.9-auth-ssl - tasks: - - name: .4.0 .sharded_cluster - - name: .4.4 .sharded_cluster - - name: .5.0 .sharded_cluster - - name: .6.0 .sharded_cluster - - name: .7.0 .sharded_cluster - - name: .8.0 .sharded_cluster - - name: .rapid .sharded_cluster - - name: .latest .sharded_cluster - display_name: Test Win64 py3.9 Auth SSL - run_on: - - windows-64-vsMulti-small - expansions: - AUTH: auth - ssl: ssl - PYTHON_BINARY: C:/python/Python39/python.exe -- name: test-win64-py3.10-auth-ssl - tasks: - - name: .4.0 .sharded_cluster - - name: .4.4 .sharded_cluster - - name: .5.0 .sharded_cluster - - name: .6.0 .sharded_cluster - - name: .7.0 .sharded_cluster - - name: .8.0 .sharded_cluster - - name: .rapid .sharded_cluster - - name: .latest .sharded_cluster - display_name: Test Win64 py3.10 Auth SSL - run_on: - - windows-64-vsMulti-small - expansions: - AUTH: auth - ssl: ssl - PYTHON_BINARY: C:/python/Python310/python.exe -- name: test-win64-py3.11-auth-ssl - tasks: - - name: .4.0 .sharded_cluster - - name: .4.4 .sharded_cluster - - name: .5.0 .sharded_cluster - - name: .6.0 .sharded_cluster - - name: .7.0 .sharded_cluster - - name: .8.0 .sharded_cluster - - name: .rapid .sharded_cluster - - name: .latest .sharded_cluster - display_name: Test Win64 py3.11 Auth SSL +# Server tests for MacOS. +- name: test-macos-py3.9-auth-ssl-sync + tasks: + - name: .sharded_cluster + display_name: Test macOS py3.9 Auth SSL Sync run_on: - - windows-64-vsMulti-small + - macos-14 expansions: AUTH: auth - ssl: ssl - PYTHON_BINARY: C:/python/Python311/python.exe -- name: test-win64-py3.12-auth-ssl - tasks: - - name: .4.0 .sharded_cluster - - name: .4.4 .sharded_cluster - - name: .5.0 .sharded_cluster - - name: .6.0 .sharded_cluster - - name: .7.0 .sharded_cluster - - name: .8.0 .sharded_cluster - - name: .rapid .sharded_cluster - - name: .latest .sharded_cluster - display_name: Test Win64 py3.12 Auth SSL + SSL: ssl + TEST_SUITES: default + PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.9/bin/python3 +- name: test-macos-py3.9-auth-ssl-async + tasks: + - name: .sharded_cluster + display_name: Test macOS py3.9 Auth SSL Async run_on: - - windows-64-vsMulti-small + - macos-14 expansions: AUTH: auth - ssl: ssl - PYTHON_BINARY: C:/python/Python312/python.exe -- name: test-win64-py3.13-auth-ssl - tasks: - - name: .4.0 .sharded_cluster - - name: .4.4 .sharded_cluster - - name: .5.0 .sharded_cluster - - name: .6.0 .sharded_cluster - - name: .7.0 .sharded_cluster - - name: .8.0 .sharded_cluster - - name: .rapid .sharded_cluster - - name: .latest .sharded_cluster - display_name: Test Win64 py3.13 Auth SSL + SSL: ssl + TEST_SUITES: default_async + PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.9/bin/python3 +- name: test-macos-py3.9-noauth-nossl-sync + tasks: + - name: .sharded_cluster + display_name: Test macOS py3.9 NoAuth NoSSL Sync run_on: - - windows-64-vsMulti-small + - macos-14 expansions: - AUTH: auth - ssl: ssl - PYTHON_BINARY: C:/python/Python313/python.exe -- name: test-macos-py3.9-auth-ssl - tasks: - - name: .4.0 .sharded_cluster - - name: .4.4 .sharded_cluster - - name: .5.0 .sharded_cluster - - name: .6.0 .sharded_cluster - - name: .7.0 .sharded_cluster - - name: .8.0 .sharded_cluster - - name: .rapid .sharded_cluster - - name: .latest .sharded_cluster - display_name: Test macOS py3.9 Auth SSL + AUTH: noauth + SSL: nossl + TEST_SUITES: default + PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.9/bin/python3 +- name: test-macos-py3.9-noauth-nossl-async + tasks: + - name: .sharded_cluster + display_name: Test macOS py3.9 NoAuth NoSSL Async run_on: - macos-14 expansions: - AUTH: auth - ssl: ssl + AUTH: noauth + SSL: nossl + TEST_SUITES: default_async PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.9/bin/python3 - -# Server tests for MacOS. -- name: test-macos-py3.10-auth-ssl - tasks: - - name: .4.0 .sharded_cluster - - name: .4.4 .sharded_cluster - - name: .5.0 .sharded_cluster - - name: .6.0 .sharded_cluster - - name: .7.0 .sharded_cluster - - name: .8.0 .sharded_cluster - - name: .rapid .sharded_cluster - - name: .latest .sharded_cluster - display_name: Test macOS py3.10 Auth SSL +- name: test-macos-py3.13-auth-ssl-sync + tasks: + - name: .sharded_cluster + display_name: Test macOS py3.13 Auth SSL Sync run_on: - macos-14 expansions: AUTH: auth - ssl: ssl - PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.10/bin/python3 -- name: test-macos-py3.11-auth-ssl - tasks: - - name: .4.0 .sharded_cluster - - name: .4.4 .sharded_cluster - - name: .5.0 .sharded_cluster - - name: .6.0 .sharded_cluster - - name: .7.0 .sharded_cluster - - name: .8.0 .sharded_cluster - - name: .rapid .sharded_cluster - - name: .latest .sharded_cluster - display_name: Test macOS py3.11 Auth SSL + SSL: ssl + TEST_SUITES: default + PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.13/bin/python3 +- name: test-macos-py3.13-auth-ssl-async + tasks: + - name: .sharded_cluster + display_name: Test macOS py3.13 Auth SSL Async run_on: - macos-14 expansions: AUTH: auth - ssl: ssl - PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.11/bin/python3 -- name: test-macos-py3.12-auth-ssl - tasks: - - name: .4.0 .sharded_cluster - - name: .4.4 .sharded_cluster - - name: .5.0 .sharded_cluster - - name: .6.0 .sharded_cluster - - name: .7.0 .sharded_cluster - - name: .8.0 .sharded_cluster - - name: .rapid .sharded_cluster - - name: .latest .sharded_cluster - display_name: Test macOS py3.12 Auth SSL + SSL: ssl + TEST_SUITES: default_async + PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.13/bin/python3 +- name: test-macos-py3.13-noauth-nossl-sync + tasks: + - name: .sharded_cluster + display_name: Test macOS py3.13 NoAuth NoSSL Sync run_on: - macos-14 expansions: - AUTH: auth - ssl: ssl - PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.12/bin/python3 -- name: test-macos-py3.13-auth-ssl - tasks: - - name: .4.0 .sharded_cluster - - name: .4.4 .sharded_cluster - - name: .5.0 .sharded_cluster - - name: .6.0 .sharded_cluster - - name: .7.0 .sharded_cluster - - name: .8.0 .sharded_cluster - - name: .rapid .sharded_cluster - - name: .latest .sharded_cluster - display_name: Test macOS py3.13 Auth SSL + AUTH: noauth + SSL: nossl + TEST_SUITES: default + PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.13/bin/python3 +- name: test-macos-py3.13-noauth-nossl-async + tasks: + - name: .sharded_cluster + display_name: Test macOS py3.13 NoAuth NoSSL Async run_on: - macos-14 expansions: - AUTH: auth - ssl: ssl + AUTH: noauth + SSL: nossl + TEST_SUITES: default_async PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.13/bin/python3 # Server tests for macOS (arm). -- name: test-macos-arm-py3.9-auth-ssl - tasks: - - name: .4.0 .sharded_cluster - - name: .4.4 .sharded_cluster - - name: .5.0 .sharded_cluster - - name: .6.0 .sharded_cluster - - name: .7.0 .sharded_cluster - - name: .8.0 .sharded_cluster - - name: .rapid .sharded_cluster - - name: .latest .sharded_cluster - display_name: Test macOS (arm) py3.9 Auth SSL +- name: test-macos-arm-py3.9-auth-ssl-sync + tasks: + - name: .sharded_cluster + display_name: Test macOS (arm) py3.9 Auth SSL Sync run_on: - macos-14-arm64 expansions: AUTH: auth - ssl: ssl + SSL: ssl + TEST_SUITES: default PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.9/bin/python3 -- name: test-macos-arm-py3.10-auth-ssl - tasks: - - name: .4.0 .sharded_cluster - - name: .4.4 .sharded_cluster - - name: .5.0 .sharded_cluster - - name: .6.0 .sharded_cluster - - name: .7.0 .sharded_cluster - - name: .8.0 .sharded_cluster - - name: .rapid .sharded_cluster - - name: .latest .sharded_cluster - display_name: Test macOS (arm) py3.10 Auth SSL +- name: test-macos-arm-py3.9-auth-ssl-async + tasks: + - name: .sharded_cluster + display_name: Test macOS (arm) py3.9 Auth SSL Async run_on: - macos-14-arm64 expansions: AUTH: auth - ssl: ssl - PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.10/bin/python3 -- name: test-macos-arm-py3.11-auth-ssl - tasks: - - name: .4.0 .sharded_cluster - - name: .4.4 .sharded_cluster - - name: .5.0 .sharded_cluster - - name: .6.0 .sharded_cluster - - name: .7.0 .sharded_cluster - - name: .8.0 .sharded_cluster - - name: .rapid .sharded_cluster - - name: .latest .sharded_cluster - display_name: Test macOS (arm) py3.11 Auth SSL + SSL: ssl + TEST_SUITES: default_async + PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.9/bin/python3 +- name: test-macos-arm-py3.9-noauth-nossl-sync + tasks: + - name: .sharded_cluster + display_name: Test macOS (arm) py3.9 NoAuth NoSSL Sync run_on: - macos-14-arm64 expansions: - AUTH: auth - ssl: ssl - PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.11/bin/python3 -- name: test-macos-arm-py3.12-auth-ssl - tasks: - - name: .4.0 .sharded_cluster - - name: .4.4 .sharded_cluster - - name: .5.0 .sharded_cluster - - name: .6.0 .sharded_cluster - - name: .7.0 .sharded_cluster - - name: .8.0 .sharded_cluster - - name: .rapid .sharded_cluster - - name: .latest .sharded_cluster - display_name: Test macOS (arm) py3.12 Auth SSL + AUTH: noauth + SSL: nossl + TEST_SUITES: default + PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.9/bin/python3 +- name: test-macos-arm-py3.9-noauth-nossl-async + tasks: + - name: .sharded_cluster + display_name: Test macOS (arm) py3.9 NoAuth NoSSL Async + run_on: + - macos-14-arm64 + expansions: + AUTH: noauth + SSL: nossl + TEST_SUITES: default_async + PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.9/bin/python3 +- name: test-macos-arm-py3.13-auth-ssl-sync + tasks: + - name: .sharded_cluster + display_name: Test macOS (arm) py3.13 Auth SSL Sync run_on: - macos-14-arm64 expansions: AUTH: auth - ssl: ssl - PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.12/bin/python3 -- name: test-macos-arm-py3.13-auth-ssl - tasks: - - name: .4.0 .sharded_cluster - - name: .4.4 .sharded_cluster - - name: .5.0 .sharded_cluster - - name: .6.0 .sharded_cluster - - name: .7.0 .sharded_cluster - - name: .8.0 .sharded_cluster - - name: .rapid .sharded_cluster - - name: .latest .sharded_cluster - display_name: Test macOS (arm) py3.13 Auth SSL + SSL: ssl + TEST_SUITES: default + PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.13/bin/python3 +- name: test-macos-arm-py3.13-auth-ssl-async + tasks: + - name: .sharded_cluster + display_name: Test macOS (arm) py3.13 Auth SSL Async run_on: - macos-14-arm64 expansions: AUTH: auth - ssl: ssl + SSL: ssl + TEST_SUITES: default_async + PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.13/bin/python3 +- name: test-macos-arm-py3.13-noauth-nossl-sync + tasks: + - name: .sharded_cluster + display_name: Test macOS (arm) py3.13 NoAuth NoSSL Sync + run_on: + - macos-14-arm64 + expansions: + AUTH: noauth + SSL: nossl + TEST_SUITES: default PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.13/bin/python3 +- name: test-macos-arm-py3.13-noauth-nossl-async + tasks: + - name: .sharded_cluster + display_name: Test macOS (arm) py3.13 NoAuth NoSSL Async + run_on: + - macos-14-arm64 + expansions: + AUTH: noauth + SSL: nossl + TEST_SUITES: default_async + PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.13/bin/python3 + +# Server tests for Windows. +- name: test-win64-py-3.9-auth-ssl-sync + tasks: + - name: .sharded_cluster + display_name: Test Win64 py 3.9 Auth SSL Sync + run_on: + - windows-64-vsMulti-small + expansions: + AUTH: auth + SSL: ssl + TEST_SUITES: default + PYTHON_BINARY: C:/python/Python 39/python.exe +- name: test-win64-py-3.9-auth-ssl-async + tasks: + - name: .sharded_cluster + display_name: Test Win64 py 3.9 Auth SSL Async + run_on: + - windows-64-vsMulti-small + expansions: + AUTH: auth + SSL: ssl + TEST_SUITES: default_async + PYTHON_BINARY: C:/python/Python 39/python.exe +- name: test-win64-py-3.9-noauth-nossl-sync + tasks: + - name: .sharded_cluster + display_name: Test Win64 py 3.9 NoAuth NoSSL Sync + run_on: + - windows-64-vsMulti-small + expansions: + AUTH: noauth + SSL: nossl + TEST_SUITES: default + PYTHON_BINARY: C:/python/Python 39/python.exe +- name: test-win64-py-3.9-noauth-nossl-async + tasks: + - name: .sharded_cluster + display_name: Test Win64 py 3.9 NoAuth NoSSL Async + run_on: + - windows-64-vsMulti-small + expansions: + AUTH: noauth + SSL: nossl + TEST_SUITES: default_async + PYTHON_BINARY: C:/python/Python 39/python.exe +- name: test-win64-py-3.13-auth-ssl-sync + tasks: + - name: .sharded_cluster + display_name: Test Win64 py 3.13 Auth SSL Sync + run_on: + - windows-64-vsMulti-small + expansions: + AUTH: auth + SSL: ssl + TEST_SUITES: default + PYTHON_BINARY: C:/python/Python 313/python.exe +- name: test-win64-py-3.13-auth-ssl-async + tasks: + - name: .sharded_cluster + display_name: Test Win64 py 3.13 Auth SSL Async + run_on: + - windows-64-vsMulti-small + expansions: + AUTH: auth + SSL: ssl + TEST_SUITES: default_async + PYTHON_BINARY: C:/python/Python 313/python.exe +- name: test-win64-py-3.13-noauth-nossl-sync + tasks: + - name: .sharded_cluster + display_name: Test Win64 py 3.13 NoAuth NoSSL Sync + run_on: + - windows-64-vsMulti-small + expansions: + AUTH: noauth + SSL: nossl + TEST_SUITES: default + PYTHON_BINARY: C:/python/Python 313/python.exe +- name: test-win64-py-3.13-noauth-nossl-async + tasks: + - name: .sharded_cluster + display_name: Test Win64 py 3.13 NoAuth NoSSL Async + run_on: + - windows-64-vsMulti-small + expansions: + AUTH: noauth + SSL: nossl + TEST_SUITES: default_async + PYTHON_BINARY: C:/python/Python 313/python.exe # Server tests for Windows (32-bit). -- name: test-win64-32-bit-py3.9-auth-ssl - tasks: - - name: .4.0 .sharded_cluster - - name: .4.4 .sharded_cluster - - name: .5.0 .sharded_cluster - - name: .6.0 .sharded_cluster - - name: .7.0 .sharded_cluster - - name: .8.0 .sharded_cluster - - name: .rapid .sharded_cluster - - name: .latest .sharded_cluster - display_name: Test Win64 32-bit py3.9 Auth SSL +- name: test-win64-32-bit-py3.9-auth-ssl-sync + tasks: + - name: .sharded_cluster + display_name: Test Win64 32-bit py3.9 Auth SSL Sync run_on: - windows-64-vsMulti-small expansions: AUTH: auth - ssl: ssl + SSL: ssl + TEST_SUITES: default PYTHON_BINARY: C:/python/32/Python39/python.exe -- name: test-win64-32-bit-py3.10-auth-ssl - tasks: - - name: .4.0 .sharded_cluster - - name: .4.4 .sharded_cluster - - name: .5.0 .sharded_cluster - - name: .6.0 .sharded_cluster - - name: .7.0 .sharded_cluster - - name: .8.0 .sharded_cluster - - name: .rapid .sharded_cluster - - name: .latest .sharded_cluster - display_name: Test Win64 32-bit py3.10 Auth SSL +- name: test-win64-32-bit-py3.9-auth-ssl-async + tasks: + - name: .sharded_cluster + display_name: Test Win64 32-bit py3.9 Auth SSL Async run_on: - windows-64-vsMulti-small expansions: AUTH: auth - ssl: ssl - PYTHON_BINARY: C:/python/32/Python310/python.exe -- name: test-win64-32-bit-py3.11-auth-ssl - tasks: - - name: .4.0 .sharded_cluster - - name: .4.4 .sharded_cluster - - name: .5.0 .sharded_cluster - - name: .6.0 .sharded_cluster - - name: .7.0 .sharded_cluster - - name: .8.0 .sharded_cluster - - name: .rapid .sharded_cluster - - name: .latest .sharded_cluster - display_name: Test Win64 32-bit py3.11 Auth SSL + SSL: ssl + TEST_SUITES: default_async + PYTHON_BINARY: C:/python/32/Python39/python.exe +- name: test-win64-32-bit-py3.9-noauth-nossl-sync + tasks: + - name: .sharded_cluster + display_name: Test Win64 32-bit py3.9 NoAuth NoSSL Sync run_on: - windows-64-vsMulti-small expansions: - AUTH: auth - ssl: ssl - PYTHON_BINARY: C:/python/32/Python311/python.exe -- name: test-win64-32-bit-py3.12-auth-ssl - tasks: - - name: .4.0 .sharded_cluster - - name: .4.4 .sharded_cluster - - name: .5.0 .sharded_cluster - - name: .6.0 .sharded_cluster - - name: .7.0 .sharded_cluster - - name: .8.0 .sharded_cluster - - name: .rapid .sharded_cluster - - name: .latest .sharded_cluster - display_name: Test Win64 32-bit py3.12 Auth SSL + AUTH: noauth + SSL: nossl + TEST_SUITES: default + PYTHON_BINARY: C:/python/32/Python39/python.exe +- name: test-win64-32-bit-py3.9-noauth-nossl-async + tasks: + - name: .sharded_cluster + display_name: Test Win64 32-bit py3.9 NoAuth NoSSL Async + run_on: + - windows-64-vsMulti-small + expansions: + AUTH: noauth + SSL: nossl + TEST_SUITES: default_async + PYTHON_BINARY: C:/python/32/Python39/python.exe +- name: test-win64-32-bit-py3.13-auth-ssl-sync + tasks: + - name: .sharded_cluster + display_name: Test Win64 32-bit py3.13 Auth SSL Sync run_on: - windows-64-vsMulti-small expansions: AUTH: auth - ssl: ssl - PYTHON_BINARY: C:/python/32/Python312/python.exe -- name: test-win64-32-bit-py3.13-auth-ssl - tasks: - - name: .4.0 .sharded_cluster - - name: .4.4 .sharded_cluster - - name: .5.0 .sharded_cluster - - name: .6.0 .sharded_cluster - - name: .7.0 .sharded_cluster - - name: .8.0 .sharded_cluster - - name: .rapid .sharded_cluster - - name: .latest .sharded_cluster - display_name: Test Win64 32-bit py3.13 Auth SSL + SSL: ssl + TEST_SUITES: default + PYTHON_BINARY: C:/python/32/Python313/python.exe +- name: test-win64-32-bit-py3.13-auth-ssl-async + tasks: + - name: .sharded_cluster + display_name: Test Win64 32-bit py3.13 Auth SSL Async run_on: - windows-64-vsMulti-small expansions: AUTH: auth - ssl: ssl + SSL: ssl + TEST_SUITES: default_async + PYTHON_BINARY: C:/python/32/Python313/python.exe +- name: test-win64-32-bit-py3.13-noauth-nossl-sync + tasks: + - name: .sharded_cluster + display_name: Test Win64 32-bit py3.13 NoAuth NoSSL Sync + run_on: + - windows-64-vsMulti-small + expansions: + AUTH: noauth + SSL: nossl + TEST_SUITES: default + PYTHON_BINARY: C:/python/32/Python313/python.exe +- name: test-win64-32-bit-py3.13-noauth-nossl-async + tasks: + - name: .sharded_cluster + display_name: Test Win64 32-bit py3.13 NoAuth NoSSL Async + run_on: + - windows-64-vsMulti-small + expansions: + AUTH: noauth + SSL: nossl + TEST_SUITES: default_async PYTHON_BINARY: C:/python/32/Python313/python.exe - matrix_name: "tests-fips" diff --git a/.evergreen/run-tests.sh b/.evergreen/run-tests.sh index 5e8429dd28..364570999f 100755 --- a/.evergreen/run-tests.sh +++ b/.evergreen/run-tests.sh @@ -30,7 +30,7 @@ set -o xtrace AUTH=${AUTH:-noauth} SSL=${SSL:-nossl} -TEST_SUITES="" +TEST_SUITES=${TEST_SUITES:-} TEST_ARGS="${*:1}" export PIP_QUIET=1 # Quiet by default diff --git a/.evergreen/scripts/generate_config.py b/.evergreen/scripts/generate_config.py index c7029a5cb4..023e916d1d 100644 --- a/.evergreen/scripts/generate_config.py +++ b/.evergreen/scripts/generate_config.py @@ -26,8 +26,15 @@ CPYTHONS = ["3.9", "3.10", "3.11", "3.12", "3.13"] PYPYS = ["pypy3.9", "pypy3.10"] ALL_PYTHONS = CPYTHONS + PYPYS +MIN_MAX_PYTHON = [CPYTHONS[0], CPYTHONS[-1]] BATCHTIME_WEEK = 10080 -DISPLAY_LOOKUP = dict(ssl="SSL", nossl="NoSSL", auth="Auth", noauth="NoAuth") +AUTH_SSLS = [("auth", "ssl"), ("noauth", "nossl")] +SYNCS = ["sync", "async"] +DISPLAY_LOOKUP = dict( + ssl=dict(ssl="SSL", nossl="NoSSL"), + auth=dict(auth="Auth", noauth="NoAuth"), + test_suites=dict(default="Sync", default_async="Async"), +) HOSTS = dict() @@ -115,8 +122,8 @@ def get_display_name(base: str, host: str, **kwargs) -> str: name = "32-bit py" + value.split()[-1] else: name = f"py{value}" - elif key in DISPLAY_LOOKUP: - name = DISPLAY_LOOKUP[value] + elif key.lower() in DISPLAY_LOOKUP: + name = DISPLAY_LOOKUP[key.lower()][value] else: raise ValueError(f"Missing display handling for {key}") display_name = f"{display_name} {name}" @@ -175,17 +182,15 @@ def create_ocsp_variants() -> list[BuildVariant]: def create_server_variants() -> list[BuildVariant]: - AUTH_SSLS = [("auth", "ssl"), ("noauth", "nossl"), ("auth", "nossl")] variants = [] host = "rhel8" - for python, auth_ssl in product(ALL_PYTHONS, AUTH_SSLS): - auth, ssl = auth_ssl + for python, (auth, ssl) in product(ALL_PYTHONS, AUTH_SSLS): display_name = f"Test {host}" - display_name = get_display_name("Test", host, python=python, auth=auth, ssl=ssl) expansions = dict(AUTH=auth, SSL=ssl) + display_name = get_display_name("Test", host, python=python, **expansions) variant = create_variant( - [f".{v}" for v in ALL_VERSIONS], + [".sharded_cluster", ".standalone", ".replica_set"], display_name, python=python, host=host, @@ -193,11 +198,14 @@ def create_server_variants() -> list[BuildVariant]: ) variants.append(variant) - for host, python in product(["win64", "macos", "macos-arm64"], CPYTHONS): - expansions = dict(AUTH="auth", ssl="ssl") - display_name = get_display_name("Test", host, python=python, auth="auth", ssl="ssl") + for host, python, (auth, ssl), sync in product( + ["macos", "macos-arm64"], MIN_MAX_PYTHON, AUTH_SSLS, SYNCS + ): + test_suite = "default" if sync == "sync" else "default_async" + expansions = dict(AUTH=auth, SSL=ssl, TEST_SUITES=test_suite) + display_name = get_display_name("Test", host, python=python, **expansions) variant = create_variant( - [f".{v} .sharded_cluster" for v in ALL_VERSIONS], + [".sharded_cluster"], display_name, python=python, host=host, @@ -205,12 +213,16 @@ def create_server_variants() -> list[BuildVariant]: ) variants.append(variant) - for python in ["32-bit " + p for p in CPYTHONS]: - host = "win64" - expansions = dict(AUTH="auth", ssl="ssl") - display_name = get_display_name("Test", host, python=python, auth="auth", ssl="ssl") + host = "win64" + for prefix, base, (auth, ssl), sync in product( + ["", "32-bit "], MIN_MAX_PYTHON, AUTH_SSLS, SYNCS + ): + python = f"{prefix} {base}" + test_suite = "default" if sync == "sync" else "default_async" + expansions = dict(AUTH=auth, SSL=ssl, TEST_SUITES=test_suite) + display_name = get_display_name("Test", host, python=python, **expansions) variant = create_variant( - [f".{v} .sharded_cluster" for v in ALL_VERSIONS], + [".sharded_cluster"], display_name, python=python, host=host, From f7c61d34b2667261e70d36087b3f105fd0f147b0 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Tue, 15 Oct 2024 05:43:21 -0500 Subject: [PATCH 5/9] fix win tests --- .evergreen/config.yml | 16 ++++++++-------- .evergreen/scripts/generate_config.py | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.evergreen/config.yml b/.evergreen/config.yml index f2c1d6da94..9563e2a9c0 100644 --- a/.evergreen/config.yml +++ b/.evergreen/config.yml @@ -2761,7 +2761,7 @@ buildvariants: AUTH: auth SSL: ssl TEST_SUITES: default - PYTHON_BINARY: C:/python/Python 39/python.exe + PYTHON_BINARY: C:/python/Python39/python.exe - name: test-win64-py-3.9-auth-ssl-async tasks: - name: .sharded_cluster @@ -2772,7 +2772,7 @@ buildvariants: AUTH: auth SSL: ssl TEST_SUITES: default_async - PYTHON_BINARY: C:/python/Python 39/python.exe + PYTHON_BINARY: C:/python/Python39/python.exe - name: test-win64-py-3.9-noauth-nossl-sync tasks: - name: .sharded_cluster @@ -2783,7 +2783,7 @@ buildvariants: AUTH: noauth SSL: nossl TEST_SUITES: default - PYTHON_BINARY: C:/python/Python 39/python.exe + PYTHON_BINARY: C:/python/Python39/python.exe - name: test-win64-py-3.9-noauth-nossl-async tasks: - name: .sharded_cluster @@ -2794,7 +2794,7 @@ buildvariants: AUTH: noauth SSL: nossl TEST_SUITES: default_async - PYTHON_BINARY: C:/python/Python 39/python.exe + PYTHON_BINARY: C:/python/Python39/python.exe - name: test-win64-py-3.13-auth-ssl-sync tasks: - name: .sharded_cluster @@ -2805,7 +2805,7 @@ buildvariants: AUTH: auth SSL: ssl TEST_SUITES: default - PYTHON_BINARY: C:/python/Python 313/python.exe + PYTHON_BINARY: C:/python/Python313/python.exe - name: test-win64-py-3.13-auth-ssl-async tasks: - name: .sharded_cluster @@ -2816,7 +2816,7 @@ buildvariants: AUTH: auth SSL: ssl TEST_SUITES: default_async - PYTHON_BINARY: C:/python/Python 313/python.exe + PYTHON_BINARY: C:/python/Python313/python.exe - name: test-win64-py-3.13-noauth-nossl-sync tasks: - name: .sharded_cluster @@ -2827,7 +2827,7 @@ buildvariants: AUTH: noauth SSL: nossl TEST_SUITES: default - PYTHON_BINARY: C:/python/Python 313/python.exe + PYTHON_BINARY: C:/python/Python313/python.exe - name: test-win64-py-3.13-noauth-nossl-async tasks: - name: .sharded_cluster @@ -2838,7 +2838,7 @@ buildvariants: AUTH: noauth SSL: nossl TEST_SUITES: default_async - PYTHON_BINARY: C:/python/Python 313/python.exe + PYTHON_BINARY: C:/python/Python313/python.exe # Server tests for Windows (32-bit). - name: test-win64-32-bit-py3.9-auth-ssl-sync diff --git a/.evergreen/scripts/generate_config.py b/.evergreen/scripts/generate_config.py index 023e916d1d..d4e49bc8b6 100644 --- a/.evergreen/scripts/generate_config.py +++ b/.evergreen/scripts/generate_config.py @@ -217,7 +217,7 @@ def create_server_variants() -> list[BuildVariant]: for prefix, base, (auth, ssl), sync in product( ["", "32-bit "], MIN_MAX_PYTHON, AUTH_SSLS, SYNCS ): - python = f"{prefix} {base}" + python = f"{prefix}{base}" test_suite = "default" if sync == "sync" else "default_async" expansions = dict(AUTH=auth, SSL=ssl, TEST_SUITES=test_suite) display_name = get_display_name("Test", host, python=python, **expansions) From 5c1b6858ef0f54c743ae16b11974ffd6f79e55f2 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Tue, 15 Oct 2024 07:45:12 -0500 Subject: [PATCH 6/9] skip csot --- .evergreen/config.yml | 32 +++++++++++++++++++++++++++ .evergreen/scripts/generate_config.py | 14 ++++++++---- 2 files changed, 42 insertions(+), 4 deletions(-) diff --git a/.evergreen/config.yml b/.evergreen/config.yml index 9563e2a9c0..75d4cd5f0a 100644 --- a/.evergreen/config.yml +++ b/.evergreen/config.yml @@ -2582,6 +2582,7 @@ buildvariants: SSL: ssl TEST_SUITES: default PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.9/bin/python3 + SKIP_CSOT_TESTS: "true" - name: test-macos-py3.9-auth-ssl-async tasks: - name: .sharded_cluster @@ -2593,6 +2594,7 @@ buildvariants: SSL: ssl TEST_SUITES: default_async PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.9/bin/python3 + SKIP_CSOT_TESTS: "true" - name: test-macos-py3.9-noauth-nossl-sync tasks: - name: .sharded_cluster @@ -2604,6 +2606,7 @@ buildvariants: SSL: nossl TEST_SUITES: default PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.9/bin/python3 + SKIP_CSOT_TESTS: "true" - name: test-macos-py3.9-noauth-nossl-async tasks: - name: .sharded_cluster @@ -2615,6 +2618,7 @@ buildvariants: SSL: nossl TEST_SUITES: default_async PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.9/bin/python3 + SKIP_CSOT_TESTS: "true" - name: test-macos-py3.13-auth-ssl-sync tasks: - name: .sharded_cluster @@ -2626,6 +2630,7 @@ buildvariants: SSL: ssl TEST_SUITES: default PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.13/bin/python3 + SKIP_CSOT_TESTS: "true" - name: test-macos-py3.13-auth-ssl-async tasks: - name: .sharded_cluster @@ -2637,6 +2642,7 @@ buildvariants: SSL: ssl TEST_SUITES: default_async PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.13/bin/python3 + SKIP_CSOT_TESTS: "true" - name: test-macos-py3.13-noauth-nossl-sync tasks: - name: .sharded_cluster @@ -2648,6 +2654,7 @@ buildvariants: SSL: nossl TEST_SUITES: default PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.13/bin/python3 + SKIP_CSOT_TESTS: "true" - name: test-macos-py3.13-noauth-nossl-async tasks: - name: .sharded_cluster @@ -2659,6 +2666,7 @@ buildvariants: SSL: nossl TEST_SUITES: default_async PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.13/bin/python3 + SKIP_CSOT_TESTS: "true" # Server tests for macOS (arm). - name: test-macos-arm-py3.9-auth-ssl-sync @@ -2672,6 +2680,7 @@ buildvariants: SSL: ssl TEST_SUITES: default PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.9/bin/python3 + SKIP_CSOT_TESTS: "true" - name: test-macos-arm-py3.9-auth-ssl-async tasks: - name: .sharded_cluster @@ -2683,6 +2692,7 @@ buildvariants: SSL: ssl TEST_SUITES: default_async PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.9/bin/python3 + SKIP_CSOT_TESTS: "true" - name: test-macos-arm-py3.9-noauth-nossl-sync tasks: - name: .sharded_cluster @@ -2694,6 +2704,7 @@ buildvariants: SSL: nossl TEST_SUITES: default PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.9/bin/python3 + SKIP_CSOT_TESTS: "true" - name: test-macos-arm-py3.9-noauth-nossl-async tasks: - name: .sharded_cluster @@ -2705,6 +2716,7 @@ buildvariants: SSL: nossl TEST_SUITES: default_async PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.9/bin/python3 + SKIP_CSOT_TESTS: "true" - name: test-macos-arm-py3.13-auth-ssl-sync tasks: - name: .sharded_cluster @@ -2716,6 +2728,7 @@ buildvariants: SSL: ssl TEST_SUITES: default PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.13/bin/python3 + SKIP_CSOT_TESTS: "true" - name: test-macos-arm-py3.13-auth-ssl-async tasks: - name: .sharded_cluster @@ -2727,6 +2740,7 @@ buildvariants: SSL: ssl TEST_SUITES: default_async PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.13/bin/python3 + SKIP_CSOT_TESTS: "true" - name: test-macos-arm-py3.13-noauth-nossl-sync tasks: - name: .sharded_cluster @@ -2738,6 +2752,7 @@ buildvariants: SSL: nossl TEST_SUITES: default PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.13/bin/python3 + SKIP_CSOT_TESTS: "true" - name: test-macos-arm-py3.13-noauth-nossl-async tasks: - name: .sharded_cluster @@ -2749,6 +2764,7 @@ buildvariants: SSL: nossl TEST_SUITES: default_async PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.13/bin/python3 + SKIP_CSOT_TESTS: "true" # Server tests for Windows. - name: test-win64-py-3.9-auth-ssl-sync @@ -2762,6 +2778,7 @@ buildvariants: SSL: ssl TEST_SUITES: default PYTHON_BINARY: C:/python/Python39/python.exe + SKIP_CSOT_TESTS: "true" - name: test-win64-py-3.9-auth-ssl-async tasks: - name: .sharded_cluster @@ -2773,6 +2790,7 @@ buildvariants: SSL: ssl TEST_SUITES: default_async PYTHON_BINARY: C:/python/Python39/python.exe + SKIP_CSOT_TESTS: "true" - name: test-win64-py-3.9-noauth-nossl-sync tasks: - name: .sharded_cluster @@ -2784,6 +2802,7 @@ buildvariants: SSL: nossl TEST_SUITES: default PYTHON_BINARY: C:/python/Python39/python.exe + SKIP_CSOT_TESTS: "true" - name: test-win64-py-3.9-noauth-nossl-async tasks: - name: .sharded_cluster @@ -2795,6 +2814,7 @@ buildvariants: SSL: nossl TEST_SUITES: default_async PYTHON_BINARY: C:/python/Python39/python.exe + SKIP_CSOT_TESTS: "true" - name: test-win64-py-3.13-auth-ssl-sync tasks: - name: .sharded_cluster @@ -2806,6 +2826,7 @@ buildvariants: SSL: ssl TEST_SUITES: default PYTHON_BINARY: C:/python/Python313/python.exe + SKIP_CSOT_TESTS: "true" - name: test-win64-py-3.13-auth-ssl-async tasks: - name: .sharded_cluster @@ -2817,6 +2838,7 @@ buildvariants: SSL: ssl TEST_SUITES: default_async PYTHON_BINARY: C:/python/Python313/python.exe + SKIP_CSOT_TESTS: "true" - name: test-win64-py-3.13-noauth-nossl-sync tasks: - name: .sharded_cluster @@ -2828,6 +2850,7 @@ buildvariants: SSL: nossl TEST_SUITES: default PYTHON_BINARY: C:/python/Python313/python.exe + SKIP_CSOT_TESTS: "true" - name: test-win64-py-3.13-noauth-nossl-async tasks: - name: .sharded_cluster @@ -2839,6 +2862,7 @@ buildvariants: SSL: nossl TEST_SUITES: default_async PYTHON_BINARY: C:/python/Python313/python.exe + SKIP_CSOT_TESTS: "true" # Server tests for Windows (32-bit). - name: test-win64-32-bit-py3.9-auth-ssl-sync @@ -2852,6 +2876,7 @@ buildvariants: SSL: ssl TEST_SUITES: default PYTHON_BINARY: C:/python/32/Python39/python.exe + SKIP_CSOT_TESTS: "true" - name: test-win64-32-bit-py3.9-auth-ssl-async tasks: - name: .sharded_cluster @@ -2863,6 +2888,7 @@ buildvariants: SSL: ssl TEST_SUITES: default_async PYTHON_BINARY: C:/python/32/Python39/python.exe + SKIP_CSOT_TESTS: "true" - name: test-win64-32-bit-py3.9-noauth-nossl-sync tasks: - name: .sharded_cluster @@ -2874,6 +2900,7 @@ buildvariants: SSL: nossl TEST_SUITES: default PYTHON_BINARY: C:/python/32/Python39/python.exe + SKIP_CSOT_TESTS: "true" - name: test-win64-32-bit-py3.9-noauth-nossl-async tasks: - name: .sharded_cluster @@ -2885,6 +2912,7 @@ buildvariants: SSL: nossl TEST_SUITES: default_async PYTHON_BINARY: C:/python/32/Python39/python.exe + SKIP_CSOT_TESTS: "true" - name: test-win64-32-bit-py3.13-auth-ssl-sync tasks: - name: .sharded_cluster @@ -2896,6 +2924,7 @@ buildvariants: SSL: ssl TEST_SUITES: default PYTHON_BINARY: C:/python/32/Python313/python.exe + SKIP_CSOT_TESTS: "true" - name: test-win64-32-bit-py3.13-auth-ssl-async tasks: - name: .sharded_cluster @@ -2907,6 +2936,7 @@ buildvariants: SSL: ssl TEST_SUITES: default_async PYTHON_BINARY: C:/python/32/Python313/python.exe + SKIP_CSOT_TESTS: "true" - name: test-win64-32-bit-py3.13-noauth-nossl-sync tasks: - name: .sharded_cluster @@ -2918,6 +2948,7 @@ buildvariants: SSL: nossl TEST_SUITES: default PYTHON_BINARY: C:/python/32/Python313/python.exe + SKIP_CSOT_TESTS: "true" - name: test-win64-32-bit-py3.13-noauth-nossl-async tasks: - name: .sharded_cluster @@ -2929,6 +2960,7 @@ buildvariants: SSL: nossl TEST_SUITES: default_async PYTHON_BINARY: C:/python/32/Python313/python.exe + SKIP_CSOT_TESTS: "true" - matrix_name: "tests-fips" matrix_spec: diff --git a/.evergreen/scripts/generate_config.py b/.evergreen/scripts/generate_config.py index d4e49bc8b6..7422016551 100644 --- a/.evergreen/scripts/generate_config.py +++ b/.evergreen/scripts/generate_config.py @@ -43,12 +43,17 @@ class Host: name: str run_on: str display_name: str + expansions: dict[str, str] -HOSTS["rhel8"] = Host("rhel8", "rhel87-small", "RHEL8") -HOSTS["win64"] = Host("win64", "windows-64-vsMulti-small", "Win64") -HOSTS["macos"] = Host("macos", "macos-14", "macOS") -HOSTS["macos-arm64"] = Host("macos-arm64", "macos-14-arm64", "macOS (arm)") +_macos_expansions = dict( # CSOT tests are unreliable on slow hosts. + SKIP_CSOT_TESTS="true" +) + +HOSTS["rhel8"] = Host("rhel8", "rhel87-small", "RHEL8", dict()) +HOSTS["win64"] = Host("win64", "windows-64-vsMulti-small", "Win64", _macos_expansions) +HOSTS["macos"] = Host("macos", "macos-14", "macOS", _macos_expansions) +HOSTS["macos-arm64"] = Host("macos-arm64", "macos-14-arm64", "macOS (arm)", _macos_expansions) ############## @@ -76,6 +81,7 @@ def create_variant( expansions["PYTHON_BINARY"] = get_python_binary(python, host) if version: expansions["VERSION"] = version + expansions.update(HOSTS[host].expansions) expansions = expansions or None return BuildVariant( name=name, From 3fe59c948dda8677505ab852bd2b4dcb10fc14bc Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Tue, 15 Oct 2024 09:55:49 -0500 Subject: [PATCH 7/9] cleanup --- .evergreen/config.yml | 376 +++++++++----------------- .evergreen/scripts/generate_config.py | 80 +++--- 2 files changed, 174 insertions(+), 282 deletions(-) diff --git a/.evergreen/config.yml b/.evergreen/config.yml index 75d4cd5f0a..13139177ac 100644 --- a/.evergreen/config.yml +++ b/.evergreen/config.yml @@ -2403,9 +2403,9 @@ buildvariants: # Server Tests for RHEL8. - name: test-rhel8-py3.9-auth-ssl tasks: - - name: .sharded_cluster - name: .standalone - name: .replica_set + - name: .sharded_cluster display_name: Test RHEL8 py3.9 Auth SSL run_on: - rhel87-small @@ -2413,167 +2413,147 @@ buildvariants: AUTH: auth SSL: ssl PYTHON_BINARY: /opt/python/3.9/bin/python3 -- name: test-rhel8-py3.9-noauth-nossl +- name: test-rhel8-py3.9-noauth-ssl tasks: - - name: .sharded_cluster - name: .standalone - name: .replica_set - display_name: Test RHEL8 py3.9 NoAuth NoSSL + - name: .sharded_cluster + display_name: Test RHEL8 py3.9 NoAuth SSL run_on: - rhel87-small expansions: AUTH: noauth - SSL: nossl + SSL: ssl PYTHON_BINARY: /opt/python/3.9/bin/python3 -- name: test-rhel8-py3.10-auth-ssl +- name: test-rhel8-py3.9-noauth-nossl tasks: - - name: .sharded_cluster - name: .standalone - name: .replica_set - display_name: Test RHEL8 py3.10 Auth SSL - run_on: - - rhel87-small - expansions: - AUTH: auth - SSL: ssl - PYTHON_BINARY: /opt/python/3.10/bin/python3 -- name: test-rhel8-py3.10-noauth-nossl - tasks: - name: .sharded_cluster - - name: .standalone - - name: .replica_set - display_name: Test RHEL8 py3.10 NoAuth NoSSL + display_name: Test RHEL8 py3.9 NoAuth NoSSL run_on: - rhel87-small expansions: AUTH: noauth SSL: nossl - PYTHON_BINARY: /opt/python/3.10/bin/python3 -- name: test-rhel8-py3.11-auth-ssl + PYTHON_BINARY: /opt/python/3.9/bin/python3 +- name: test-rhel8-py3.13-auth-ssl tasks: - - name: .sharded_cluster - name: .standalone - name: .replica_set - display_name: Test RHEL8 py3.11 Auth SSL + - name: .sharded_cluster + display_name: Test RHEL8 py3.13 Auth SSL run_on: - rhel87-small expansions: AUTH: auth SSL: ssl - PYTHON_BINARY: /opt/python/3.11/bin/python3 -- name: test-rhel8-py3.11-noauth-nossl + PYTHON_BINARY: /opt/python/3.13/bin/python3 +- name: test-rhel8-py3.13-noauth-ssl tasks: - - name: .sharded_cluster - name: .standalone - name: .replica_set - display_name: Test RHEL8 py3.11 NoAuth NoSSL + - name: .sharded_cluster + display_name: Test RHEL8 py3.13 NoAuth SSL run_on: - rhel87-small expansions: AUTH: noauth - SSL: nossl - PYTHON_BINARY: /opt/python/3.11/bin/python3 -- name: test-rhel8-py3.12-auth-ssl + SSL: ssl + PYTHON_BINARY: /opt/python/3.13/bin/python3 +- name: test-rhel8-py3.13-noauth-nossl tasks: - - name: .sharded_cluster - name: .standalone - name: .replica_set - display_name: Test RHEL8 py3.12 Auth SSL + - name: .sharded_cluster + display_name: Test RHEL8 py3.13 NoAuth NoSSL run_on: - rhel87-small expansions: - AUTH: auth - SSL: ssl - PYTHON_BINARY: /opt/python/3.12/bin/python3 -- name: test-rhel8-py3.12-noauth-nossl + AUTH: noauth + SSL: nossl + PYTHON_BINARY: /opt/python/3.13/bin/python3 +- name: test-rhel8-pypy3.10-auth-ssl tasks: - - name: .sharded_cluster - name: .standalone - name: .replica_set - display_name: Test RHEL8 py3.12 NoAuth NoSSL + - name: .sharded_cluster + display_name: Test RHEL8 pypy3.10 Auth SSL run_on: - rhel87-small expansions: - AUTH: noauth - SSL: nossl - PYTHON_BINARY: /opt/python/3.12/bin/python3 -- name: test-rhel8-py3.13-auth-ssl + AUTH: auth + SSL: ssl + PYTHON_BINARY: /opt/python/pypy3.10/bin/python3 +- name: test-rhel8-pypy3.10-noauth-ssl tasks: - - name: .sharded_cluster - name: .standalone - name: .replica_set - display_name: Test RHEL8 py3.13 Auth SSL + - name: .sharded_cluster + display_name: Test RHEL8 pypy3.10 NoAuth SSL run_on: - rhel87-small expansions: - AUTH: auth + AUTH: noauth SSL: ssl - PYTHON_BINARY: /opt/python/3.13/bin/python3 -- name: test-rhel8-py3.13-noauth-nossl + PYTHON_BINARY: /opt/python/pypy3.10/bin/python3 +- name: test-rhel8-pypy3.10-noauth-nossl tasks: - - name: .sharded_cluster - name: .standalone - name: .replica_set - display_name: Test RHEL8 py3.13 NoAuth NoSSL + - name: .sharded_cluster + display_name: Test RHEL8 pypy3.10 NoAuth NoSSL run_on: - rhel87-small expansions: AUTH: noauth SSL: nossl - PYTHON_BINARY: /opt/python/3.13/bin/python3 -- name: test-rhel8-pypy3.9-auth-ssl + PYTHON_BINARY: /opt/python/pypy3.10/bin/python3 +- name: test-rhel8-py3.10-auth-ssl tasks: - - name: .sharded_cluster - name: .standalone - - name: .replica_set - display_name: Test RHEL8 pypy3.9 Auth SSL + display_name: Test RHEL8 py3.10 Auth SSL run_on: - rhel87-small expansions: AUTH: auth SSL: ssl - PYTHON_BINARY: /opt/python/pypy3.9/bin/python3 -- name: test-rhel8-pypy3.9-noauth-nossl + PYTHON_BINARY: /opt/python/3.10/bin/python3 +- name: test-rhel8-py3.11-noauth-ssl tasks: - - name: .sharded_cluster - - name: .standalone - name: .replica_set - display_name: Test RHEL8 pypy3.9 NoAuth NoSSL + display_name: Test RHEL8 py3.11 NoAuth SSL run_on: - rhel87-small expansions: AUTH: noauth - SSL: nossl - PYTHON_BINARY: /opt/python/pypy3.9/bin/python3 -- name: test-rhel8-pypy3.10-auth-ssl + SSL: ssl + PYTHON_BINARY: /opt/python/3.11/bin/python3 +- name: test-rhel8-py3.12-noauth-nossl tasks: - name: .sharded_cluster - - name: .standalone - - name: .replica_set - display_name: Test RHEL8 pypy3.10 Auth SSL + display_name: Test RHEL8 py3.12 NoAuth NoSSL run_on: - rhel87-small expansions: - AUTH: auth - SSL: ssl - PYTHON_BINARY: /opt/python/pypy3.10/bin/python3 -- name: test-rhel8-pypy3.10-noauth-nossl + AUTH: noauth + SSL: nossl + PYTHON_BINARY: /opt/python/3.12/bin/python3 +- name: test-rhel8-pypy3.9-auth-ssl tasks: - - name: .sharded_cluster - name: .standalone - - name: .replica_set - display_name: Test RHEL8 pypy3.10 NoAuth NoSSL + display_name: Test RHEL8 pypy3.9 Auth SSL run_on: - rhel87-small expansions: - AUTH: noauth - SSL: nossl - PYTHON_BINARY: /opt/python/pypy3.10/bin/python3 + AUTH: auth + SSL: ssl + PYTHON_BINARY: /opt/python/pypy3.9/bin/python3 # Server tests for MacOS. - name: test-macos-py3.9-auth-ssl-sync tasks: - - name: .sharded_cluster + - name: .standalone display_name: Test macOS py3.9 Auth SSL Sync run_on: - macos-14 @@ -2585,7 +2565,7 @@ buildvariants: SKIP_CSOT_TESTS: "true" - name: test-macos-py3.9-auth-ssl-async tasks: - - name: .sharded_cluster + - name: .standalone display_name: Test macOS py3.9 Auth SSL Async run_on: - macos-14 @@ -2595,84 +2575,60 @@ buildvariants: TEST_SUITES: default_async PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.9/bin/python3 SKIP_CSOT_TESTS: "true" -- name: test-macos-py3.9-noauth-nossl-sync - tasks: - - name: .sharded_cluster - display_name: Test macOS py3.9 NoAuth NoSSL Sync - run_on: - - macos-14 - expansions: - AUTH: noauth - SSL: nossl - TEST_SUITES: default - PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.9/bin/python3 - SKIP_CSOT_TESTS: "true" -- name: test-macos-py3.9-noauth-nossl-async +- name: test-macos-py3.13-noauth-ssl-sync tasks: - - name: .sharded_cluster - display_name: Test macOS py3.9 NoAuth NoSSL Async + - name: .replica_set + display_name: Test macOS py3.13 NoAuth SSL Sync run_on: - macos-14 expansions: AUTH: noauth - SSL: nossl - TEST_SUITES: default_async - PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.9/bin/python3 - SKIP_CSOT_TESTS: "true" -- name: test-macos-py3.13-auth-ssl-sync - tasks: - - name: .sharded_cluster - display_name: Test macOS py3.13 Auth SSL Sync - run_on: - - macos-14 - expansions: - AUTH: auth SSL: ssl TEST_SUITES: default PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.13/bin/python3 SKIP_CSOT_TESTS: "true" -- name: test-macos-py3.13-auth-ssl-async +- name: test-macos-py3.13-noauth-ssl-async tasks: - - name: .sharded_cluster - display_name: Test macOS py3.13 Auth SSL Async + - name: .replica_set + display_name: Test macOS py3.13 NoAuth SSL Async run_on: - macos-14 expansions: - AUTH: auth + AUTH: noauth SSL: ssl TEST_SUITES: default_async PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.13/bin/python3 SKIP_CSOT_TESTS: "true" -- name: test-macos-py3.13-noauth-nossl-sync +- name: test-macos-py3.9-noauth-nossl-sync tasks: - name: .sharded_cluster - display_name: Test macOS py3.13 NoAuth NoSSL Sync + display_name: Test macOS py3.9 NoAuth NoSSL Sync run_on: - macos-14 expansions: AUTH: noauth SSL: nossl TEST_SUITES: default - PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.13/bin/python3 + PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.9/bin/python3 SKIP_CSOT_TESTS: "true" -- name: test-macos-py3.13-noauth-nossl-async +- name: test-macos-py3.9-noauth-nossl-async tasks: - name: .sharded_cluster - display_name: Test macOS py3.13 NoAuth NoSSL Async + display_name: Test macOS py3.9 NoAuth NoSSL Async run_on: - macos-14 expansions: AUTH: noauth SSL: nossl TEST_SUITES: default_async - PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.13/bin/python3 + PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.9/bin/python3 SKIP_CSOT_TESTS: "true" -# Server tests for macOS (arm). -- name: test-macos-arm-py3.9-auth-ssl-sync +# Server tests for macOS Arm64. +- name: test-macos-arm64-py3.9-auth-ssl-sync tasks: - - name: .sharded_cluster - display_name: Test macOS (arm) py3.9 Auth SSL Sync + - name: .standalone + display_name: Test macOS Arm64 py3.9 Auth SSL Sync run_on: - macos-14-arm64 expansions: @@ -2681,10 +2637,10 @@ buildvariants: TEST_SUITES: default PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.9/bin/python3 SKIP_CSOT_TESTS: "true" -- name: test-macos-arm-py3.9-auth-ssl-async +- name: test-macos-arm64-py3.9-auth-ssl-async tasks: - - name: .sharded_cluster - display_name: Test macOS (arm) py3.9 Auth SSL Async + - name: .standalone + display_name: Test macOS Arm64 py3.9 Auth SSL Async run_on: - macos-14-arm64 expansions: @@ -2693,84 +2649,60 @@ buildvariants: TEST_SUITES: default_async PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.9/bin/python3 SKIP_CSOT_TESTS: "true" -- name: test-macos-arm-py3.9-noauth-nossl-sync +- name: test-macos-arm64-py3.13-noauth-ssl-sync tasks: - - name: .sharded_cluster - display_name: Test macOS (arm) py3.9 NoAuth NoSSL Sync - run_on: - - macos-14-arm64 - expansions: - AUTH: noauth - SSL: nossl - TEST_SUITES: default - PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.9/bin/python3 - SKIP_CSOT_TESTS: "true" -- name: test-macos-arm-py3.9-noauth-nossl-async - tasks: - - name: .sharded_cluster - display_name: Test macOS (arm) py3.9 NoAuth NoSSL Async + - name: .replica_set + display_name: Test macOS Arm64 py3.13 NoAuth SSL Sync run_on: - macos-14-arm64 expansions: AUTH: noauth - SSL: nossl - TEST_SUITES: default_async - PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.9/bin/python3 - SKIP_CSOT_TESTS: "true" -- name: test-macos-arm-py3.13-auth-ssl-sync - tasks: - - name: .sharded_cluster - display_name: Test macOS (arm) py3.13 Auth SSL Sync - run_on: - - macos-14-arm64 - expansions: - AUTH: auth SSL: ssl TEST_SUITES: default PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.13/bin/python3 SKIP_CSOT_TESTS: "true" -- name: test-macos-arm-py3.13-auth-ssl-async +- name: test-macos-arm64-py3.13-noauth-ssl-async tasks: - - name: .sharded_cluster - display_name: Test macOS (arm) py3.13 Auth SSL Async + - name: .replica_set + display_name: Test macOS Arm64 py3.13 NoAuth SSL Async run_on: - macos-14-arm64 expansions: - AUTH: auth + AUTH: noauth SSL: ssl TEST_SUITES: default_async PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.13/bin/python3 SKIP_CSOT_TESTS: "true" -- name: test-macos-arm-py3.13-noauth-nossl-sync +- name: test-macos-arm64-py3.9-noauth-nossl-sync tasks: - name: .sharded_cluster - display_name: Test macOS (arm) py3.13 NoAuth NoSSL Sync + display_name: Test macOS Arm64 py3.9 NoAuth NoSSL Sync run_on: - macos-14-arm64 expansions: AUTH: noauth SSL: nossl TEST_SUITES: default - PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.13/bin/python3 + PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.9/bin/python3 SKIP_CSOT_TESTS: "true" -- name: test-macos-arm-py3.13-noauth-nossl-async +- name: test-macos-arm64-py3.9-noauth-nossl-async tasks: - name: .sharded_cluster - display_name: Test macOS (arm) py3.13 NoAuth NoSSL Async + display_name: Test macOS Arm64 py3.9 NoAuth NoSSL Async run_on: - macos-14-arm64 expansions: AUTH: noauth SSL: nossl TEST_SUITES: default_async - PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.13/bin/python3 + PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.9/bin/python3 SKIP_CSOT_TESTS: "true" # Server tests for Windows. -- name: test-win64-py-3.9-auth-ssl-sync +- name: test-win64-py3.9-auth-ssl-sync tasks: - - name: .sharded_cluster - display_name: Test Win64 py 3.9 Auth SSL Sync + - name: .standalone + display_name: Test Win64 py3.9 Auth SSL Sync run_on: - windows-64-vsMulti-small expansions: @@ -2779,10 +2711,10 @@ buildvariants: TEST_SUITES: default PYTHON_BINARY: C:/python/Python39/python.exe SKIP_CSOT_TESTS: "true" -- name: test-win64-py-3.9-auth-ssl-async +- name: test-win64-py3.9-auth-ssl-async tasks: - - name: .sharded_cluster - display_name: Test Win64 py 3.9 Auth SSL Async + - name: .standalone + display_name: Test Win64 py3.9 Auth SSL Async run_on: - windows-64-vsMulti-small expansions: @@ -2791,84 +2723,58 @@ buildvariants: TEST_SUITES: default_async PYTHON_BINARY: C:/python/Python39/python.exe SKIP_CSOT_TESTS: "true" -- name: test-win64-py-3.9-noauth-nossl-sync +- name: test-win64-py3.13-noauth-ssl-sync tasks: - - name: .sharded_cluster - display_name: Test Win64 py 3.9 NoAuth NoSSL Sync - run_on: - - windows-64-vsMulti-small - expansions: - AUTH: noauth - SSL: nossl - TEST_SUITES: default - PYTHON_BINARY: C:/python/Python39/python.exe - SKIP_CSOT_TESTS: "true" -- name: test-win64-py-3.9-noauth-nossl-async - tasks: - - name: .sharded_cluster - display_name: Test Win64 py 3.9 NoAuth NoSSL Async + - name: .replica_set + display_name: Test Win64 py3.13 NoAuth SSL Sync run_on: - windows-64-vsMulti-small expansions: AUTH: noauth - SSL: nossl - TEST_SUITES: default_async - PYTHON_BINARY: C:/python/Python39/python.exe - SKIP_CSOT_TESTS: "true" -- name: test-win64-py-3.13-auth-ssl-sync - tasks: - - name: .sharded_cluster - display_name: Test Win64 py 3.13 Auth SSL Sync - run_on: - - windows-64-vsMulti-small - expansions: - AUTH: auth SSL: ssl TEST_SUITES: default PYTHON_BINARY: C:/python/Python313/python.exe SKIP_CSOT_TESTS: "true" -- name: test-win64-py-3.13-auth-ssl-async +- name: test-win64-py3.13-noauth-ssl-async tasks: - - name: .sharded_cluster - display_name: Test Win64 py 3.13 Auth SSL Async + - name: .replica_set + display_name: Test Win64 py3.13 NoAuth SSL Async run_on: - windows-64-vsMulti-small expansions: - AUTH: auth + AUTH: noauth SSL: ssl TEST_SUITES: default_async PYTHON_BINARY: C:/python/Python313/python.exe SKIP_CSOT_TESTS: "true" -- name: test-win64-py-3.13-noauth-nossl-sync +- name: test-win64-py3.9-noauth-nossl-sync tasks: - name: .sharded_cluster - display_name: Test Win64 py 3.13 NoAuth NoSSL Sync + display_name: Test Win64 py3.9 NoAuth NoSSL Sync run_on: - windows-64-vsMulti-small expansions: AUTH: noauth SSL: nossl TEST_SUITES: default - PYTHON_BINARY: C:/python/Python313/python.exe + PYTHON_BINARY: C:/python/Python39/python.exe SKIP_CSOT_TESTS: "true" -- name: test-win64-py-3.13-noauth-nossl-async +- name: test-win64-py3.9-noauth-nossl-async tasks: - name: .sharded_cluster - display_name: Test Win64 py 3.13 NoAuth NoSSL Async + display_name: Test Win64 py3.9 NoAuth NoSSL Async run_on: - windows-64-vsMulti-small expansions: AUTH: noauth SSL: nossl TEST_SUITES: default_async - PYTHON_BINARY: C:/python/Python313/python.exe + PYTHON_BINARY: C:/python/Python39/python.exe SKIP_CSOT_TESTS: "true" - -# Server tests for Windows (32-bit). -- name: test-win64-32-bit-py3.9-auth-ssl-sync +- name: test-win32-py3.9-auth-ssl-sync tasks: - - name: .sharded_cluster - display_name: Test Win64 32-bit py3.9 Auth SSL Sync + - name: .standalone + display_name: Test Win32 py3.9 Auth SSL Sync run_on: - windows-64-vsMulti-small expansions: @@ -2877,10 +2783,12 @@ buildvariants: TEST_SUITES: default PYTHON_BINARY: C:/python/32/Python39/python.exe SKIP_CSOT_TESTS: "true" -- name: test-win64-32-bit-py3.9-auth-ssl-async + +# Server tests for Win32. +- name: test-win32-py3.9-auth-ssl-async tasks: - - name: .sharded_cluster - display_name: Test Win64 32-bit py3.9 Auth SSL Async + - name: .standalone + display_name: Test Win32 py3.9 Auth SSL Async run_on: - windows-64-vsMulti-small expansions: @@ -2889,77 +2797,53 @@ buildvariants: TEST_SUITES: default_async PYTHON_BINARY: C:/python/32/Python39/python.exe SKIP_CSOT_TESTS: "true" -- name: test-win64-32-bit-py3.9-noauth-nossl-sync - tasks: - - name: .sharded_cluster - display_name: Test Win64 32-bit py3.9 NoAuth NoSSL Sync - run_on: - - windows-64-vsMulti-small - expansions: - AUTH: noauth - SSL: nossl - TEST_SUITES: default - PYTHON_BINARY: C:/python/32/Python39/python.exe - SKIP_CSOT_TESTS: "true" -- name: test-win64-32-bit-py3.9-noauth-nossl-async +- name: test-win32-py3.13-noauth-ssl-sync tasks: - - name: .sharded_cluster - display_name: Test Win64 32-bit py3.9 NoAuth NoSSL Async + - name: .replica_set + display_name: Test Win32 py3.13 NoAuth SSL Sync run_on: - windows-64-vsMulti-small expansions: AUTH: noauth - SSL: nossl - TEST_SUITES: default_async - PYTHON_BINARY: C:/python/32/Python39/python.exe - SKIP_CSOT_TESTS: "true" -- name: test-win64-32-bit-py3.13-auth-ssl-sync - tasks: - - name: .sharded_cluster - display_name: Test Win64 32-bit py3.13 Auth SSL Sync - run_on: - - windows-64-vsMulti-small - expansions: - AUTH: auth SSL: ssl TEST_SUITES: default PYTHON_BINARY: C:/python/32/Python313/python.exe SKIP_CSOT_TESTS: "true" -- name: test-win64-32-bit-py3.13-auth-ssl-async +- name: test-win32-py3.13-noauth-ssl-async tasks: - - name: .sharded_cluster - display_name: Test Win64 32-bit py3.13 Auth SSL Async + - name: .replica_set + display_name: Test Win32 py3.13 NoAuth SSL Async run_on: - windows-64-vsMulti-small expansions: - AUTH: auth + AUTH: noauth SSL: ssl TEST_SUITES: default_async PYTHON_BINARY: C:/python/32/Python313/python.exe SKIP_CSOT_TESTS: "true" -- name: test-win64-32-bit-py3.13-noauth-nossl-sync +- name: test-win32-py3.9-noauth-nossl-sync tasks: - name: .sharded_cluster - display_name: Test Win64 32-bit py3.13 NoAuth NoSSL Sync + display_name: Test Win32 py3.9 NoAuth NoSSL Sync run_on: - windows-64-vsMulti-small expansions: AUTH: noauth SSL: nossl TEST_SUITES: default - PYTHON_BINARY: C:/python/32/Python313/python.exe + PYTHON_BINARY: C:/python/32/Python39/python.exe SKIP_CSOT_TESTS: "true" -- name: test-win64-32-bit-py3.13-noauth-nossl-async +- name: test-win32-py3.9-noauth-nossl-async tasks: - name: .sharded_cluster - display_name: Test Win64 32-bit py3.13 NoAuth NoSSL Async + display_name: Test Win32 py3.9 NoAuth NoSSL Async run_on: - windows-64-vsMulti-small expansions: AUTH: noauth SSL: nossl TEST_SUITES: default_async - PYTHON_BINARY: C:/python/32/Python313/python.exe + PYTHON_BINARY: C:/python/32/Python39/python.exe SKIP_CSOT_TESTS: "true" - matrix_name: "tests-fips" diff --git a/.evergreen/scripts/generate_config.py b/.evergreen/scripts/generate_config.py index 7422016551..3928edd66c 100644 --- a/.evergreen/scripts/generate_config.py +++ b/.evergreen/scripts/generate_config.py @@ -28,7 +28,8 @@ ALL_PYTHONS = CPYTHONS + PYPYS MIN_MAX_PYTHON = [CPYTHONS[0], CPYTHONS[-1]] BATCHTIME_WEEK = 10080 -AUTH_SSLS = [("auth", "ssl"), ("noauth", "nossl")] +AUTH_SSLS = [("auth", "ssl"), ("noauth", "ssl"), ("noauth", "nossl")] +TOPOLOGIES = ["standalone", "replica_set", "sharded_cluster"] SYNCS = ["sync", "async"] DISPLAY_LOOKUP = dict( ssl=dict(ssl="SSL", nossl="NoSSL"), @@ -52,8 +53,9 @@ class Host: HOSTS["rhel8"] = Host("rhel8", "rhel87-small", "RHEL8", dict()) HOSTS["win64"] = Host("win64", "windows-64-vsMulti-small", "Win64", _macos_expansions) +HOSTS["win32"] = Host("win32", "windows-64-vsMulti-small", "Win32", _macos_expansions) HOSTS["macos"] = Host("macos", "macos-14", "macOS", _macos_expansions) -HOSTS["macos-arm64"] = Host("macos-arm64", "macos-14-arm64", "macOS (arm)", _macos_expansions) +HOSTS["macos-arm64"] = Host("macos-arm64", "macos-14-arm64", "macOS Arm64", _macos_expansions) ############## @@ -76,7 +78,7 @@ def create_variant( expansions = kwargs.pop("expansions", dict()).copy() host = host or "rhel8" run_on = [HOSTS[host].run_on] - name = display_name.replace(" ", "-").replace("(", "").replace(")", "").lower() + name = display_name.replace(" ", "-").lower() if python: expansions["PYTHON_BINARY"] = get_python_binary(python, host) if version: @@ -95,10 +97,8 @@ def create_variant( def get_python_binary(python: str, host: str) -> str: """Get the appropriate python binary given a python version and host.""" - if host == "win64": - is_32 = python.startswith("32-bit") - if is_32: - _, python = python.split() + if host in ["win64", "win32"]: + if host == "win32": base = "C:/python/32" else: base = "C:/python" @@ -124,10 +124,7 @@ def get_display_name(base: str, host: str, **kwargs) -> str: name = f"v{value}" elif key == "python": if not value.startswith("pypy"): - if value.startswith("32-bit "): - name = "32-bit py" + value.split()[-1] - else: - name = f"py{value}" + name = f"py{value}" elif key.lower() in DISPLAY_LOOKUP: name = DISPLAY_LOOKUP[key.lower()][value] else: @@ -143,6 +140,15 @@ def zip_cycle(*iterables, empty_default=None): yield tuple(next(i, empty_default) for i in cycles) +def generate_yaml(tasks=None, variants=None): + """Generate the yaml for a given set of tasks and variants.""" + project = EvgProject(tasks=tasks, buildvariants=variants) + out = ShrubService.generate_yaml(project) + # Dedent by two spaces to match what we use in config.yml + lines = [line[2:] for line in out.splitlines()] + print("\n".join(lines)) # noqa: T201 + + ############## # Variants ############## @@ -190,13 +196,14 @@ def create_ocsp_variants() -> list[BuildVariant]: def create_server_variants() -> list[BuildVariant]: variants = [] + # Run the full matrix on linux with min and max CPython, and latest pypy. host = "rhel8" - for python, (auth, ssl) in product(ALL_PYTHONS, AUTH_SSLS): + for python, (auth, ssl) in product([*MIN_MAX_PYTHON, PYPYS[-1]], AUTH_SSLS): display_name = f"Test {host}" expansions = dict(AUTH=auth, SSL=ssl) display_name = get_display_name("Test", host, python=python, **expansions) variant = create_variant( - [".sharded_cluster", ".standalone", ".replica_set"], + [f".{t}" for t in TOPOLOGIES], display_name, python=python, host=host, @@ -204,14 +211,15 @@ def create_server_variants() -> list[BuildVariant]: ) variants.append(variant) - for host, python, (auth, ssl), sync in product( - ["macos", "macos-arm64"], MIN_MAX_PYTHON, AUTH_SSLS, SYNCS + # Test the rest of the pythons on linux. + for python, (auth, ssl), topology in zip_cycle( + CPYTHONS[1:-1] + PYPYS[:-1], AUTH_SSLS, TOPOLOGIES ): - test_suite = "default" if sync == "sync" else "default_async" - expansions = dict(AUTH=auth, SSL=ssl, TEST_SUITES=test_suite) + display_name = f"Test {host}" + expansions = dict(AUTH=auth, SSL=ssl) display_name = get_display_name("Test", host, python=python, **expansions) variant = create_variant( - [".sharded_cluster"], + [f".{topology}"], display_name, python=python, host=host, @@ -219,22 +227,23 @@ def create_server_variants() -> list[BuildVariant]: ) variants.append(variant) - host = "win64" - for prefix, base, (auth, ssl), sync in product( - ["", "32-bit "], MIN_MAX_PYTHON, AUTH_SSLS, SYNCS - ): - python = f"{prefix}{base}" - test_suite = "default" if sync == "sync" else "default_async" - expansions = dict(AUTH=auth, SSL=ssl, TEST_SUITES=test_suite) - display_name = get_display_name("Test", host, python=python, **expansions) - variant = create_variant( - [".sharded_cluster"], - display_name, - python=python, - host=host, - expansions=expansions, - ) - variants.append(variant) + # Test a subset on each of the other platforms. + for host in ("macos", "macos-arm64", "win64", "win32"): + for (python, (auth, ssl), topology), sync in product( + zip_cycle(MIN_MAX_PYTHON, AUTH_SSLS, TOPOLOGIES), SYNCS + ): + test_suite = "default" if sync == "sync" else "default_async" + expansions = dict(AUTH=auth, SSL=ssl, TEST_SUITES=test_suite) + display_name = get_display_name("Test", host, python=python, **expansions) + variant = create_variant( + [f".{topology}"], + display_name, + python=python, + host=host, + expansions=expansions, + ) + variants.append(variant) + return variants @@ -242,5 +251,4 @@ def create_server_variants() -> list[BuildVariant]: # Generate Config ################## -project = EvgProject(tasks=None, buildvariants=create_server_variants()) -print(ShrubService.generate_yaml(project)) # noqa: T201 +generate_yaml(variants=create_server_variants()) From 81b0216540c93daab5c21183fb338eb35ab6b868 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Tue, 15 Oct 2024 10:49:38 -0500 Subject: [PATCH 8/9] add coverage handling --- .evergreen/config.yml | 54 ++++++++++++++++++--------- .evergreen/scripts/generate_config.py | 4 +- 2 files changed, 39 insertions(+), 19 deletions(-) diff --git a/.evergreen/config.yml b/.evergreen/config.yml index 13139177ac..c3427e66d0 100644 --- a/.evergreen/config.yml +++ b/.evergreen/config.yml @@ -2401,114 +2401,132 @@ axes: buildvariants: # Server Tests for RHEL8. -- name: test-rhel8-py3.9-auth-ssl +- name: test-rhel8-py3.9-auth-ssl-cov tasks: - name: .standalone - name: .replica_set - name: .sharded_cluster - display_name: Test RHEL8 py3.9 Auth SSL + display_name: Test RHEL8 py3.9 Auth SSL cov run_on: - rhel87-small expansions: AUTH: auth SSL: ssl + COVERAGE: coverage PYTHON_BINARY: /opt/python/3.9/bin/python3 -- name: test-rhel8-py3.9-noauth-ssl + tags: [coverage_tag] +- name: test-rhel8-py3.9-noauth-ssl-cov tasks: - name: .standalone - name: .replica_set - name: .sharded_cluster - display_name: Test RHEL8 py3.9 NoAuth SSL + display_name: Test RHEL8 py3.9 NoAuth SSL cov run_on: - rhel87-small expansions: AUTH: noauth SSL: ssl + COVERAGE: coverage PYTHON_BINARY: /opt/python/3.9/bin/python3 -- name: test-rhel8-py3.9-noauth-nossl + tags: [coverage_tag] +- name: test-rhel8-py3.9-noauth-nossl-cov tasks: - name: .standalone - name: .replica_set - name: .sharded_cluster - display_name: Test RHEL8 py3.9 NoAuth NoSSL + display_name: Test RHEL8 py3.9 NoAuth NoSSL cov run_on: - rhel87-small expansions: AUTH: noauth SSL: nossl + COVERAGE: coverage PYTHON_BINARY: /opt/python/3.9/bin/python3 -- name: test-rhel8-py3.13-auth-ssl + tags: [coverage_tag] +- name: test-rhel8-py3.13-auth-ssl-cov tasks: - name: .standalone - name: .replica_set - name: .sharded_cluster - display_name: Test RHEL8 py3.13 Auth SSL + display_name: Test RHEL8 py3.13 Auth SSL cov run_on: - rhel87-small expansions: AUTH: auth SSL: ssl + COVERAGE: coverage PYTHON_BINARY: /opt/python/3.13/bin/python3 -- name: test-rhel8-py3.13-noauth-ssl + tags: [coverage_tag] +- name: test-rhel8-py3.13-noauth-ssl-cov tasks: - name: .standalone - name: .replica_set - name: .sharded_cluster - display_name: Test RHEL8 py3.13 NoAuth SSL + display_name: Test RHEL8 py3.13 NoAuth SSL cov run_on: - rhel87-small expansions: AUTH: noauth SSL: ssl + COVERAGE: coverage PYTHON_BINARY: /opt/python/3.13/bin/python3 -- name: test-rhel8-py3.13-noauth-nossl + tags: [coverage_tag] +- name: test-rhel8-py3.13-noauth-nossl-cov tasks: - name: .standalone - name: .replica_set - name: .sharded_cluster - display_name: Test RHEL8 py3.13 NoAuth NoSSL + display_name: Test RHEL8 py3.13 NoAuth NoSSL cov run_on: - rhel87-small expansions: AUTH: noauth SSL: nossl + COVERAGE: coverage PYTHON_BINARY: /opt/python/3.13/bin/python3 -- name: test-rhel8-pypy3.10-auth-ssl + tags: [coverage_tag] +- name: test-rhel8-pypy3.10-auth-ssl-cov tasks: - name: .standalone - name: .replica_set - name: .sharded_cluster - display_name: Test RHEL8 pypy3.10 Auth SSL + display_name: Test RHEL8 pypy3.10 Auth SSL cov run_on: - rhel87-small expansions: AUTH: auth SSL: ssl + COVERAGE: coverage PYTHON_BINARY: /opt/python/pypy3.10/bin/python3 -- name: test-rhel8-pypy3.10-noauth-ssl + tags: [coverage_tag] +- name: test-rhel8-pypy3.10-noauth-ssl-cov tasks: - name: .standalone - name: .replica_set - name: .sharded_cluster - display_name: Test RHEL8 pypy3.10 NoAuth SSL + display_name: Test RHEL8 pypy3.10 NoAuth SSL cov run_on: - rhel87-small expansions: AUTH: noauth SSL: ssl + COVERAGE: coverage PYTHON_BINARY: /opt/python/pypy3.10/bin/python3 -- name: test-rhel8-pypy3.10-noauth-nossl + tags: [coverage_tag] +- name: test-rhel8-pypy3.10-noauth-nossl-cov tasks: - name: .standalone - name: .replica_set - name: .sharded_cluster - display_name: Test RHEL8 pypy3.10 NoAuth NoSSL + display_name: Test RHEL8 pypy3.10 NoAuth NoSSL cov run_on: - rhel87-small expansions: AUTH: noauth SSL: nossl + COVERAGE: coverage PYTHON_BINARY: /opt/python/pypy3.10/bin/python3 + tags: [coverage_tag] - name: test-rhel8-py3.10-auth-ssl tasks: - name: .standalone diff --git a/.evergreen/scripts/generate_config.py b/.evergreen/scripts/generate_config.py index 3928edd66c..044303ad8f 100644 --- a/.evergreen/scripts/generate_config.py +++ b/.evergreen/scripts/generate_config.py @@ -35,6 +35,7 @@ ssl=dict(ssl="SSL", nossl="NoSSL"), auth=dict(auth="Auth", noauth="NoAuth"), test_suites=dict(default="Sync", default_async="Async"), + coverage=dict(coverage="cov"), ) HOSTS = dict() @@ -200,13 +201,14 @@ def create_server_variants() -> list[BuildVariant]: host = "rhel8" for python, (auth, ssl) in product([*MIN_MAX_PYTHON, PYPYS[-1]], AUTH_SSLS): display_name = f"Test {host}" - expansions = dict(AUTH=auth, SSL=ssl) + expansions = dict(AUTH=auth, SSL=ssl, COVERAGE="coverage") display_name = get_display_name("Test", host, python=python, **expansions) variant = create_variant( [f".{t}" for t in TOPOLOGIES], display_name, python=python, host=host, + tags=["coverage_tag"], expansions=expansions, ) variants.append(variant) From a3a121ee6e189f5ddab3ad730083dcb15757d3df Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Tue, 15 Oct 2024 10:58:11 -0500 Subject: [PATCH 9/9] use absolute path for hatch data --- .evergreen/hatch.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.evergreen/hatch.sh b/.evergreen/hatch.sh index 6f3d36b389..45d5113cd6 100644 --- a/.evergreen/hatch.sh +++ b/.evergreen/hatch.sh @@ -34,8 +34,8 @@ else # Set up virtualenv before installing hatch fi export HATCH_CONFIG hatch config restore - hatch config set dirs.data ".hatch/data" - hatch config set dirs.cache ".hatch/cache" + hatch config set dirs.data "$(pwd)/.hatch/data" + hatch config set dirs.cache "$(pwd)/.hatch/cache" run_hatch() { python -m hatch run "$@"