Skip to content

Commit dec2ed2

Browse files
authored
PHPC-2086: Test against MongoDB 6.0 in Evergreen and revise matrices (mongodb#1332)
Update axes definitions: * Add "mongodb" to version and edge-version axes names * Add MongoDB 6.0 to mongodb-versions axis * Fix latest-stable in mongodb-edge-versions axis (5.0 label was actually using MongoDB 4.0) * Bump latest-stable in php-edge-versions axis to PHP 8.1 * Use debian11 for testing server versions not on debian92 * Make RHEL host names consistent with those in mongo-php-toolchain * Fix label for zSeries (7.4 label was always using RHEL 7.2) Revise test matrices: * Test all PHP versions with latest-stable MongoDB on Debian 11 and RHEL 7.0 * Test all topologies and MongoDB versions with latest-stable PHP version on Debian * Restrict testing of ARM64, Power8, and zSeries architectures to MongoDB 4.4 * Restrict testing of non-WiredTiger storage engines to MongoDB 4.0 * Update mongodb-versions for OCSP, Stable API, and load balancer matrices * Use Debian 10 for OCSP testing (MongoDB 4.4+) * Use Debian 11 for Stable API testing (MongoDB 5.0+) * Keep Debian 9.2 for load balancer testing and remove MongoDB 6.0. Switch to Debian 11 once haproxy is available (see: BUILD-15237) Use standalone-ssl, replicaset-auth, and sharded tasks for most matrices. The full set of tasks will be used for testing "all topologies and MongoDB versions".
1 parent 285e056 commit dec2ed2

File tree

1 file changed

+58
-68
lines changed

1 file changed

+58
-68
lines changed

.evergreen/config.yml

Lines changed: 58 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -1008,13 +1008,17 @@ tasks:
10081008

10091009

10101010
axes:
1011-
- id: versions
1011+
- id: mongodb-versions
10121012
display_name: MongoDB Version
10131013
values:
10141014
- id: "latest"
10151015
display_name: "MongoDB latest"
10161016
variables:
10171017
VERSION: "latest"
1018+
- id: "6.0"
1019+
display_name: "MongoDB 6.0"
1020+
variables:
1021+
VERSION: "6.0"
10181022
- id: "5.0"
10191023
display_name: "MongoDB 5.0"
10201024
variables:
@@ -1036,13 +1040,13 @@ axes:
10361040
variables:
10371041
VERSION: "3.6"
10381042

1039-
- id: edge-versions
1043+
- id: mongodb-edge-versions
10401044
display_name: MongoDB Version
10411045
values:
10421046
- id: "latest-stable"
10431047
display_name: "MongoDB 5.0"
10441048
variables:
1045-
VERSION: "4.4"
1049+
VERSION: "5.0"
10461050
- id: "oldest-supported"
10471051
display_name: "MongoDB 3.6"
10481052
variables:
@@ -1076,9 +1080,9 @@ axes:
10761080
display_name: PHP Version
10771081
values:
10781082
- id: "latest-stable"
1079-
display_name: "PHP 8.0"
1083+
display_name: "PHP 8.1"
10801084
variables:
1081-
PHP_VERSION: "8.0"
1085+
PHP_VERSION: "8.1"
10821086
- id: "oldest-supported"
10831087
display_name: "PHP 7.2"
10841088
variables:
@@ -1087,18 +1091,24 @@ axes:
10871091
- id: os
10881092
display_name: OS
10891093
values:
1094+
- id: debian11
1095+
display_name: "Debian 11"
1096+
run_on: debian11
1097+
- id: debian10
1098+
display_name: "Debian 10"
1099+
run_on: debian10
10901100
- id: debian92
10911101
display_name: "Debian 9.2"
1092-
run_on: debian92-test
1102+
run_on: debian92
10931103
- id: rhel70
10941104
display_name: "RHEL 7.0"
10951105
run_on: rhel70
10961106
- id: rhel71-power8
10971107
display_name: "RHEL 7.1 Power 8"
1098-
run_on: rhel71-power8-test
1099-
- id: rhel74-zseries
1100-
display_name: "RHEL 7.4 zSeries"
1101-
run_on: rhel72-zseries-test
1108+
run_on: rhel71-power8-build
1109+
- id: rhel72-zseries
1110+
display_name: "RHEL 7.2 zSeries"
1111+
run_on: rhel72-zseries-build
11021112
- id: ubuntu1804-arm64
11031113
display_name: "Ubuntu 18.04 ARM64"
11041114
run_on: ubuntu1804-arm64-test
@@ -1142,45 +1152,28 @@ axes:
11421152

11431153

11441154
buildvariants:
1145-
1146-
# Tests all PHP versions on all operating systems and latest MongoDB version
1155+
# Test all PHP versions with latest-stable MongoDB on Debian 11 and RHEL 7.0
11471156
- matrix_name: "test-php-versions"
1148-
matrix_spec: { "os": "*", "edge-versions": "latest-stable", "php-versions": "*" }
1157+
matrix_spec: { "os": ["rhel70", "debian11"], "mongodb-edge-versions": "latest-stable", "php-versions": "*" }
1158+
display_name: "${os}, ${mongodb-edge-versions}, ${php-versions}"
11491159
exclude_spec:
1150-
- { "os": "ubuntu1804-arm64", "edge-versions": "latest-stable", "php-versions": "7.2" }
1151-
# MongoDB 5.0+ is not available for rhel74-zseries and rhel71-power8
1152-
- { "os": "rhel74-zseries", "edge-versions": "latest-stable", "php-versions": "*" }
1153-
- { "os": "rhel71-power8", "edge-versions": "latest-stable", "php-versions": "*" }
1154-
# PHP 8.1 is only available on debian92
1155-
- { "os": "rhel70", "edge-versions": "latest-stable", "php-versions": "8.1" }
1156-
- { "os": "ubuntu1804-arm64", "edge-versions": "latest-stable", "php-versions": "8.1" }
1157-
display_name: "${os}, ${edge-versions}, ${php-versions}"
1160+
# Exclude "latest-stable" PHP version for Debian 11 (see: test-mongodb-versions matrix)
1161+
- { "os": "debian11", "mongodb-edge-versions": "*", "php-versions": "8.1" }
1162+
# PHP 8.1+ is not available on rhel70
1163+
- { "os": "rhel70", "mongodb-edge-versions": "*", "php-versions": "8.1" }
11581164
tasks:
11591165
- name: "test-standalone-ssl"
11601166
- name: "test-replicaset-auth"
1167+
- name: "test-sharded"
11611168

1162-
# Tests MongoDB 3.6 with oldest supported PHP version
1163-
- matrix_name: "test-mongodb-36"
1164-
matrix_spec: { "os": "*", "versions": ["3.6"], "php-edge-versions": "oldest-supported" }
1165-
exclude_spec:
1166-
- { "os": "ubuntu1804-arm64", "versions": "*", "php-edge-versions": "oldest-supported" }
1167-
display_name: "${os}, ${versions}, ${php-edge-versions}"
1168-
tasks:
1169-
- name: "test-standalone"
1170-
- name: "test-replicaset"
1171-
- name: "test-replicaset-auth"
1172-
1173-
# Tests 4.0+ MongoDB versions with oldest supported PHP version
1169+
# Test all topologies and MongoDB versions with latest-stable PHP version on Debian
11741170
- matrix_name: "test-mongodb-versions"
1175-
matrix_spec: { "os": "*", "versions": ["4.0", "4.2", "4.4", "5.0", "latest"], "php-edge-versions": "oldest-supported" }
1171+
matrix_spec: { "os": ["debian92", "debian11"], "mongodb-versions": "*", "php-edge-versions": "latest-stable" }
1172+
display_name: "${os}, ${mongodb-versions}, ${php-edge-versions}"
11761173
exclude_spec:
1177-
- { "os": "ubuntu1804-arm64", "versions": "4.0", "php-edge-versions": "oldest-supported" }
1178-
- { "os": "rhel71-power8", "versions": ["5.0", "latest"], "php-edge-versions": "oldest-supported" }
1179-
# rhel74-zseries will be covered by test-mongodb-versions-nossl
1180-
- { "os": "rhel74-zseries", "versions": "*", "php-edge-versions": "oldest-supported" }
1181-
# Avoid duplicate build variants from test-php-versions (assumes edge-versions:latest-stable is 5.0)
1182-
- { "os": "*", "versions": "5.0", "php-edge-versions": "oldest-supported" }
1183-
display_name: "${os}, ${versions}, ${php-edge-versions}"
1174+
# Debian 9.2 only supports up to MongoDB 5.0
1175+
- { "os": "debian92", "mongodb-versions": ["6.0", "latest"], "php-edge-versions": "latest-stable" }
1176+
- { "os": "debian11", "mongodb-versions": ["3.6", "4.0", "4.2", "4.4", "5.0"], "php-edge-versions": "latest-stable" }
11841177
tasks:
11851178
- name: "test-standalone"
11861179
- name: "test-standalone-auth"
@@ -1189,57 +1182,54 @@ buildvariants:
11891182
- name: "test-replicaset-auth"
11901183
- name: "test-sharded"
11911184

1192-
# Tests MongoDB 4.2 and 4.4 on zSeries with oldest supported PHP version
1193-
- matrix_name: "test-mongodb-versions-nossl"
1194-
matrix_spec: { "os": "rhel74-zseries", "versions": ["4.2", "4.4"], "php-edge-versions": "oldest-supported" }
1195-
display_name: "${os}, ${versions}, ${php-edge-versions}"
1185+
# Test ARM64, Power8, and zSeries architectures with MongoDB 4.4
1186+
- matrix_name: "test-alt-archs"
1187+
matrix_spec: { "os": ["rhel71-power8", "rhel72-zseries", "ubuntu1804-arm64"], "mongodb-versions": ["4.4"], "php-edge-versions": "oldest-supported" }
1188+
display_name: "${os}, ${mongodb-versions}, ${php-edge-versions}"
11961189
tasks:
1197-
- name: "test-standalone"
1198-
- name: "test-standalone-auth"
1199-
- name: "test-replicaset"
1190+
- name: "test-standalone-ssl"
12001191
- name: "test-replicaset-auth"
12011192
- name: "test-sharded"
12021193

1203-
- matrix_name: "mongo-42-storage-engines"
1204-
matrix_spec: { "os": "debian92", "versions": "4.2", "php-edge-versions": "latest-stable", "storage-engine": "inmemory" }
1205-
display_name: "${storage-engine}: ${os}, ${versions}, ${php-edge-versions}"
1206-
tasks:
1207-
- name: "test-standalone"
1208-
1209-
- matrix_name: "mongo-40-storage-engines"
1210-
matrix_spec: { "os": "debian92", "versions": "4.0", "php-edge-versions": "latest-stable", "storage-engine": "mmapv1" }
1211-
display_name: "${storage-engine}: ${os}, ${versions}, ${php-edge-versions}"
1194+
# Test alternative storage engines on MongoDB 4.0
1195+
- matrix_name: "test-storage-engines"
1196+
matrix_spec: { "os": "debian92", "mongodb-versions": "4.0", "php-edge-versions": "latest-stable", "storage-engine": ["inmemory", "mmapv1"] }
1197+
display_name: "${storage-engine}: ${os}, ${mongodb-edge-versions}, ${php-edge-versions}"
12121198
tasks:
12131199
- name: "test-standalone"
12141200

12151201
- matrix_name: "libmongoc-versions"
1216-
matrix_spec: { "os": "debian92", "edge-versions": "latest-stable", "php-edge-versions": "latest-stable", "libmongoc-version": "*" }
1217-
display_name: "libmongoc ${libmongoc-version}: ${os}, ${edge-versions}, ${php-edge-versions}"
1202+
matrix_spec: { "os": "debian11", "mongodb-edge-versions": "latest-stable", "php-edge-versions": "latest-stable", "libmongoc-version": "*" }
1203+
display_name: "libmongoc ${libmongoc-version}: ${os}, ${mongodb-edge-versions}, ${php-edge-versions}"
12181204
tasks:
1219-
- name: "test-standalone"
1220-
- name: "test-replicaset"
1205+
- name: "test-standalone-ssl"
1206+
- name: "test-replicaset-auth"
12211207
- name: "test-sharded"
12221208

12231209
- matrix_name: "atlas-connectivity-tests"
1224-
matrix_spec: { "os": "debian92", "php-edge-versions": "latest-stable" }
1210+
matrix_spec: { "os": "debian11", "php-edge-versions": "latest-stable" }
12251211
display_name: "Atlas Connectivity"
12261212
tasks:
12271213
- name: "test-atlas"
12281214

1215+
# OCSP is available from MongoDB 4.4+ (Debian 10 has MongoDB 4.4+)
12291216
- matrix_name: "test-ocsp"
1230-
matrix_spec: { "os": "debian92", "versions": ["4.4", "5.0", "latest"], "php-edge-versions": "latest-stable" }
1231-
display_name: "OCSP tests - ${versions}"
1217+
matrix_spec: { "os": "debian10", "mongodb-versions": ["4.4", "5.0", "6.0"], "php-edge-versions": "latest-stable" }
1218+
display_name: "OCSP tests - ${mongodb-versions}"
12321219
tasks:
12331220
- name: ".ocsp"
12341221

1222+
# Stable API is available from MongoDB 5.0+
12351223
- matrix_name: "test-requireApiVersion"
1236-
matrix_spec: { "os": "debian92", "versions": ["5.0", "latest"], "php-edge-versions": "latest-stable" }
1237-
display_name: "Versioned API - ${versions}"
1224+
matrix_spec: { "os": "debian11", "mongodb-versions": ["5.0", "6.0"], "php-edge-versions": "latest-stable" }
1225+
display_name: "Versioned API - ${mongodb-versions}"
12381226
tasks:
12391227
- name: "test-requireApiVersion"
12401228

1229+
# Load balancer is available from MongoDB 5.0+
12411230
- matrix_name: "test-loadBalanced"
1242-
matrix_spec: { "os": "debian92", "versions": ["5.0", "latest"], "php-edge-versions": "latest-stable" }
1243-
display_name: "Load balanced - ${versions}"
1231+
# TODO: Add MongoDB 6.0 and use Debian 11 once BUILD-15237 is resolved
1232+
matrix_spec: { "os": "debian92", "mongodb-versions": "5.0", "php-edge-versions": "latest-stable" }
1233+
display_name: "Load balanced - ${mongodb-versions}"
12441234
tasks:
12451235
- name: "test-loadBalanced"

0 commit comments

Comments
 (0)