PYTHON-2341 Migrate testing to Amazon1

Also fixes PYTHON-2008, testing mod_wsgi with newer Python versions.
Also adds PyPy 3.7 to the test matrix.
This commit is contained in:
Bernie Hackett 2021-02-23 14:39:18 -08:00
parent 99a4f28450
commit 87e76bda5d

View File

@ -1786,6 +1786,10 @@ axes:
display_name: "PyPy 3.6"
variables:
PYTHON_BINARY: "/opt/python/pypy3.6/bin/pypy3"
- id: "pypy3.7"
display_name: "PyPy 3.7"
variables:
PYTHON_BINARY: "/opt/python/pypy3.7/bin/pypy3"
- id: "system-python3"
display_name: "Python3"
variables:
@ -2099,16 +2103,15 @@ buildvariants:
- ".4.4"
- ".4.2"
- matrix_name: "tests-python-version-rhel62-test-ssl"
- matrix_name: "tests-python-version-amazon1-test-ssl"
matrix_spec:
platform: rhel62
# RHEL 6.2 does not support Python 3.7.x and later.
python-version: &rhel62-pythons ["3.6", "pypy3.6"]
platform: awslinux
python-version: &amazon1-pythons ["3.6", "3.7", "3.8", "3.9", "pypy3.6", "pypy3.7"]
auth: "*"
ssl: "*"
coverage: "*"
exclude_spec:
- platform: rhel62
- platform: awslinux
python-version: "*"
auth: "noauth"
ssl: "ssl"
@ -2139,7 +2142,7 @@ buildvariants:
- matrix_name: "tests-pyopenssl-pypy"
matrix_spec:
platform: debian92
python-version: ["pypy3.6"]
python-version: ["pypy3.6", "pypy3.7"]
auth: "auth"
ssl: "ssl"
pyopenssl: "*"
@ -2170,11 +2173,10 @@ buildvariants:
tasks:
- '.replica_set'
- matrix_name: "tests-python-version-rhel62-test-encryption"
- matrix_name: "tests-python-version-amazon1-test-encryption"
matrix_spec:
platform: rhel62
# RHEL 6.2 does not support Python 3.7.x and later.
python-version: ["3.6"]
platform: awslinux
python-version: ["3.6", "3.7", "3.8", "3.9"]
auth-ssl: noauth-nossl
# TODO: dependency error for 'coverage-report' task:
# dependency tests-python-version-rhel62-test-encryption_.../test-2.6-standalone is not present in the project config
@ -2186,56 +2188,40 @@ buildvariants:
- matrix_name: "tests-pypy-debian-test-encryption"
matrix_spec:
platform: debian92
python-version: ["pypy3.6"]
python-version: ["pypy3.6", "pypy3.7"]
auth-ssl: noauth-nossl
encryption: "*"
display_name: "Encryption ${python-version} ${platform} ${auth-ssl}"
tasks: *encryption-server-versions
- matrix_name: "tests-python-version-rhel62-without-c-extensions"
- matrix_name: "tests-python-version-amazon1-without-c-extensions"
matrix_spec:
platform: rhel62
python-version: *rhel62-pythons
platform: awslinux
python-version: *amazon1-pythons
c-extensions: without-c-extensions
auth-ssl: noauth-nossl
coverage: "*"
exclude_spec:
# These interpreters are always tested without extensions.
- platform: rhel62
python-version: ["pypy3.6"]
- platform: awslinux
python-version: ["pypy3.6", "pypy3.7"]
c-extensions: "*"
auth-ssl: "*"
coverage: "*"
display_name: "${c-extensions} ${python-version} ${platform} ${auth} ${ssl} ${coverage}"
tasks: *all-server-versions
- matrix_name: "tests-python-version-ubuntu1604-without-c-extensions"
matrix_spec:
platform: ubuntu-16.04
python-version: &openssl-102-plus-pythons ["3.7", "3.8", "3.9"]
c-extensions: without-c-extensions
auth-ssl: noauth-nossl
display_name: "${c-extensions} ${python-version} ${platform} ${auth} ${ssl} ${coverage}"
tasks:
- ".latest"
- ".4.4"
- ".4.2"
- ".4.0"
- ".3.6"
- ".3.4"
- ".3.2"
- matrix_name: "tests-python-version-ubuntu16-compression"
matrix_spec:
# Ubuntu 16.04 images have libsnappy-dev installed, and provides OpenSSL 1.0.2 for testing Python 3.7
platform: ubuntu-16.04
python-version: ["3.6", "3.7", "3.8", "3.9", "pypy3.6"]
python-version: ["3.6", "3.7", "3.8", "3.9", "pypy3.6", "pypy3.7"]
c-extensions: "*"
compression: "*"
exclude_spec:
# These interpreters are always tested without extensions.
- platform: ubuntu-16.04
python-version: ["pypy3.6"]
python-version: ["pypy3.6", "pypy3.7"]
c-extensions: "with-c-extensions"
compression: "*"
# PYTHON-2365 Some tests fail with CPython 3.8+ and python-snappy
@ -2259,16 +2245,16 @@ buildvariants:
- "test-4.0-standalone"
- "test-3.6-standalone"
- matrix_name: "tests-python-version-green-framework-rhel62"
- matrix_name: "tests-python-version-green-framework-amazon1"
matrix_spec:
platform: rhel62
python-version: *rhel62-pythons
platform: awslinux
python-version: *amazon1-pythons
green-framework: "*"
auth-ssl: "*"
exclude_spec:
# Don't test green frameworks on these Python versions.
- platform: rhel62
python-version: ["pypy3.6"]
- platform: awslinux
python-version: ["pypy3.6", "pypy3.7"]
green-framework: "*"
auth-ssl: "*"
display_name: "${green-framework} ${python-version} ${platform} ${auth-ssl}"
@ -2290,34 +2276,10 @@ buildvariants:
display_name: "${platform} ${python-version-windows-32} ${auth-ssl}"
tasks: *all-server-versions
- matrix_name: "tests-python-version-requires-openssl-102-plus-test-ssl"
matrix_spec:
platform: ubuntu-16.04
python-version: *openssl-102-plus-pythons
auth-ssl: "*"
display_name: "${python-version} OpenSSL 1.0.2 ${platform} ${auth-ssl}"
tasks:
- ".latest"
- ".4.4"
- ".4.2"
- ".4.0"
- ".3.6"
- ".3.4"
- ".3.2"
- matrix_name: "tests-python-version-requires-openssl-102-plus-test-encryption"
matrix_spec:
platform: ubuntu-16.04
python-version: *openssl-102-plus-pythons
auth-ssl: "noauth-nossl"
encryption: "*"
display_name: "Encryption ${python-version} ${platform} ${auth-ssl}"
tasks: *encryption-server-versions
- matrix_name: "tests-python-version-supports-openssl-110-test-ssl"
matrix_spec:
platform: debian92
python-version: *openssl-102-plus-pythons
python-version: *amazon1-pythons
auth-ssl: "*"
display_name: "${python-version} OpenSSL 1.1.0 ${platform} ${auth-ssl}"
tasks:
@ -2332,16 +2294,16 @@ buildvariants:
display_name: "Encryption ${platform} ${python-version-windows} ${auth-ssl}"
tasks: *encryption-server-versions
# Storage engine tests on RHEL 6.2 (x86_64) with Python 3.6.
# Storage engine tests on Amazon1 (x86_64) with Python 3.6.
- matrix_name: "tests-storage-engines"
matrix_spec:
platform: rhel62
platform: awslinux
storage-engine: "*"
python-version: 3.6
display_name: "Storage ${storage-engine} ${python-version} ${platform}"
rules:
- if:
platform: rhel62
platform: awslinux
storage-engine: ["inmemory"]
python-version: "*"
then:
@ -2355,7 +2317,7 @@ buildvariants:
- "test-3.2-standalone"
- if:
# MongoDB 4.2 drops support for MMAPv1
platform: rhel62
platform: awslinux
storage-engine: ["mmapv1"]
python-version: "*"
then:
@ -2368,17 +2330,17 @@ buildvariants:
- "test-3.2-standalone"
- if:
# No need to test this on later server versions as it becomes the default
platform: rhel62
platform: awslinux
storage-engine: ["wiredtiger"]
python-version: "*"
then:
add_tasks:
- "test-3.0-standalone"
# enableTestCommands=0 tests on RHEL 6.2 (x86_64) with Python 3.6.
# enableTestCommands=0 tests on Amazon1 (x86_64) with Python 3.6.
- matrix_name: "test-disableTestCommands"
matrix_spec:
platform: rhel62
platform: awslinux
disableTestCommands: "*"
python-version: "3.6"
display_name: "Disable test commands ${python-version} ${platform}"
@ -2387,8 +2349,8 @@ buildvariants:
- matrix_name: "test-linux-enterprise-auth"
matrix_spec:
platform: rhel62
python-version: *rhel62-pythons
platform: awslinux
python-version: *amazon1-pythons
auth: "auth"
display_name: "Enterprise ${auth} ${platform} ${python-version}"
tasks:
@ -2405,15 +2367,14 @@ buildvariants:
- matrix_name: "tests-mod-wsgi"
matrix_spec:
platform: rhel62
# The toolchain doesn't currently include mod-wsgi
# built for CPython 3.8, mod-wsgi doesn't yet
# claim to support 3.9. Python 3.7+ won't build on rhel6
# and we need to do some work to migrate mod-wsgi testing
# to a different OS. For now we're stuck just testing with
# Python 3.6.
python-version: ["3.6"]
platform: awslinux
python-version: ["3.6", "3.7", "3.8", "3.9"]
mod-wsgi-version: "*"
exclude_spec:
# mod-wsgi 3.5 won't build against CPython 3.8+
- platform: awslinux
python-version: ["3.8", "3.9"]
mod-wsgi-version: "3"
display_name: "${mod-wsgi-version} ${python-version} ${platform}"
tasks:
- name: "mod-wsgi-standalone"
@ -2421,7 +2382,7 @@ buildvariants:
- matrix_name: "mockupdb-tests"
matrix_spec:
platform: rhel62
platform: awslinux
python-version: 3.6
display_name: "MockupDB Tests"
tasks:
@ -2429,7 +2390,7 @@ buildvariants:
- matrix_name: "tests-doctests"
matrix_spec:
platform: rhel62
platform: awslinux
python-version: ["3.6"]
display_name: "Doctests ${python-version} ${platform}"
tasks:
@ -2438,7 +2399,7 @@ buildvariants:
- name: "no-server"
display_name: "No server test"
run_on:
- rhel62-small
- amazon1-2018-test
tasks:
- name: "no-server"
expansions:
@ -2455,16 +2416,8 @@ buildvariants:
- matrix_name: "atlas-connect"
matrix_spec:
platform: rhel62
python-version: *rhel62-pythons
display_name: "Atlas connect ${python-version} ${platform}"
tasks:
- name: "atlas-connect"
- matrix_name: "atlas-connect-openssl-102-plus"
matrix_spec:
platform: debian92
python-version: *openssl-102-plus-pythons
platform: awslinux
python-version: *amazon1-pythons
display_name: "Atlas connect ${python-version} ${platform}"
tasks:
- name: "atlas-connect"
@ -2506,7 +2459,7 @@ buildvariants:
- matrix_name: "ocsp-test-pypy"
matrix_spec:
platform: debian92
python-version: ["pypy3.6"]
python-version: ["pypy3.6", "pypy3.7"]
mongodb-version: ["4.4", "latest"]
auth: "noauth"
ssl: "ssl"