Skip to content

Commit 01a39e7

Browse files
authored
PHPC-2376: Test against MongoDB 8.0 (#1598)
* PHPC-2376: Test against MongoDB 8.0 * Update libmongoc to latest master version * Don't rely on python being in PATH
1 parent 8102d2b commit 01a39e7

23 files changed

+892
-251
lines changed

.evergreen/compile-unix.sh

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -65,19 +65,18 @@ esac
6565
# Report the current PHP version
6666
echo "PHP: `php --version | head -n 1`"
6767

68-
# If we're testing a specific version of libmongoc, update submodule sources
68+
# If we're testing a specific version of libmongoc, update submodule sources and version
6969
if [ -n "$LIBMONGOC_VERSION" ]; then
70+
echo "Finding Python3 binary..."
71+
PYTHON="$(bash -c ". $DRIVERS_TOOLS/.evergreen/find-python3.sh && find_python3 2>/dev/null")"
72+
echo "Finding Python3 binary... done."
73+
7074
php scripts/update-submodule-sources.php
75+
# We invoke python manually as it may not be in the path
76+
$PYTHON src/libmongoc/build/calc_release_version.py > src/LIBMONGOC_VERSION_CURRENT
7177
fi
7278

7379
phpize
7480
./configure --enable-mongodb-developer-flags
7581

76-
# configure relies on version information in libmongoc-version-current, but the target is not available until after calling configure
77-
# To work around this, run the make target, then run configure again
78-
if [ -n "$LIBMONGOC_VERSION" ]; then
79-
make libmongoc-version-current
80-
./configure --enable-mongodb-developer-flags
81-
fi
82-
8382
make test TESTS="tests/smoketest.phpt"

.evergreen/config.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ include:
7575
- filename: .evergreen/config/generated/build/build-libmongoc-8.3.yml
7676
- filename: .evergreen/config/generated/test/local-latest.yml
7777
- filename: .evergreen/config/generated/test/local-rapid.yml
78+
- filename: .evergreen/config/generated/test/local-8.0.yml
7879
- filename: .evergreen/config/generated/test/local-7.0.yml
7980
- filename: .evergreen/config/generated/test/local-6.0.yml
8081
- filename: .evergreen/config/generated/test/local-5.0.yml
@@ -84,22 +85,26 @@ include:
8485
- filename: .evergreen/config/generated/test/local-3.6.yml
8586
- filename: .evergreen/config/generated/test/load-balanced-latest.yml
8687
- filename: .evergreen/config/generated/test/load-balanced-rapid.yml
88+
- filename: .evergreen/config/generated/test/load-balanced-8.0.yml
8789
- filename: .evergreen/config/generated/test/load-balanced-7.0.yml
8890
- filename: .evergreen/config/generated/test/load-balanced-6.0.yml
8991
- filename: .evergreen/config/generated/test/load-balanced-5.0.yml
9092
- filename: .evergreen/config/generated/test/ocsp-latest.yml
9193
- filename: .evergreen/config/generated/test/ocsp-rapid.yml
94+
- filename: .evergreen/config/generated/test/ocsp-8.0.yml
9295
- filename: .evergreen/config/generated/test/ocsp-7.0.yml
9396
- filename: .evergreen/config/generated/test/ocsp-6.0.yml
9497
- filename: .evergreen/config/generated/test/ocsp-5.0.yml
9598
- filename: .evergreen/config/generated/test/ocsp-4.4.yml
9699
- filename: .evergreen/config/generated/test/require-api-version-latest.yml
97100
- filename: .evergreen/config/generated/test/require-api-version-rapid.yml
101+
- filename: .evergreen/config/generated/test/require-api-version-8.0.yml
98102
- filename: .evergreen/config/generated/test/require-api-version-7.0.yml
99103
- filename: .evergreen/config/generated/test/require-api-version-6.0.yml
100104
- filename: .evergreen/config/generated/test/require-api-version-5.0.yml
101105
- filename: .evergreen/config/generated/test/skip-crypt-shared-latest.yml
102106
- filename: .evergreen/config/generated/test/skip-crypt-shared-rapid.yml
107+
- filename: .evergreen/config/generated/test/skip-crypt-shared-8.0.yml
103108
- filename: .evergreen/config/generated/test/skip-crypt-shared-7.0.yml
104109
- filename: .evergreen/config/generated/test/skip-crypt-shared-6.0.yml
105110
- filename: .evergreen/config/generated/test-variant/full-php-8.3.yml

.evergreen/config/build-variants.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,19 @@
33
#
44
buildvariants:
55
# Debian
6+
- name: build-debian12
7+
display_name: "Build: Debian 12"
8+
tags: ["build", "debian", "x64", "pr", "tag"]
9+
run_on: debian12-small
10+
tasks:
11+
- name: "build-php-openssl3"
12+
- name: "build-php-libmongoc"
613
- name: build-debian11
714
display_name: "Build: Debian 11"
815
tags: ["build", "debian", "x64", "pr", "tag"]
916
run_on: debian11-small
1017
tasks:
1118
- name: "build-all-php"
12-
- name: "build-php-libmongoc"
1319
- name: build-debian10
1420
display_name: "Build: Debian 10"
1521
tags: ["build", "debian", "x64", "pr", "tag"]

.evergreen/config/generate-config.php

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,22 @@
22
<?php
33

44
// Supported PHP versions. Add new versions to the beginning of the list
5-
$supportedPhpVersions = [
5+
$modernPhpVersions = [
66
'8.3',
77
'8.2',
88
'8.1',
9+
];
10+
$legacyPhpVersions = [
911
'8.0',
1012
'7.4',
1113
];
14+
$supportedPhpVersions = array_merge($modernPhpVersions, $legacyPhpVersions);
1215

1316
// Supported MongoDB versions. Add new versions after "rapid"
1417
$supportedMongoDBVersions = [
1518
'latest',
1619
'rapid',
20+
'8.0',
1721
'7.0',
1822
'6.0',
1923
'5.0',
@@ -65,7 +69,8 @@
6569
$allFiles[] = generateConfigs('test', 'mongodbVersion', 'skip-crypt-shared.yml', 'skip-crypt-shared-%s', $skipCryptSharedServerVersions);
6670

6771
// Test variants
68-
$allFiles[] = generateConfigs('test-variant', 'phpVersion', 'full.yml', 'full-php-%s', $supportedPhpVersions);
72+
$allFiles[] = generateConfigs('test-variant', 'phpVersion', 'modern-php-full.yml', 'full-php-%s', $modernPhpVersions);
73+
$allFiles[] = generateConfigs('test-variant', 'phpVersion', 'legacy-php-full.yml', 'full-php-%s', $legacyPhpVersions);
6974
$allFiles[] = generateConfigs('test-variant', 'phpVersion', 'libmongoc.yml', 'libmongoc-php-%s', [$latestPhpVersion]);
7075

7176
echo "Generated config. Use the following list to import files:\n";

.evergreen/config/generated/test-variant/full-php-7.4.yml

Lines changed: 18 additions & 14 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.evergreen/config/generated/test-variant/full-php-8.0.yml

Lines changed: 18 additions & 14 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.evergreen/config/generated/test-variant/full-php-8.1.yml

Lines changed: 44 additions & 19 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)