Skip to content

Commit d733349

Browse files
PYTHON-2727 Test against MongoDB 5.0 in Evergreen (#635)
1 parent 3e921bb commit d733349

File tree

1 file changed

+94
-41
lines changed

1 file changed

+94
-41
lines changed

.evergreen/config.yml

Lines changed: 94 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1139,6 +1139,33 @@ tasks:
11391139
TOPOLOGY: "sharded_cluster"
11401140
- func: "run tests"
11411141

1142+
- name: "test-5.0-standalone"
1143+
tags: ["5.0", "standalone"]
1144+
commands:
1145+
- func: "bootstrap mongo-orchestration"
1146+
vars:
1147+
VERSION: "5.0"
1148+
TOPOLOGY: "server"
1149+
- func: "run tests"
1150+
1151+
- name: "test-5.0-replica_set"
1152+
tags: ["5.0", "replica_set"]
1153+
commands:
1154+
- func: "bootstrap mongo-orchestration"
1155+
vars:
1156+
VERSION: "5.0"
1157+
TOPOLOGY: "replica_set"
1158+
- func: "run tests"
1159+
1160+
- name: "test-5.0-sharded_cluster"
1161+
tags: ["5.0", "sharded_cluster"]
1162+
commands:
1163+
- func: "bootstrap mongo-orchestration"
1164+
vars:
1165+
VERSION: "5.0"
1166+
TOPOLOGY: "sharded_cluster"
1167+
- func: "run tests"
1168+
11421169
- name: "test-latest-standalone"
11431170
tags: ["latest", "standalone"]
11441171
commands:
@@ -1561,6 +1588,22 @@ tasks:
15611588
- func: "run aws auth test with aws EC2 credentials"
15621589
- func: "run aws ECS auth test"
15631590

1591+
- name: "aws-auth-test-5.0"
1592+
commands:
1593+
- func: "bootstrap mongo-orchestration"
1594+
vars:
1595+
AUTH: "auth"
1596+
ORCHESTRATION_FILE: "auth-aws.json"
1597+
TOPOLOGY: "server"
1598+
VERSION: "5.0"
1599+
- func: "add aws auth variables to file"
1600+
- func: "run aws auth test with regular aws credentials"
1601+
- func: "run aws auth test with assume role credentials"
1602+
- func: "run aws auth test with aws credentials as environment variables"
1603+
- func: "run aws auth test with aws credentials and session token as environment variables"
1604+
- func: "run aws auth test with aws EC2 credentials"
1605+
- func: "run aws ECS auth test"
1606+
15641607
- name: "aws-auth-test-latest"
15651608
commands:
15661609
- func: "bootstrap mongo-orchestration"
@@ -1619,6 +1662,7 @@ axes:
16191662
batchtime: 10080 # 7 days
16201663
variables:
16211664
libmongocrypt_url: https://s3.amazonaws.com/mciuploads/libmongocrypt/linux-64-amazon-ami/master/latest/libmongocrypt.tar.gz
1665+
python3_binary: "/opt/python/3.8/bin/python3"
16221666
- id: archlinux-test
16231667
display_name: "Archlinux"
16241668
run_on: archlinux-test
@@ -1669,10 +1713,10 @@ axes:
16691713
python3_binary: "/opt/python/3.8/bin/python3"
16701714
- id: ubuntu-18.04
16711715
display_name: "Ubuntu 18.04"
1672-
run_on: ubuntu1804-test
1716+
run_on: ubuntu1804-small
16731717
batchtime: 10080 # 7 days
16741718
variables:
1675-
python3_binary: python3
1719+
python3_binary: "/opt/python/3.8/bin/python3"
16761720
- id: ubuntu-20.04
16771721
display_name: "Ubuntu 20.04"
16781722
run_on: ubuntu2004-small
@@ -1801,6 +1845,10 @@ axes:
18011845
display_name: "MongoDB latest"
18021846
variables:
18031847
VERSION: "latest"
1848+
- id: "5.0"
1849+
display_name: "MongoDB 5.0"
1850+
variables:
1851+
VERSION: "5.0"
18041852

18051853
# Choice of Python runtime version
18061854
- id: python-version
@@ -2081,6 +2129,7 @@ buildvariants:
20812129
display_name: "${platform} ${auth-ssl}"
20822130
tasks: &all-server-versions
20832131
- ".latest"
2132+
- ".5.0"
20842133
- ".4.4"
20852134
- ".4.2"
20862135
- ".4.0"
@@ -2101,6 +2150,7 @@ buildvariants:
21012150
display_name: "Encryption ${platform} ${auth-ssl}"
21022151
tasks: &encryption-server-versions
21032152
- ".latest"
2153+
- ".5.0"
21042154
- ".4.4"
21052155
- ".4.2"
21062156
- ".4.0"
@@ -2123,23 +2173,6 @@ buildvariants:
21232173
- ".3.0"
21242174
- ".2.6"
21252175

2126-
- matrix_name: "tests-os-requires-32"
2127-
matrix_spec:
2128-
platform:
2129-
# OSes that support versions of MongoDB>=3.2 with SSL.
2130-
- ubuntu-16.04
2131-
- suse12-x86-64-test
2132-
auth-ssl: "*"
2133-
display_name: "${platform} ${auth-ssl}"
2134-
tasks:
2135-
- ".latest"
2136-
- ".4.4"
2137-
- ".4.2"
2138-
- ".4.0"
2139-
- ".3.6"
2140-
- ".3.4"
2141-
- ".3.2"
2142-
21432176
- matrix_name: "test-macos"
21442177
matrix_spec:
21452178
platform:
@@ -2156,6 +2189,7 @@ buildvariants:
21562189
display_name: "${platform} ${auth} ${ssl}"
21572190
tasks:
21582191
- ".latest"
2192+
- ".5.0"
21592193
- ".4.4"
21602194
- ".4.2"
21612195
- ".4.0"
@@ -2237,23 +2271,23 @@ buildvariants:
22372271

22382272
- matrix_name: "tests-pyopenssl"
22392273
matrix_spec:
2240-
platform: ubuntu-16.04
2274+
platform: awslinux
22412275
python-version: ["2.7", "3.4", "3.5", "3.6", "3.7", "3.8", "3.9"]
22422276
auth: "*"
22432277
ssl: "ssl"
22442278
pyopenssl: "*"
22452279
# Only test "noauth" with Python 3.7.
22462280
exclude_spec:
2247-
platform: ubuntu-16.04
2281+
platform: awslinux
22482282
python-version: ["2.7", "3.4", "3.5", "3.6", "3.8", "3.9"]
22492283
auth: "noauth"
22502284
ssl: "ssl"
22512285
pyopenssl: "*"
22522286
display_name: "PyOpenSSL ${platform} ${python-version} ${auth}"
22532287
tasks:
22542288
- '.replica_set !.2.6 !.3.0'
2255-
# Test standalone and sharded only on 4.4.
2256-
- '.4.4'
2289+
# Test standalone and sharded only on 5.0.
2290+
- '.5.0'
22572291

22582292
- matrix_name: "tests-pyopenssl-pypy"
22592293
matrix_spec:
@@ -2265,8 +2299,8 @@ buildvariants:
22652299
display_name: "PyOpenSSL ${platform} ${python-version} ${auth}"
22662300
tasks:
22672301
- '.replica_set !.2.6 !.3.0 !.3.2 !.3.4'
2268-
# Test standalone and sharded only on 4.4.
2269-
- '.4.4'
2302+
# Test standalone and sharded only on 5.0.
2303+
- '.5.0'
22702304

22712305
- matrix_name: "test-pyopenssl-old-py27"
22722306
matrix_spec:
@@ -2340,42 +2374,58 @@ buildvariants:
23402374
display_name: "${c-extensions} ${python-version} ${platform} ${auth} ${ssl} ${coverage}"
23412375
tasks: *all-server-versions
23422376

2343-
- matrix_name: "tests-python-version-ubuntu16-compression"
2377+
- matrix_name: "tests-python-version-ubuntu18-compression"
23442378
matrix_spec:
2345-
# Ubuntu 16.04 images have libsnappy-dev installed, and provides OpenSSL 1.0.2 for testing Python 3.7
2346-
platform: ubuntu-16.04
2379+
platform: [awslinux, ubuntu-18.04]
23472380
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"]
23482381
c-extensions: "*"
23492382
compression: "*"
23502383
exclude_spec:
2384+
# Only test snappy on Ubuntu-18.04 as Ubuntu 18.04 images have libsnappy-dev installed
2385+
- platform: awslinux
2386+
python-version: "*"
2387+
c-extensions: "*"
2388+
compression: ["snappy"]
2389+
# Ubuntu-18.04 does not have Python 3.4 installed
2390+
- platform: ubuntu-18.04
2391+
python-version: ["3.4"]
2392+
c-extensions: "*"
2393+
compression: ["snappy"]
2394+
# Only test zlib and zstd on Amazon Linux
2395+
- platform: ubuntu-18.04
2396+
python-version: "*"
2397+
c-extensions: "*"
2398+
compression: ["zlib", "zstd"]
23512399
# These interpreters are always tested without extensions.
2352-
- platform: ubuntu-16.04
2400+
- platform: "*"
23532401
python-version: ["pypy", "pypy3.5", "pypy3.6", "pypy3.7", "jython2.7"]
23542402
c-extensions: "with-c-extensions"
23552403
compression: "*"
23562404
# Jython doesn't support some compression types.
2357-
- platform: ubuntu-16.04
2405+
- platform: "*"
23582406
python-version: ["jython2.7"]
23592407
c-extensions: "*"
23602408
compression: ["snappy", "zstd"]
23612409
# PYTHON-2365 Some tests fail with CPython 3.8+ and python-snappy
2362-
- platform: ubuntu-16.04
2410+
- platform: "*"
23632411
python-version: ["3.8", "3.9"]
23642412
c-extensions: "*"
23652413
compression: ["snappy"]
23662414
display_name: "${compression} ${c-extensions} ${python-version} ${platform}"
23672415
tasks:
23682416
- "test-latest-standalone"
2417+
- "test-5.0-standalone"
23692418
- "test-4.4-standalone"
23702419
- "test-4.2-standalone"
23712420
rules:
2372-
# Server versions 3.6 and 4.0 support snappy and zlib.
2421+
# Server versions 3.6+ support snappy and zlib.
23732422
- if:
23742423
python-version: "*"
23752424
c-extensions: "*"
23762425
compression: ["snappy", "zlib"]
23772426
then:
23782427
add_tasks:
2428+
- "test-5.0-standalone"
23792429
- "test-4.0-standalone"
23802430
- "test-3.6-standalone"
23812431

@@ -2610,21 +2660,22 @@ buildvariants:
26102660

26112661
- matrix_name: "ocsp-test"
26122662
matrix_spec:
2613-
platform: ubuntu-16.04
2614-
python-version: ["2.7", "3.4", "3.8", "3.9"]
2615-
mongodb-version: ["4.4", "latest"]
2663+
platform: awslinux
2664+
python-version: ["2.7", "3.4", "pypy3.5", "pypy3.6", "pypy3.7", "3.8", "3.9"]
2665+
mongodb-version: ["4.4", "5.0", "latest"]
26162666
auth: "noauth"
26172667
ssl: "ssl"
26182668
display_name: "OCSP test ${platform} ${python-version} ${mongodb-version}"
26192669
batchtime: 20160 # 14 days
26202670
tasks:
26212671
- name: ".ocsp"
26222672

2623-
- matrix_name: "ocsp-test-pypy"
2673+
# PyPy2 cannot install cryptography on Amazon Linux so we test it separately
2674+
- matrix_name: "ocsp-test-pypy2"
26242675
matrix_spec:
26252676
platform: debian92
2626-
python-version: ["pypy", "pypy3.5", "pypy3.6", "pypy3.7"]
2627-
mongodb-version: ["4.4", "latest"]
2677+
python-version: ["pypy"]
2678+
mongodb-version: ["4.4", "5.0", "latest"]
26282679
auth: "noauth"
26292680
ssl: "ssl"
26302681
display_name: "OCSP test ${platform} ${python-version} ${mongodb-version}"
@@ -2636,7 +2687,7 @@ buildvariants:
26362687
matrix_spec:
26372688
platform: windows-64-vsMulti-small
26382689
python-version-windows: ["2.7", "3.4", "3.9"]
2639-
mongodb-version: ["4.4", "latest"]
2690+
mongodb-version: ["4.4", "5.0", "latest"]
26402691
auth: "noauth"
26412692
ssl: "ssl"
26422693
display_name: "OCSP test ${platform} ${python-version-windows} ${mongodb-version}"
@@ -2648,7 +2699,7 @@ buildvariants:
26482699
- matrix_name: "ocsp-test-macos"
26492700
matrix_spec:
26502701
platform: macos-1014
2651-
mongodb-version: ["4.4", "latest"]
2702+
mongodb-version: ["4.4", "5.0", "latest"]
26522703
auth: "noauth"
26532704
ssl: "ssl"
26542705
display_name: "OCSP test ${platform} ${mongodb-version}"
@@ -2664,6 +2715,7 @@ buildvariants:
26642715
display_name: "MONGODB-AWS Auth ${platform} ${python-version}"
26652716
tasks:
26662717
- name: "aws-auth-test-4.4"
2718+
- name: "aws-auth-test-5.0"
26672719
- name: "aws-auth-test-latest"
26682720

26692721
- matrix_name: "aws-auth-test-windows"
@@ -2673,12 +2725,13 @@ buildvariants:
26732725
display_name: "MONGODB-AWS Auth ${platform} ${python-version-windows}"
26742726
tasks:
26752727
- name: "aws-auth-test-4.4"
2728+
- name: "aws-auth-test-5.0"
26762729
- name: "aws-auth-test-latest"
26772730

26782731
- matrix_name: "load-balancer"
26792732
matrix_spec:
26802733
platform: ubuntu-18.04
2681-
mongodb-version: ["latest"]
2734+
mongodb-version: ["5.0", "latest"]
26822735
auth-ssl: "*"
26832736
python-version: ["2.7", "3.5", "3.9"]
26842737
loadbalancer: "*"

0 commit comments

Comments
 (0)