Skip to content

Commit 017cf32

Browse files
authored
restore C++ driver tests (#2057)
Restore C++ driver tests that were previously removed due to backwards breaking changes in C driver 2.0. C++ driver 4.1 migrated to C driver 2.0 and can now be tested again. Skip testing the C++ driver on Ubuntu 18 to avoid error: > GCC 8.1 or newer is required
1 parent f142c61 commit 017cf32

File tree

2 files changed

+347
-3
lines changed

2 files changed

+347
-3
lines changed

.evergreen/config_generator/components/earthly.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
"Valid options for the SASL configuration parameter"
4848
TLSOption = Literal["OpenSSL", "off"]
4949
"Options for the TLS backend configuration parameter (AKA 'ENABLE_SSL')"
50-
CxxVersion = Literal["none"] # TODO: Once CXX-3103 is released, add latest C++ release tag.
50+
CxxVersion = Literal["master", "r4.1.0", "none"]
5151
"C++ driver refs that are under CI test"
5252

5353
# A separator character, since we cannot use whitespace
@@ -179,8 +179,8 @@ def task_filter(env: EarthlyVariant, conf: Configuration) -> bool:
179179
configuration values.
180180
"""
181181
match env, conf:
182-
# u16/centos7 are not capable of building mongocxx
183-
case e, (_sasl, _tls, cxx) if re.match(r"^Ubuntu 16|^CentOS 7", e.display_name):
182+
# u16/u18/centos7 are not capable of building mongocxx
183+
case e, (_sasl, _tls, cxx) if re.match(r"^Ubuntu 16|^Ubuntu 18|^CentOS 7", e.display_name):
184184
# Only build if C++ driver is test is disabled
185185
return cxx == "none"
186186
# Anything else: Allow it to run:

.evergreen/generated_configs/tasks.yml

Lines changed: 344 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1124,6 +1124,49 @@ tasks:
11241124
- name: check-headers
11251125
commands:
11261126
- func: check-headers
1127+
- name: "check:sasl=Cyrus\_\u2022\_tls=OpenSSL\_\u2022\_test_mongocxx_ref=master"
1128+
run_on:
1129+
- amazon2
1130+
- debian11-large
1131+
- debian12-large
1132+
- ubuntu2204-large
1133+
- ubuntu2404-large
1134+
tags: [earthly, pr-merge-gate, alpine3.16-clang, alpine3.16-gcc, alpine3.17-clang, alpine3.17-gcc, alpine3.18-clang, alpine3.18-gcc, alpine3.19-clang, alpine3.19-gcc, archlinux-clang, archlinux-gcc, u20-clang, u20-gcc, u22-clang, u22-gcc]
1135+
commands:
1136+
- func: docker-login-amazon-ecr
1137+
- command: subprocess.exec
1138+
type: setup
1139+
params:
1140+
binary: ./tools/earthly.sh
1141+
working_dir: mongoc
1142+
include_expansions_in_env:
1143+
- DOCKER_CONFIG
1144+
args:
1145+
- --buildkit-image=901841024863.dkr.ecr.us-east-1.amazonaws.com/dockerhub/earthly/buildkitd:v0.8.3
1146+
- +env-warmup
1147+
- --default_search_registry=901841024863.dkr.ecr.us-east-1.amazonaws.com/dockerhub
1148+
- --sasl=Cyrus
1149+
- --tls=OpenSSL
1150+
- --test_mongocxx_ref=master
1151+
- --env=${MONGOC_EARTHLY_ENV}
1152+
- --c_compiler=${MONGOC_EARTHLY_C_COMPILER}
1153+
- command: subprocess.exec
1154+
type: test
1155+
params:
1156+
binary: ./tools/earthly.sh
1157+
working_dir: mongoc
1158+
include_expansions_in_env:
1159+
- DOCKER_CONFIG
1160+
args:
1161+
- --buildkit-image=901841024863.dkr.ecr.us-east-1.amazonaws.com/dockerhub/earthly/buildkitd:v0.8.3
1162+
- +run
1163+
- --default_search_registry=901841024863.dkr.ecr.us-east-1.amazonaws.com/dockerhub
1164+
- --targets=test-example test-cxx-driver
1165+
- --sasl=Cyrus
1166+
- --tls=OpenSSL
1167+
- --test_mongocxx_ref=master
1168+
- --env=${MONGOC_EARTHLY_ENV}
1169+
- --c_compiler=${MONGOC_EARTHLY_C_COMPILER}
11271170
- name: "check:sasl=Cyrus\_\u2022\_tls=OpenSSL\_\u2022\_test_mongocxx_ref=none"
11281171
run_on:
11291172
- amazon2
@@ -1167,6 +1210,92 @@ tasks:
11671210
- --test_mongocxx_ref=none
11681211
- --env=${MONGOC_EARTHLY_ENV}
11691212
- --c_compiler=${MONGOC_EARTHLY_C_COMPILER}
1213+
- name: "check:sasl=Cyrus\_\u2022\_tls=OpenSSL\_\u2022\_test_mongocxx_ref=r4.1.0"
1214+
run_on:
1215+
- amazon2
1216+
- debian11-large
1217+
- debian12-large
1218+
- ubuntu2204-large
1219+
- ubuntu2404-large
1220+
tags: [earthly, pr-merge-gate, alpine3.16-clang, alpine3.16-gcc, alpine3.17-clang, alpine3.17-gcc, alpine3.18-clang, alpine3.18-gcc, alpine3.19-clang, alpine3.19-gcc, archlinux-clang, archlinux-gcc, u20-clang, u20-gcc, u22-clang, u22-gcc]
1221+
commands:
1222+
- func: docker-login-amazon-ecr
1223+
- command: subprocess.exec
1224+
type: setup
1225+
params:
1226+
binary: ./tools/earthly.sh
1227+
working_dir: mongoc
1228+
include_expansions_in_env:
1229+
- DOCKER_CONFIG
1230+
args:
1231+
- --buildkit-image=901841024863.dkr.ecr.us-east-1.amazonaws.com/dockerhub/earthly/buildkitd:v0.8.3
1232+
- +env-warmup
1233+
- --default_search_registry=901841024863.dkr.ecr.us-east-1.amazonaws.com/dockerhub
1234+
- --sasl=Cyrus
1235+
- --tls=OpenSSL
1236+
- --test_mongocxx_ref=r4.1.0
1237+
- --env=${MONGOC_EARTHLY_ENV}
1238+
- --c_compiler=${MONGOC_EARTHLY_C_COMPILER}
1239+
- command: subprocess.exec
1240+
type: test
1241+
params:
1242+
binary: ./tools/earthly.sh
1243+
working_dir: mongoc
1244+
include_expansions_in_env:
1245+
- DOCKER_CONFIG
1246+
args:
1247+
- --buildkit-image=901841024863.dkr.ecr.us-east-1.amazonaws.com/dockerhub/earthly/buildkitd:v0.8.3
1248+
- +run
1249+
- --default_search_registry=901841024863.dkr.ecr.us-east-1.amazonaws.com/dockerhub
1250+
- --targets=test-example test-cxx-driver
1251+
- --sasl=Cyrus
1252+
- --tls=OpenSSL
1253+
- --test_mongocxx_ref=r4.1.0
1254+
- --env=${MONGOC_EARTHLY_ENV}
1255+
- --c_compiler=${MONGOC_EARTHLY_C_COMPILER}
1256+
- name: "check:sasl=Cyrus\_\u2022\_tls=off\_\u2022\_test_mongocxx_ref=master"
1257+
run_on:
1258+
- amazon2
1259+
- debian11-large
1260+
- debian12-large
1261+
- ubuntu2204-large
1262+
- ubuntu2404-large
1263+
tags: [earthly, pr-merge-gate, alpine3.16-clang, alpine3.16-gcc, alpine3.17-clang, alpine3.17-gcc, alpine3.18-clang, alpine3.18-gcc, alpine3.19-clang, alpine3.19-gcc, archlinux-clang, archlinux-gcc, u20-clang, u20-gcc, u22-clang, u22-gcc]
1264+
commands:
1265+
- func: docker-login-amazon-ecr
1266+
- command: subprocess.exec
1267+
type: setup
1268+
params:
1269+
binary: ./tools/earthly.sh
1270+
working_dir: mongoc
1271+
include_expansions_in_env:
1272+
- DOCKER_CONFIG
1273+
args:
1274+
- --buildkit-image=901841024863.dkr.ecr.us-east-1.amazonaws.com/dockerhub/earthly/buildkitd:v0.8.3
1275+
- +env-warmup
1276+
- --default_search_registry=901841024863.dkr.ecr.us-east-1.amazonaws.com/dockerhub
1277+
- --sasl=Cyrus
1278+
- --tls=off
1279+
- --test_mongocxx_ref=master
1280+
- --env=${MONGOC_EARTHLY_ENV}
1281+
- --c_compiler=${MONGOC_EARTHLY_C_COMPILER}
1282+
- command: subprocess.exec
1283+
type: test
1284+
params:
1285+
binary: ./tools/earthly.sh
1286+
working_dir: mongoc
1287+
include_expansions_in_env:
1288+
- DOCKER_CONFIG
1289+
args:
1290+
- --buildkit-image=901841024863.dkr.ecr.us-east-1.amazonaws.com/dockerhub/earthly/buildkitd:v0.8.3
1291+
- +run
1292+
- --default_search_registry=901841024863.dkr.ecr.us-east-1.amazonaws.com/dockerhub
1293+
- --targets=test-example test-cxx-driver
1294+
- --sasl=Cyrus
1295+
- --tls=off
1296+
- --test_mongocxx_ref=master
1297+
- --env=${MONGOC_EARTHLY_ENV}
1298+
- --c_compiler=${MONGOC_EARTHLY_C_COMPILER}
11701299
- name: "check:sasl=Cyrus\_\u2022\_tls=off\_\u2022\_test_mongocxx_ref=none"
11711300
run_on:
11721301
- amazon2
@@ -1210,6 +1339,92 @@ tasks:
12101339
- --test_mongocxx_ref=none
12111340
- --env=${MONGOC_EARTHLY_ENV}
12121341
- --c_compiler=${MONGOC_EARTHLY_C_COMPILER}
1342+
- name: "check:sasl=Cyrus\_\u2022\_tls=off\_\u2022\_test_mongocxx_ref=r4.1.0"
1343+
run_on:
1344+
- amazon2
1345+
- debian11-large
1346+
- debian12-large
1347+
- ubuntu2204-large
1348+
- ubuntu2404-large
1349+
tags: [earthly, pr-merge-gate, alpine3.16-clang, alpine3.16-gcc, alpine3.17-clang, alpine3.17-gcc, alpine3.18-clang, alpine3.18-gcc, alpine3.19-clang, alpine3.19-gcc, archlinux-clang, archlinux-gcc, u20-clang, u20-gcc, u22-clang, u22-gcc]
1350+
commands:
1351+
- func: docker-login-amazon-ecr
1352+
- command: subprocess.exec
1353+
type: setup
1354+
params:
1355+
binary: ./tools/earthly.sh
1356+
working_dir: mongoc
1357+
include_expansions_in_env:
1358+
- DOCKER_CONFIG
1359+
args:
1360+
- --buildkit-image=901841024863.dkr.ecr.us-east-1.amazonaws.com/dockerhub/earthly/buildkitd:v0.8.3
1361+
- +env-warmup
1362+
- --default_search_registry=901841024863.dkr.ecr.us-east-1.amazonaws.com/dockerhub
1363+
- --sasl=Cyrus
1364+
- --tls=off
1365+
- --test_mongocxx_ref=r4.1.0
1366+
- --env=${MONGOC_EARTHLY_ENV}
1367+
- --c_compiler=${MONGOC_EARTHLY_C_COMPILER}
1368+
- command: subprocess.exec
1369+
type: test
1370+
params:
1371+
binary: ./tools/earthly.sh
1372+
working_dir: mongoc
1373+
include_expansions_in_env:
1374+
- DOCKER_CONFIG
1375+
args:
1376+
- --buildkit-image=901841024863.dkr.ecr.us-east-1.amazonaws.com/dockerhub/earthly/buildkitd:v0.8.3
1377+
- +run
1378+
- --default_search_registry=901841024863.dkr.ecr.us-east-1.amazonaws.com/dockerhub
1379+
- --targets=test-example test-cxx-driver
1380+
- --sasl=Cyrus
1381+
- --tls=off
1382+
- --test_mongocxx_ref=r4.1.0
1383+
- --env=${MONGOC_EARTHLY_ENV}
1384+
- --c_compiler=${MONGOC_EARTHLY_C_COMPILER}
1385+
- name: "check:sasl=off\_\u2022\_tls=OpenSSL\_\u2022\_test_mongocxx_ref=master"
1386+
run_on:
1387+
- amazon2
1388+
- debian11-large
1389+
- debian12-large
1390+
- ubuntu2204-large
1391+
- ubuntu2404-large
1392+
tags: [earthly, pr-merge-gate, alpine3.16-clang, alpine3.16-gcc, alpine3.17-clang, alpine3.17-gcc, alpine3.18-clang, alpine3.18-gcc, alpine3.19-clang, alpine3.19-gcc, archlinux-clang, archlinux-gcc, u20-clang, u20-gcc, u22-clang, u22-gcc]
1393+
commands:
1394+
- func: docker-login-amazon-ecr
1395+
- command: subprocess.exec
1396+
type: setup
1397+
params:
1398+
binary: ./tools/earthly.sh
1399+
working_dir: mongoc
1400+
include_expansions_in_env:
1401+
- DOCKER_CONFIG
1402+
args:
1403+
- --buildkit-image=901841024863.dkr.ecr.us-east-1.amazonaws.com/dockerhub/earthly/buildkitd:v0.8.3
1404+
- +env-warmup
1405+
- --default_search_registry=901841024863.dkr.ecr.us-east-1.amazonaws.com/dockerhub
1406+
- --sasl=off
1407+
- --tls=OpenSSL
1408+
- --test_mongocxx_ref=master
1409+
- --env=${MONGOC_EARTHLY_ENV}
1410+
- --c_compiler=${MONGOC_EARTHLY_C_COMPILER}
1411+
- command: subprocess.exec
1412+
type: test
1413+
params:
1414+
binary: ./tools/earthly.sh
1415+
working_dir: mongoc
1416+
include_expansions_in_env:
1417+
- DOCKER_CONFIG
1418+
args:
1419+
- --buildkit-image=901841024863.dkr.ecr.us-east-1.amazonaws.com/dockerhub/earthly/buildkitd:v0.8.3
1420+
- +run
1421+
- --default_search_registry=901841024863.dkr.ecr.us-east-1.amazonaws.com/dockerhub
1422+
- --targets=test-example test-cxx-driver
1423+
- --sasl=off
1424+
- --tls=OpenSSL
1425+
- --test_mongocxx_ref=master
1426+
- --env=${MONGOC_EARTHLY_ENV}
1427+
- --c_compiler=${MONGOC_EARTHLY_C_COMPILER}
12131428
- name: "check:sasl=off\_\u2022\_tls=OpenSSL\_\u2022\_test_mongocxx_ref=none"
12141429
run_on:
12151430
- amazon2
@@ -1253,6 +1468,92 @@ tasks:
12531468
- --test_mongocxx_ref=none
12541469
- --env=${MONGOC_EARTHLY_ENV}
12551470
- --c_compiler=${MONGOC_EARTHLY_C_COMPILER}
1471+
- name: "check:sasl=off\_\u2022\_tls=OpenSSL\_\u2022\_test_mongocxx_ref=r4.1.0"
1472+
run_on:
1473+
- amazon2
1474+
- debian11-large
1475+
- debian12-large
1476+
- ubuntu2204-large
1477+
- ubuntu2404-large
1478+
tags: [earthly, pr-merge-gate, alpine3.16-clang, alpine3.16-gcc, alpine3.17-clang, alpine3.17-gcc, alpine3.18-clang, alpine3.18-gcc, alpine3.19-clang, alpine3.19-gcc, archlinux-clang, archlinux-gcc, u20-clang, u20-gcc, u22-clang, u22-gcc]
1479+
commands:
1480+
- func: docker-login-amazon-ecr
1481+
- command: subprocess.exec
1482+
type: setup
1483+
params:
1484+
binary: ./tools/earthly.sh
1485+
working_dir: mongoc
1486+
include_expansions_in_env:
1487+
- DOCKER_CONFIG
1488+
args:
1489+
- --buildkit-image=901841024863.dkr.ecr.us-east-1.amazonaws.com/dockerhub/earthly/buildkitd:v0.8.3
1490+
- +env-warmup
1491+
- --default_search_registry=901841024863.dkr.ecr.us-east-1.amazonaws.com/dockerhub
1492+
- --sasl=off
1493+
- --tls=OpenSSL
1494+
- --test_mongocxx_ref=r4.1.0
1495+
- --env=${MONGOC_EARTHLY_ENV}
1496+
- --c_compiler=${MONGOC_EARTHLY_C_COMPILER}
1497+
- command: subprocess.exec
1498+
type: test
1499+
params:
1500+
binary: ./tools/earthly.sh
1501+
working_dir: mongoc
1502+
include_expansions_in_env:
1503+
- DOCKER_CONFIG
1504+
args:
1505+
- --buildkit-image=901841024863.dkr.ecr.us-east-1.amazonaws.com/dockerhub/earthly/buildkitd:v0.8.3
1506+
- +run
1507+
- --default_search_registry=901841024863.dkr.ecr.us-east-1.amazonaws.com/dockerhub
1508+
- --targets=test-example test-cxx-driver
1509+
- --sasl=off
1510+
- --tls=OpenSSL
1511+
- --test_mongocxx_ref=r4.1.0
1512+
- --env=${MONGOC_EARTHLY_ENV}
1513+
- --c_compiler=${MONGOC_EARTHLY_C_COMPILER}
1514+
- name: "check:sasl=off\_\u2022\_tls=off\_\u2022\_test_mongocxx_ref=master"
1515+
run_on:
1516+
- amazon2
1517+
- debian11-large
1518+
- debian12-large
1519+
- ubuntu2204-large
1520+
- ubuntu2404-large
1521+
tags: [earthly, pr-merge-gate, alpine3.16-clang, alpine3.16-gcc, alpine3.17-clang, alpine3.17-gcc, alpine3.18-clang, alpine3.18-gcc, alpine3.19-clang, alpine3.19-gcc, archlinux-clang, archlinux-gcc, u20-clang, u20-gcc, u22-clang, u22-gcc]
1522+
commands:
1523+
- func: docker-login-amazon-ecr
1524+
- command: subprocess.exec
1525+
type: setup
1526+
params:
1527+
binary: ./tools/earthly.sh
1528+
working_dir: mongoc
1529+
include_expansions_in_env:
1530+
- DOCKER_CONFIG
1531+
args:
1532+
- --buildkit-image=901841024863.dkr.ecr.us-east-1.amazonaws.com/dockerhub/earthly/buildkitd:v0.8.3
1533+
- +env-warmup
1534+
- --default_search_registry=901841024863.dkr.ecr.us-east-1.amazonaws.com/dockerhub
1535+
- --sasl=off
1536+
- --tls=off
1537+
- --test_mongocxx_ref=master
1538+
- --env=${MONGOC_EARTHLY_ENV}
1539+
- --c_compiler=${MONGOC_EARTHLY_C_COMPILER}
1540+
- command: subprocess.exec
1541+
type: test
1542+
params:
1543+
binary: ./tools/earthly.sh
1544+
working_dir: mongoc
1545+
include_expansions_in_env:
1546+
- DOCKER_CONFIG
1547+
args:
1548+
- --buildkit-image=901841024863.dkr.ecr.us-east-1.amazonaws.com/dockerhub/earthly/buildkitd:v0.8.3
1549+
- +run
1550+
- --default_search_registry=901841024863.dkr.ecr.us-east-1.amazonaws.com/dockerhub
1551+
- --targets=test-example test-cxx-driver
1552+
- --sasl=off
1553+
- --tls=off
1554+
- --test_mongocxx_ref=master
1555+
- --env=${MONGOC_EARTHLY_ENV}
1556+
- --c_compiler=${MONGOC_EARTHLY_C_COMPILER}
12561557
- name: "check:sasl=off\_\u2022\_tls=off\_\u2022\_test_mongocxx_ref=none"
12571558
run_on:
12581559
- amazon2
@@ -1296,6 +1597,49 @@ tasks:
12961597
- --test_mongocxx_ref=none
12971598
- --env=${MONGOC_EARTHLY_ENV}
12981599
- --c_compiler=${MONGOC_EARTHLY_C_COMPILER}
1600+
- name: "check:sasl=off\_\u2022\_tls=off\_\u2022\_test_mongocxx_ref=r4.1.0"
1601+
run_on:
1602+
- amazon2
1603+
- debian11-large
1604+
- debian12-large
1605+
- ubuntu2204-large
1606+
- ubuntu2404-large
1607+
tags: [earthly, pr-merge-gate, alpine3.16-clang, alpine3.16-gcc, alpine3.17-clang, alpine3.17-gcc, alpine3.18-clang, alpine3.18-gcc, alpine3.19-clang, alpine3.19-gcc, archlinux-clang, archlinux-gcc, u20-clang, u20-gcc, u22-clang, u22-gcc]
1608+
commands:
1609+
- func: docker-login-amazon-ecr
1610+
- command: subprocess.exec
1611+
type: setup
1612+
params:
1613+
binary: ./tools/earthly.sh
1614+
working_dir: mongoc
1615+
include_expansions_in_env:
1616+
- DOCKER_CONFIG
1617+
args:
1618+
- --buildkit-image=901841024863.dkr.ecr.us-east-1.amazonaws.com/dockerhub/earthly/buildkitd:v0.8.3
1619+
- +env-warmup
1620+
- --default_search_registry=901841024863.dkr.ecr.us-east-1.amazonaws.com/dockerhub
1621+
- --sasl=off
1622+
- --tls=off
1623+
- --test_mongocxx_ref=r4.1.0
1624+
- --env=${MONGOC_EARTHLY_ENV}
1625+
- --c_compiler=${MONGOC_EARTHLY_C_COMPILER}
1626+
- command: subprocess.exec
1627+
type: test
1628+
params:
1629+
binary: ./tools/earthly.sh
1630+
working_dir: mongoc
1631+
include_expansions_in_env:
1632+
- DOCKER_CONFIG
1633+
args:
1634+
- --buildkit-image=901841024863.dkr.ecr.us-east-1.amazonaws.com/dockerhub/earthly/buildkitd:v0.8.3
1635+
- +run
1636+
- --default_search_registry=901841024863.dkr.ecr.us-east-1.amazonaws.com/dockerhub
1637+
- --targets=test-example test-cxx-driver
1638+
- --sasl=off
1639+
- --tls=off
1640+
- --test_mongocxx_ref=r4.1.0
1641+
- --env=${MONGOC_EARTHLY_ENV}
1642+
- --c_compiler=${MONGOC_EARTHLY_C_COMPILER}
12991643
- name: clang-format
13001644
tags: [clang-format]
13011645
commands:

0 commit comments

Comments
 (0)