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
201 changes: 65 additions & 136 deletions .evergreen/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2112,47 +2112,6 @@ axes:
AUTH: "noauth"
SSL: "nossl"

# Choice of MongoDB server version
- id: mongodb-version
display_name: "MongoDB"
values:
- id: "4.0"
display_name: "MongoDB 4.0"
variables:
VERSION: "4.0"
- id: "4.2"
display_name: "MongoDB 4.2"
variables:
VERSION: "4.2"
- id: "4.4"
display_name: "MongoDB 4.4"
variables:
VERSION: "4.4"
- id: "5.0"
display_name: "MongoDB 5.0"
variables:
VERSION: "5.0"
- id: "6.0"
display_name: "MongoDB 6.0"
variables:
VERSION: "6.0"
- id: "7.0"
display_name: "MongoDB 7.0"
variables:
VERSION: "7.0"
- id: "8.0"
display_name: "MongoDB 8.0"
variables:
VERSION: "8.0"
- id: "latest"
display_name: "MongoDB latest"
variables:
VERSION: "latest"
- id: "rapid"
display_name: "MongoDB rapid"
variables:
VERSION: "rapid"

# Choice of Python runtime version
- id: python-version
display_name: "Python"
Expand Down Expand Up @@ -2212,69 +2171,6 @@ axes:
variables:
PYTHON_BINARY: "C:/python/Python313/python.exe"

- id: python-version-windows-32
display_name: "Python"
values:


- id: "3.9"
display_name: "32-bit Python 3.9"
variables:
PYTHON_BINARY: "C:/python/32/Python39/python.exe"
- id: "3.10"
display_name: "32-bit Python 3.10"
variables:
PYTHON_BINARY: "C:/python/32/Python310/python.exe"
- id: "3.11"
display_name: "32-bit Python 3.11"
variables:
PYTHON_BINARY: "C:/python/32/Python311/python.exe"
- id: "3.12"
display_name: "32-bit Python 3.12"
variables:
PYTHON_BINARY: "C:/python/32/Python312/python.exe"
- id: "3.13"
display_name: "32-bit Python 3.13"
variables:
PYTHON_BINARY: "C:/python/32/Python313/python.exe"

# Choice of mod_wsgi version
- id: mod-wsgi-version
display_name: "mod_wsgi version"
values:
- id: "4"
display_name: "mod_wsgi 4.x"
variables:
MOD_WSGI_VERSION: "4"

# Run with test commands disabled on server?
- id: disableTestCommands
display_name: Disable test commands
values:
- id: disabled
display_name: disabled
variables:
DISABLE_TEST_COMMANDS: "1"

# Generate coverage report?
- id: coverage
display_name: "Coverage"
values:
- id: "coverage"
display_name: "Coverage"
tags: ["coverage_tag"]
variables:
COVERAGE: "coverage"

- id: serverless
display_name: "Serverless"
values:
- id: "enabled"
display_name: "Serverless"
variables:
test_serverless: true
batchtime: 10080 # 7 days

buildvariants:
# Server Tests for RHEL8.
- name: test-rhel8-py3.9-auth-ssl-cov
Expand Down Expand Up @@ -3530,6 +3426,71 @@ buildvariants:
expansions:
PYTHON_BINARY: /opt/python/3.13/bin/python3

# Mod_wsgi tests.
- name: mod_wsgi-ubuntu-22-py3.9
tasks:
- name: mod-wsgi-standalone
- name: mod-wsgi-replica-set
- name: mod-wsgi-embedded-mode-standalone
- name: mod-wsgi-embedded-mode-replica-set
display_name: mod_wsgi Ubuntu-22 py3.9
run_on:
- ubuntu2204-small
expansions:
MOD_WSGI_VERSION: "4"
PYTHON_BINARY: /opt/python/3.9/bin/python3
- name: mod_wsgi-ubuntu-22-py3.13
tasks:
- name: mod-wsgi-standalone
- name: mod-wsgi-replica-set
- name: mod-wsgi-embedded-mode-standalone
- name: mod-wsgi-embedded-mode-replica-set
display_name: mod_wsgi Ubuntu-22 py3.13
run_on:
- ubuntu2204-small
expansions:
MOD_WSGI_VERSION: "4"
PYTHON_BINARY: /opt/python/3.13/bin/python3

# Disable test commands variants.
- name: disable-test-commands-rhel8-py3.9
tasks:
- name: .latest
display_name: Disable test commands RHEL8 py3.9
run_on:
- rhel87-small
expansions:
AUTH: auth
SSL: ssl
DISABLE_TEST_COMMANDS: "1"
PYTHON_BINARY: /opt/python/3.9/bin/python3

# Serverless variants.
- name: serverless-rhel8-py3.9
tasks:
- name: serverless_task_group
display_name: Serverless RHEL8 py3.9
run_on:
- rhel87-small
batchtime: 10080
expansions:
test_serverless: "true"
AUTH: auth
SSL: ssl
PYTHON_BINARY: /opt/python/3.9/bin/python3
- name: serverless-rhel8-py3.13
tasks:
- name: serverless_task_group
display_name: Serverless RHEL8 py3.13
run_on:
- rhel87-small
batchtime: 10080
expansions:
test_serverless: "true"
AUTH: auth
SSL: ssl
PYTHON_BINARY: /opt/python/3.13/bin/python3

- matrix_name: "tests-fips"
matrix_spec:
platform:
Expand Down Expand Up @@ -3562,16 +3523,6 @@ buildvariants:
tasks:
- ".5.0"

# enableTestCommands=0 tests on RHEL 8.4 (x86_64) with Python 3.9.
- matrix_name: "test-disableTestCommands"
matrix_spec:
platform: rhel8
disableTestCommands: "*"
python-version: "3.9"
display_name: "Disable test commands ${python-version} ${platform}"
tasks:
- ".latest"

- matrix_name: "test-search-index-helpers"
matrix_spec:
platform: rhel8
Expand All @@ -3580,18 +3531,6 @@ buildvariants:
tasks:
- name: "test_atlas_task_group_search_indexes"

- matrix_name: "tests-mod-wsgi"
matrix_spec:
platform: ubuntu-22.04
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
mod-wsgi-version: "*"
display_name: "${mod-wsgi-version} ${python-version} ${platform}"
tasks:
- name: "mod-wsgi-standalone"
- name: "mod-wsgi-replica-set"
- name: "mod-wsgi-embedded-mode-standalone"
- name: "mod-wsgi-embedded-mode-replica-set"

- matrix_name: "mockupdb-tests"
matrix_spec:
platform: rhel8
Expand Down Expand Up @@ -3630,16 +3569,6 @@ buildvariants:
tasks:
- name: "atlas-connect"

- matrix_name: "serverless"
matrix_spec:
platform: rhel8
python-version: "*"
auth-ssl: auth-ssl
serverless: "enabled"
display_name: "${serverless} ${python-version} ${platform}"
tasks:
- "serverless_task_group"

# OCSP test matrix.
- name: ocsp-test-rhel8-v4.4-py3.9
tasks:
Expand Down
52 changes: 50 additions & 2 deletions .evergreen/scripts/generate_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ class Host:
HOSTS["win32"] = Host("win32", "windows-64-vsMulti-small", "Win32")
HOSTS["macos"] = Host("macos", "macos-14", "macOS")
HOSTS["macos-arm64"] = Host("macos-arm64", "macos-14-arm64", "macOS Arm64")
HOSTS["ubuntu22"] = Host("ubuntu22", "ubuntu2204-small", "Ubuntu-22")


##############
Expand Down Expand Up @@ -102,7 +103,7 @@ def get_python_binary(python: str, host: str) -> str:
python = python.replace(".", "")
return f"{base}/Python{python}/python.exe"

if host == "rhel8":
if host in ["rhel8", "ubuntu22"]:
return f"/opt/python/{python}/bin/python3"

if host in ["macos", "macos-arm64"]:
Expand Down Expand Up @@ -558,10 +559,57 @@ def generate_atlas_data_lake_variants():
return variants


def generate_mod_wsgi_variants():
variants = []
host = "ubuntu22"
tasks = [
"mod-wsgi-standalone",
"mod-wsgi-replica-set",
"mod-wsgi-embedded-mode-standalone",
"mod-wsgi-embedded-mode-replica-set",
]
expansions = dict(MOD_WSGI_VERSION="4")
for python in MIN_MAX_PYTHON:
display_name = get_display_name("mod_wsgi", host, python=python)
variant = create_variant(
tasks, display_name, host=host, python=python, expansions=expansions
)
variants.append(variant)
return variants


def generate_disable_test_commands_variants():
host = "rhel8"
expansions = dict(AUTH="auth", SSL="ssl", DISABLE_TEST_COMMANDS="1")
python = CPYTHONS[0]
display_name = get_display_name("Disable test commands", host, python=python)
tasks = [".latest"]
return [create_variant(tasks, display_name, host=host, python=python, expansions=expansions)]


def generate_serverless_variants():
host = "rhel8"
batchtime = BATCHTIME_WEEK
expansions = dict(test_serverless="true", AUTH="auth", SSL="ssl")
tasks = ["serverless_task_group"]
base_name = "Serverless"
return [
create_variant(
tasks,
get_display_name(base_name, host, python=python),
host=host,
python=python,
expansions=expansions,
batchtime=batchtime,
)
for python in MIN_MAX_PYTHON
]


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

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