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
190 changes: 59 additions & 131 deletions .evergreen/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1990,99 +1990,6 @@ tasks:
- mongo-python-driver
- ${github_commit}

axes:
# Choice of distro
- id: platform
display_name: OS
values:
- id: rhel8
display_name: "RHEL 8.x"
run_on: rhel8.8-small
batchtime: 10080 # 7 days
- id: windows
display_name: "Windows 64"
run_on: windows-64-vsMulti-small
batchtime: 10080 # 7 days
- id: macos
display_name: "macOS"
run_on: macos-14

# Test with authentication?
- id: auth
display_name: Authentication
values:
- id: auth
display_name: Auth
variables:
AUTH: "auth"
- id: noauth
display_name: NoAuth
variables:
AUTH: "noauth"

# Test with SSL?
- id: ssl
display_name: SSL
values:
- id: ssl
display_name: SSL
variables:
SSL: "ssl"
- id: nossl
display_name: NoSSL
variables:
SSL: "nossl"

# Test with Auth + SSL (combined for convenience)?
- id: auth-ssl
display_name: Auth SSL
values:
- id: auth-ssl
display_name: Auth SSL
variables:
AUTH: "auth"
SSL: "ssl"
- id: noauth-nossl
display_name: NoAuth NoSSL
variables:
AUTH: "noauth"
SSL: "nossl"

# Choice of Python runtime version
- id: python-version
display_name: "Python"
values:
# Note: always display platform with python-version to avoid ambiguous display names.
# Linux
- id: "3.9"
display_name: "Python 3.9"
variables:
PYTHON_BINARY: "/opt/python/3.9/bin/python3"
- id: "3.10"
display_name: "Python 3.10"
variables:
PYTHON_BINARY: "/opt/python/3.10/bin/python3"
- id: "3.11"
display_name: "Python 3.11"
variables:
PYTHON_BINARY: "/opt/python/3.11/bin/python3"
- id: "3.12"
display_name: "Python 3.12"
variables:
PYTHON_BINARY: "/opt/python/3.12/bin/python3"
- id: "3.13"
display_name: "Python 3.13"
variables:
PYTHON_BINARY: "/opt/python/3.13/bin/python3"
- id: "pypy3.9"
display_name: "PyPy 3.9"
variables:
PYTHON_BINARY: "/opt/python/pypy3.9/bin/pypy3"
- id: "pypy3.10"
display_name: "PyPy 3.10"
variables:
PYTHON_BINARY: "/opt/python/pypy3.10/bin/pypy3"

buildvariants:
# Server Tests.
- name: test-rhel8-py3.9-auth-ssl-cov
Expand Down Expand Up @@ -3970,30 +3877,67 @@ buildvariants:
SKIP_HATCH: "true"
AUTH: noauth
SSL: nossl

- matrix_name: "test-search-index-helpers"
matrix_spec:
platform: rhel8
python-version: "3.9"
display_name: "Search Index Helpers ${platform}"
- name: oidc-auth-rhel8
tasks:
- name: "test_atlas_task_group_search_indexes"

- matrix_name: "mockupdb-tests"
matrix_spec:
platform: rhel8
python-version: 3.9
display_name: "MockupDB Tests"
- name: testoidc_task_group
display_name: OIDC Auth RHEL8
run_on:
- rhel87-small
batchtime: 20160
- name: oidc-auth-macos
tasks:
- name: "mockupdb"

- matrix_name: "tests-doctests"
matrix_spec:
platform: rhel8
python-version: ["3.9"]
display_name: "Doctests ${python-version} ${platform}"
- name: testoidc_task_group
display_name: OIDC Auth macOS
run_on:
- macos-14
batchtime: 20160
- name: oidc-auth-win64
tasks:
- name: "doctests"
- name: testoidc_task_group
display_name: OIDC Auth Win64
run_on:
- windows-64-vsMulti-small
batchtime: 20160
- name: atlas-connect-rhel8-py3.9
tasks:
- name: atlas-connect
display_name: Atlas connect RHEL8 py3.9
run_on:
- rhel87-small
expansions:
PYTHON_BINARY: /opt/python/3.9/bin/python3
- name: atlas-connect-rhel8-py3.13
tasks:
- name: atlas-connect
display_name: Atlas connect RHEL8 py3.13
run_on:
- rhel87-small
expansions:
PYTHON_BINARY: /opt/python/3.13/bin/python3
- name: doctests-rhel8-py3.9
tasks:
- name: doctests
display_name: Doctests RHEL8 py3.9
run_on:
- rhel87-small
expansions:
PYTHON_BINARY: /opt/python/3.9/bin/python3
- name: mockupdb-tests-rhel8-py3.9
tasks:
- name: mockupdb
display_name: MockupDB Tests RHEL8 py3.9
run_on:
- rhel87-small
expansions:
PYTHON_BINARY: /opt/python/3.9/bin/python3
- name: search-index-helpers-rhel8-py3.9
tasks:
- name: test_atlas_task_group_search_indexes
display_name: Search Index Helpers RHEL8 py3.9
run_on:
- rhel87-small
expansions:
PYTHON_BINARY: /opt/python/3.9/bin/python3

- name: "no-server"
display_name: "No server test"
Expand All @@ -4009,15 +3953,7 @@ buildvariants:
tasks:
- name: "coverage-report"

- matrix_name: "atlas-connect"
matrix_spec:
platform: rhel8
python-version: "*"
display_name: "Atlas connect ${python-version} ${platform}"
tasks:
- name: "atlas-connect"

# OCSP test matrix.
# OCSP tests.
- name: ocsp-test-rhel8-v4.4-py3.9
tasks:
- name: .ocsp
Expand Down Expand Up @@ -4359,14 +4295,6 @@ buildvariants:
test_loadbalancer: "true"
PYTHON_BINARY: /opt/python/3.9/bin/python3

- matrix_name: "oidc-auth-test"
matrix_spec:
platform: [ rhel8, macos, windows ]
display_name: "OIDC Auth ${platform}"
tasks:
- name: testoidc_task_group
batchtime: 20160 # 14 days

- name: testazureoidc-variant
display_name: "OIDC Auth Azure"
run_on: ubuntu2204-small
Expand Down
69 changes: 68 additions & 1 deletion .evergreen/scripts/generate_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ class Host:
HOSTS["ubuntu22"] = Host("ubuntu22", "ubuntu2204-small", "Ubuntu-22")
HOSTS["rhel7"] = Host("rhel7", "rhel79-small", "RHEL7")


##############
# Helpers
##############
Expand Down Expand Up @@ -616,6 +617,72 @@ def generate_serverless_variants():
]


def generate_oidc_auth_variants():
variants = []
for host in ["rhel8", "macos", "win64"]:
variants.append(
create_variant(
["testoidc_task_group"],
get_display_name("OIDC Auth", host),
host=host,
batchtime=BATCHTIME_WEEK * 2,
)
)
return variants


def generate_search_index_variants():
host = "rhel8"
python = CPYTHONS[0]
return [
create_variant(
["test_atlas_task_group_search_indexes"],
get_display_name("Search Index Helpers", host, python=python),
python=python,
host=host,
)
]


def generate_mockupdb_variants():
host = "rhel8"
python = CPYTHONS[0]
return [
create_variant(
["mockupdb"],
get_display_name("MockupDB Tests", host, python=python),
python=python,
host=host,
)
]


def generate_doctests_variants():
host = "rhel8"
python = CPYTHONS[0]
return [
create_variant(
["doctests"],
get_display_name("Doctests", host, python=python),
python=python,
host=host,
)
]


def generate_atlas_connect_variants():
host = "rhel8"
return [
create_variant(
["atlas-connect"],
get_display_name("Atlas connect", host, python=python),
python=python,
host=host,
)
for python in MIN_MAX_PYTHON
]


def generate_aws_auth_variants():
variants = []
tasks = [
Expand Down Expand Up @@ -689,5 +756,5 @@ def generate_alternative_hosts_variants():
# Generate Config
##################

variants = generate_alternative_hosts_variants()
variants = generate_search_index_variants()
generate_yaml(variants=variants)
Loading