Skip to content

Commit 08aed3c

Browse files
committed
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 and resolves PYTHON-2593.
1 parent bedc002 commit 08aed3c

File tree

1 file changed

+57
-91
lines changed

1 file changed

+57
-91
lines changed

.evergreen/config.yml

Lines changed: 57 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -1833,6 +1833,10 @@ axes:
18331833
display_name: "PyPy 3.6"
18341834
variables:
18351835
PYTHON_BINARY: "/opt/python/pypy3.6/bin/pypy3"
1836+
- id: "pypy3.7"
1837+
display_name: "PyPy 3.7"
1838+
variables:
1839+
PYTHON_BINARY: "/opt/python/pypy3.7/bin/pypy3"
18361840
- id: "jython2.7"
18371841
display_name: "Jython 2.7"
18381842
batchtime: 10080 # 7 days
@@ -2194,26 +2198,26 @@ buildvariants:
21942198
- ".4.4"
21952199
- ".4.2"
21962200

2197-
- matrix_name: "tests-python-version-rhel62-test-ssl"
2201+
- matrix_name: "tests-python-version-amazon1-test-ssl"
21982202
matrix_spec:
2199-
platform: rhel62
2203+
platform: awslinux
22002204
# RHEL 6.2 does not support Python 3.7.x and later.
2201-
python-version: &rhel62-pythons ["2.7", "3.4", "3.5", "3.6", "pypy", "pypy3.5", "pypy3.6", "jython2.7"]
2205+
python-version: &amazon1-pythons ["2.7", "3.4", "3.5", "3.6", "3.7", "3.8", "3.9", "pypy", "pypy3.5", "pypy3.6", "pypy3.7", "jython2.7"]
22022206
auth: "*"
22032207
ssl: "*"
22042208
coverage: "*"
22052209
exclude_spec:
2206-
- platform: rhel62
2210+
- platform: awslinux
22072211
python-version: "*"
22082212
auth: "noauth"
22092213
ssl: "ssl"
22102214
coverage: "*"
2211-
- platform: rhel62
2215+
- platform: awslinux
22122216
python-version: "!jython2.7" # Test Jython with Auth/NoSSL
22132217
auth: "auth"
22142218
ssl: "nossl"
22152219
coverage: "*"
2216-
- platform: rhel62
2220+
- platform: awslinux
22172221
# PYTHON-498: disable Jython SSL tests
22182222
python-version: "jython2.7"
22192223
# EVG-1410: exlcude_spec must specifiy values for all axes
@@ -2246,7 +2250,7 @@ buildvariants:
22462250
- matrix_name: "tests-pyopenssl-pypy"
22472251
matrix_spec:
22482252
platform: debian92
2249-
python-version: ["pypy", "pypy3.5", "pypy3.6"]
2253+
python-version: ["pypy", "pypy3.5", "pypy3.6", "pypy3.7"]
22502254
auth: "auth"
22512255
ssl: "ssl"
22522256
pyopenssl: "*"
@@ -2289,11 +2293,11 @@ buildvariants:
22892293
tasks:
22902294
- '.replica_set'
22912295

2292-
- matrix_name: "tests-python-version-rhel62-test-encryption"
2296+
- matrix_name: "tests-python-version-amazon1-test-encryption"
22932297
matrix_spec:
2294-
platform: rhel62
2298+
platform: awslinux
22952299
# RHEL 6.2 does not support Python 3.7.x and later.
2296-
python-version: ["2.7", "3.4", "3.5", "3.6"]
2300+
python-version: ["2.7", "3.4", "3.5", "3.6", "3.7", "3.8", "3.9"]
22972301
auth-ssl: noauth-nossl
22982302
# TODO: dependency error for 'coverage-report' task:
22992303
# dependency tests-python-version-rhel62-test-encryption_.../test-2.6-standalone is not present in the project config
@@ -2305,56 +2309,40 @@ buildvariants:
23052309
- matrix_name: "tests-pypy-debian-test-encryption"
23062310
matrix_spec:
23072311
platform: debian92
2308-
python-version: ["pypy", "pypy3.5", "pypy3.6"]
2312+
python-version: ["pypy", "pypy3.5", "pypy3.6", "pypy3.7"]
23092313
auth-ssl: noauth-nossl
23102314
encryption: "*"
23112315
display_name: "Encryption ${python-version} ${platform} ${auth-ssl}"
23122316
tasks: *encryption-server-versions
23132317

2314-
- matrix_name: "tests-python-version-rhel62-without-c-extensions"
2318+
- matrix_name: "tests-python-version-amazon1-without-c-extensions"
23152319
matrix_spec:
2316-
platform: rhel62
2317-
python-version: *rhel62-pythons
2320+
platform: awslinux
2321+
python-version: *amazon1-pythons
23182322
c-extensions: without-c-extensions
23192323
auth-ssl: noauth-nossl
23202324
coverage: "*"
23212325
exclude_spec:
23222326
# These interpreters are always tested without extensions.
2323-
- platform: rhel62
2324-
python-version: ["pypy", "pypy3.5", "pypy3.6", "jython2.7"]
2327+
- platform: awslinux
2328+
python-version: ["pypy", "pypy3.5", "pypy3.6", "pypy3.7", "jython2.7"]
23252329
c-extensions: "*"
23262330
auth-ssl: "*"
23272331
coverage: "*"
23282332
display_name: "${c-extensions} ${python-version} ${platform} ${auth} ${ssl} ${coverage}"
23292333
tasks: *all-server-versions
23302334

2331-
- matrix_name: "tests-python-version-ubuntu1604-without-c-extensions"
2332-
matrix_spec:
2333-
platform: ubuntu-16.04
2334-
python-version: &openssl-102-plus-pythons ["3.7", "3.8", "3.9"]
2335-
c-extensions: without-c-extensions
2336-
auth-ssl: noauth-nossl
2337-
display_name: "${c-extensions} ${python-version} ${platform} ${auth} ${ssl} ${coverage}"
2338-
tasks:
2339-
- ".latest"
2340-
- ".4.4"
2341-
- ".4.2"
2342-
- ".4.0"
2343-
- ".3.6"
2344-
- ".3.4"
2345-
- ".3.2"
2346-
23472335
- matrix_name: "tests-python-version-ubuntu16-compression"
23482336
matrix_spec:
23492337
# Ubuntu 16.04 images have libsnappy-dev installed, and provides OpenSSL 1.0.2 for testing Python 3.7
23502338
platform: ubuntu-16.04
2351-
python-version: ["2.7", "3.4", "3.5", "3.6", "3.7", "3.8", "3.9", "pypy", "pypy3.5", "pypy3.6", "jython2.7"]
2339+
python-version: ["2.7", "3.4", "3.5", "3.6", "3.7", "3.8", "3.9", "pypy", "pypy3.5", "pypy3.6", "pypy3.7", "jython2.7"]
23522340
c-extensions: "*"
23532341
compression: "*"
23542342
exclude_spec:
23552343
# These interpreters are always tested without extensions.
23562344
- platform: ubuntu-16.04
2357-
python-version: ["pypy", "pypy3.5", "pypy3.6", "jython2.7"]
2345+
python-version: ["pypy", "pypy3.5", "pypy3.6", "pypy3.7", "jython2.7"]
23582346
c-extensions: "with-c-extensions"
23592347
compression: "*"
23602348
# Jython doesn't support some compression types.
@@ -2383,16 +2371,16 @@ buildvariants:
23832371
- "test-4.0-standalone"
23842372
- "test-3.6-standalone"
23852373

2386-
- matrix_name: "tests-python-version-green-framework-rhel62"
2374+
- matrix_name: "tests-python-version-green-framework-amazon1"
23872375
matrix_spec:
2388-
platform: rhel62
2389-
python-version: *rhel62-pythons
2376+
platform: awslinux
2377+
python-version: *amazon1-pythons
23902378
green-framework: "*"
23912379
auth-ssl: "*"
23922380
exclude_spec:
23932381
# Don't test green frameworks on these Python versions.
2394-
- platform: rhel62
2395-
python-version: ["pypy", "pypy3.5", "pypy3.6", "jython2.7"]
2382+
- platform: awslinux
2383+
python-version: ["pypy", "pypy3.5", "pypy3.6", "pypy3.7", "jython2.7"]
23962384
green-framework: "*"
23972385
auth-ssl: "*"
23982386
display_name: "${green-framework} ${python-version} ${platform} ${auth-ssl}"
@@ -2414,35 +2402,16 @@ buildvariants:
24142402
display_name: "${platform} ${python-version-windows-32} ${auth-ssl}"
24152403
tasks: *all-server-versions
24162404

2417-
- matrix_name: "tests-python-version-requires-openssl-102-plus-test-ssl"
2418-
matrix_spec:
2419-
platform: ubuntu-16.04
2420-
python-version: *openssl-102-plus-pythons
2421-
auth-ssl: "*"
2422-
display_name: "${python-version} OpenSSL 1.0.2 ${platform} ${auth-ssl}"
2423-
tasks:
2424-
- ".latest"
2425-
- ".4.4"
2426-
- ".4.2"
2427-
- ".4.0"
2428-
- ".3.6"
2429-
- ".3.4"
2430-
- ".3.2"
2431-
2432-
- matrix_name: "tests-python-version-requires-openssl-102-plus-test-encryption"
2433-
matrix_spec:
2434-
platform: ubuntu-16.04
2435-
python-version: *openssl-102-plus-pythons
2436-
auth-ssl: "noauth-nossl"
2437-
encryption: "*"
2438-
display_name: "Encryption ${python-version} ${platform} ${auth-ssl}"
2439-
tasks: *encryption-server-versions
2440-
24412405
- matrix_name: "tests-python-version-supports-openssl-110-test-ssl"
24422406
matrix_spec:
24432407
platform: debian92
2444-
python-version: *openssl-102-plus-pythons
2445-
auth-ssl: "*"
2408+
python-version: *amazon1-pythons
2409+
auth-ssl: "auth-ssl"
2410+
exclude_spec:
2411+
# Python 3.4 doesn't support OpenSSL 1.1.0+ so won't build on Debian 9+.
2412+
- platform: debian92
2413+
python-version: ["3.4"]
2414+
auth-ssl: "auth-ssl"
24462415
display_name: "${python-version} OpenSSL 1.1.0 ${platform} ${auth-ssl}"
24472416
tasks:
24482417
- ".latest"
@@ -2456,16 +2425,16 @@ buildvariants:
24562425
display_name: "Encryption ${platform} ${python-version-windows} ${auth-ssl}"
24572426
tasks: *encryption-server-versions
24582427

2459-
# Storage engine tests on RHEL 6.2 (x86_64) with Python 2.7.
2428+
# Storage engine tests on Amazon1 (x86_64) with Python 2.7.
24602429
- matrix_name: "tests-storage-engines"
24612430
matrix_spec:
2462-
platform: rhel62
2431+
platform: awslinux
24632432
storage-engine: "*"
24642433
python-version: 2.7
24652434
display_name: "Storage ${storage-engine} ${python-version} ${platform}"
24662435
rules:
24672436
- if:
2468-
platform: rhel62
2437+
platform: awslinux
24692438
storage-engine: ["inmemory"]
24702439
python-version: "*"
24712440
then:
@@ -2479,7 +2448,7 @@ buildvariants:
24792448
- "test-3.2-standalone"
24802449
- if:
24812450
# MongoDB 4.2 drops support for MMAPv1
2482-
platform: rhel62
2451+
platform: awslinux
24832452
storage-engine: ["mmapv1"]
24842453
python-version: "*"
24852454
then:
@@ -2492,7 +2461,7 @@ buildvariants:
24922461
- "test-3.2-standalone"
24932462
- if:
24942463
# No need to test this on later server versions as it becomes the default
2495-
platform: rhel62
2464+
platform: awslinux
24962465
storage-engine: ["wiredtiger"]
24972466
python-version: "*"
24982467
then:
@@ -2502,7 +2471,7 @@ buildvariants:
25022471
# enableTestCommands=0 tests on RHEL 6.2 (x86_64) with Python 2.7.
25032472
- matrix_name: "test-disableTestCommands"
25042473
matrix_spec:
2505-
platform: rhel62
2474+
platform: awslinux
25062475
disableTestCommands: "*"
25072476
python-version: "2.7"
25082477
display_name: "Disable test commands ${python-version} ${platform}"
@@ -2512,7 +2481,7 @@ buildvariants:
25122481
# setdefaultencoding tests on RHEL 6.2 (x86_64) with Python 2.7.
25132482
- matrix_name: "test-setdefaultencoding"
25142483
matrix_spec:
2515-
platform: rhel62
2484+
platform: awslinux
25162485
setdefaultencoding: "*"
25172486
python-version: "2.7"
25182487
display_name: "setdefaultencoding ${python-version} ${platform}"
@@ -2521,8 +2490,8 @@ buildvariants:
25212490

25222491
- matrix_name: "test-linux-enterprise-auth"
25232492
matrix_spec:
2524-
platform: rhel62
2525-
python-version: *rhel62-pythons
2493+
platform: awslinux
2494+
python-version: *amazon1-pythons
25262495
auth: "auth"
25272496
display_name: "Enterprise ${auth} ${platform} ${python-version}"
25282497
tasks:
@@ -2539,33 +2508,38 @@ buildvariants:
25392508

25402509
- matrix_name: "tests-mod-wsgi"
25412510
matrix_spec:
2542-
platform: rhel62
2543-
python-version: ["2.7", "3.4", "3.6"]
2511+
platform: awslinux
2512+
python-version: ["2.7", "3.4", "3.6", "3.7", "3.8", "3.9"]
25442513
mod-wsgi-version: "*"
2514+
exclude_spec:
2515+
# mod-wsgi 3.5 won't build against CPython 3.8+
2516+
- platform: awslinux
2517+
python-version: ["3.8", "3.9"]
2518+
mod-wsgi-version: "3"
25452519
display_name: "${mod-wsgi-version} ${python-version} ${platform}"
25462520
tasks:
25472521
- name: "mod-wsgi-standalone"
25482522
- name: "mod-wsgi-replica-set"
25492523

25502524
- matrix_name: "mockupdb-tests"
25512525
matrix_spec:
2552-
platform: rhel62
2526+
platform: awslinux
25532527
python-version: 2.7
25542528
display_name: "MockupDB Tests"
25552529
tasks:
25562530
- name: "mockupdb"
25572531

25582532
- matrix_name: "tests-doctests"
25592533
matrix_spec:
2560-
platform: rhel62
2534+
platform: awslinux
25612535
python-version: ["2.7", "3.4"]
25622536
display_name: "Doctests ${python-version} ${platform}"
25632537
tasks:
25642538
- name: "doctests"
25652539

25662540
- matrix_name: "cdecimal"
25672541
matrix_spec:
2568-
platform: rhel62
2542+
platform: awslinux
25692543
python-version: 2.7
25702544
display_name: "cdecimal ${python-version} ${platform}"
25712545
tasks:
@@ -2574,7 +2548,7 @@ buildvariants:
25742548
- name: "no-server"
25752549
display_name: "No server test"
25762550
run_on:
2577-
- rhel62-small
2551+
- amazon1-2018-test
25782552
tasks:
25792553
- name: "no-server"
25802554
expansions:
@@ -2598,16 +2572,8 @@ buildvariants:
25982572

25992573
- matrix_name: "atlas-connect"
26002574
matrix_spec:
2601-
platform: rhel62
2602-
python-version: *rhel62-pythons
2603-
display_name: "Atlas connect ${python-version} ${platform}"
2604-
tasks:
2605-
- name: "atlas-connect"
2606-
2607-
- matrix_name: "atlas-connect-openssl-102-plus"
2608-
matrix_spec:
2609-
platform: debian92
2610-
python-version: *openssl-102-plus-pythons
2575+
platform: awslinux
2576+
python-version: *amazon1-pythons
26112577
display_name: "Atlas connect ${python-version} ${platform}"
26122578
tasks:
26132579
- name: "atlas-connect"
@@ -2649,7 +2615,7 @@ buildvariants:
26492615
- matrix_name: "ocsp-test-pypy"
26502616
matrix_spec:
26512617
platform: debian92
2652-
python-version: ["pypy", "pypy3.5", "pypy3.6"]
2618+
python-version: ["pypy", "pypy3.5", "pypy3.6", "pypy3.7"]
26532619
mongodb-version: ["4.4", "latest"]
26542620
auth: "noauth"
26552621
ssl: "ssl"

0 commit comments

Comments
 (0)