Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
132 changes: 83 additions & 49 deletions .evergreen/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2247,19 +2247,6 @@ axes:
variables:
MOD_WSGI_VERSION: "4"

# Install and use the driver's C-extensions?
- id: c-extensions
display_name: "C Extensions"
values:
- id: "without-c-extensions"
display_name: "Without C Extensions"
variables:
NO_EXT: "1"
- id: "with-c-extensions"
display_name: "With C Extensions"
variables:
NO_EXT: ""

# Run with test commands disabled on server?
- id: disableTestCommands
display_name: Disable test commands
Expand Down Expand Up @@ -3460,6 +3447,89 @@ buildvariants:
SSL: ssl
PYTHON_BINARY: /opt/python/3.12/bin/python3

# No C Ext tests.
- name: no-c-ext-rhel8-py3.9
tasks:
- name: .standalone
display_name: No C Ext RHEL8 py3.9
run_on:
- rhel87-small
expansions:
NO_EXT: "1"
PYTHON_BINARY: /opt/python/3.9/bin/python3
- name: no-c-ext-rhel8-py3.10
tasks:
- name: .replica_set
display_name: No C Ext RHEL8 py3.10
run_on:
- rhel87-small
expansions:
NO_EXT: "1"
PYTHON_BINARY: /opt/python/3.10/bin/python3
- name: no-c-ext-rhel8-py3.11
tasks:
- name: .sharded_cluster
display_name: No C Ext RHEL8 py3.11
run_on:
- rhel87-small
expansions:
NO_EXT: "1"
PYTHON_BINARY: /opt/python/3.11/bin/python3
- name: no-c-ext-rhel8-py3.12
tasks:
- name: .standalone
display_name: No C Ext RHEL8 py3.12
run_on:
- rhel87-small
expansions:
NO_EXT: "1"
PYTHON_BINARY: /opt/python/3.12/bin/python3
- name: no-c-ext-rhel8-py3.13
tasks:
- name: .replica_set
display_name: No C Ext RHEL8 py3.13
run_on:
- rhel87-small
expansions:
NO_EXT: "1"
PYTHON_BINARY: /opt/python/3.13/bin/python3

# Atlas Data Lake tests.
- name: atlas-data-lake-rhel8-py3.9-no-c
tasks:
- name: atlas-data-lake-tests
display_name: Atlas Data Lake RHEL8 py3.9 No C
run_on:
- rhel87-small
expansions:
NO_EXT: "1"
PYTHON_BINARY: /opt/python/3.9/bin/python3
- name: atlas-data-lake-rhel8-py3.9
tasks:
- name: atlas-data-lake-tests
display_name: Atlas Data Lake RHEL8 py3.9
run_on:
- rhel87-small
expansions:
PYTHON_BINARY: /opt/python/3.9/bin/python3
- name: atlas-data-lake-rhel8-py3.13-no-c
tasks:
- name: atlas-data-lake-tests
display_name: Atlas Data Lake RHEL8 py3.13 No C
run_on:
- rhel87-small
expansions:
NO_EXT: "1"
PYTHON_BINARY: /opt/python/3.13/bin/python3
- name: atlas-data-lake-rhel8-py3.13
tasks:
- name: atlas-data-lake-tests
display_name: Atlas Data Lake RHEL8 py3.13
run_on:
- rhel87-small
expansions:
PYTHON_BINARY: /opt/python/3.13/bin/python3

- matrix_name: "tests-fips"
matrix_spec:
platform:
Expand All @@ -3482,32 +3552,6 @@ buildvariants:
tasks:
- ".6.0"

- matrix_name: "tests-python-version-rhel8-without-c-extensions"
matrix_spec:
platform: rhel8
python-version: "*"
c-extensions: without-c-extensions
auth-ssl: noauth-nossl
coverage: "*"
exclude_spec:
# These interpreters are always tested without extensions.
- platform: rhel8
python-version: ["pypy3.9", "pypy3.10"]
c-extensions: "*"
auth-ssl: "*"
coverage: "*"
display_name: "${c-extensions} ${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-python-version-supports-openssl-102-test-ssl"
matrix_spec:
platform: rhel7
Expand Down Expand Up @@ -3596,16 +3640,6 @@ buildvariants:
tasks:
- "serverless_task_group"

- matrix_name: "data-lake-spec-tests"
matrix_spec:
platform: ubuntu-22.04
python-version: ["3.9", "3.10"]
auth: "auth"
c-extensions: "*"
display_name: "Atlas Data Lake ${python-version} ${c-extensions}"
tasks:
- name: atlas-data-lake-tests

# OCSP test matrix.
- name: ocsp-test-rhel8-v4.4-py3.9
tasks:
Expand Down
32 changes: 31 additions & 1 deletion .evergreen/scripts/generate_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -528,10 +528,40 @@ def create_green_framework_variants():
return variants


def generate_no_c_ext_variants():
variants = []
host = "rhel8"
for python, topology in zip_cycle(CPYTHONS, TOPOLOGIES):
tasks = [f".{topology}"]
expansions = dict()
handle_c_ext(C_EXTS[0], expansions)
display_name = get_display_name("No C Ext", host, python=python)
variant = create_variant(
tasks, display_name, host=host, python=python, expansions=expansions
)
variants.append(variant)
return variants


def generate_atlas_data_lake_variants():
variants = []
host = "rhel8"
for python, c_ext in product(MIN_MAX_PYTHON, C_EXTS):
tasks = ["atlas-data-lake-tests"]
expansions = dict()
handle_c_ext(c_ext, expansions)
display_name = get_display_name("Atlas Data Lake", host, python=python, **expansions)
variant = create_variant(
tasks, display_name, host=host, python=python, expansions=expansions
)
variants.append(variant)
return variants


##################
# Generate Config
##################

variants = create_green_framework_variants()
variants = generate_atlas_data_lake_variants()
# print(len(variants))
generate_yaml(variants=variants)
Loading