Skip to content

Commit 310ed92

Browse files
committed
Apply recent changes from PHPC config
This moves templates and generated files to separate folders and changes the loadbalanced tests to use its own topology instead of "sharded".
1 parent e213255 commit 310ed92

39 files changed

+102
-91
lines changed

.evergreen/config.yml

Lines changed: 33 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,9 @@ command_type: system
99
# Fail builds when pre tasks fail.
1010
pre_error_fails_task: true
1111

12-
# Protect ourselves against rogue test case that runs forever
13-
# Good rule of thumb: the average length a task takes, times 5, which roughly accounts for variable system performance
14-
# for various build variants
15-
exec_timeout_secs: 1800
12+
# Protect ourselves against rogue test case that runs forever. Tasks are killed after 10 minutes, which shouldn't occur
13+
# under normal circumstances.
14+
exec_timeout_secs: 600
1615

1716
# These pre and post rules apply to all tasks not part of a task group, which should only ever be tests against local
1817
# MongoDB instances. All other tasks that require special preparation should be run from within a task group
@@ -51,33 +50,33 @@ include:
5150
- filename: .evergreen/config/test-variants.yml
5251

5352
# Automatically generated files
54-
- filename: .evergreen/config/build/build-php-8.2.yml
55-
- filename: .evergreen/config/build/build-php-8.1.yml
56-
- filename: .evergreen/config/build/build-php-8.0.yml
57-
- filename: .evergreen/config/build/build-php-7.4.yml
58-
- filename: .evergreen/config/test/local-latest.yml
59-
- filename: .evergreen/config/test/local-rapid.yml
60-
- filename: .evergreen/config/test/local-7.0.yml
61-
- filename: .evergreen/config/test/local-6.0.yml
62-
- filename: .evergreen/config/test/local-5.0.yml
63-
- filename: .evergreen/config/test/local-4.4.yml
64-
- filename: .evergreen/config/test/local-4.2.yml
65-
- filename: .evergreen/config/test/local-4.0.yml
66-
- filename: .evergreen/config/test/local-3.6.yml
67-
- filename: .evergreen/config/test/load-balanced-latest.yml
68-
- filename: .evergreen/config/test/load-balanced-rapid.yml
69-
- filename: .evergreen/config/test/load-balanced-7.0.yml
70-
- filename: .evergreen/config/test/load-balanced-6.0.yml
71-
- filename: .evergreen/config/test/load-balanced-5.0.yml
72-
- filename: .evergreen/config/test/require-api-version-latest.yml
73-
- filename: .evergreen/config/test/require-api-version-rapid.yml
74-
- filename: .evergreen/config/test/require-api-version-7.0.yml
75-
- filename: .evergreen/config/test/require-api-version-6.0.yml
76-
- filename: .evergreen/config/test/require-api-version-5.0.yml
77-
- filename: .evergreen/config/test/csfle-latest.yml
78-
- filename: .evergreen/config/test/csfle-rapid.yml
79-
- filename: .evergreen/config/test/csfle-7.0.yml
80-
- filename: .evergreen/config/test/csfle-6.0.yml
81-
- filename: .evergreen/config/test/csfle-5.0.yml
82-
- filename: .evergreen/config/test/csfle-4.4.yml
83-
- filename: .evergreen/config/test/csfle-4.2.yml
53+
- filename: .evergreen/config/generated/build/build-php-8.2.yml
54+
- filename: .evergreen/config/generated/build/build-php-8.1.yml
55+
- filename: .evergreen/config/generated/build/build-php-8.0.yml
56+
- filename: .evergreen/config/generated/build/build-php-7.4.yml
57+
- filename: .evergreen/config/generated/test/local-latest.yml
58+
- filename: .evergreen/config/generated/test/local-rapid.yml
59+
- filename: .evergreen/config/generated/test/local-7.0.yml
60+
- filename: .evergreen/config/generated/test/local-6.0.yml
61+
- filename: .evergreen/config/generated/test/local-5.0.yml
62+
- filename: .evergreen/config/generated/test/local-4.4.yml
63+
- filename: .evergreen/config/generated/test/local-4.2.yml
64+
- filename: .evergreen/config/generated/test/local-4.0.yml
65+
- filename: .evergreen/config/generated/test/local-3.6.yml
66+
- filename: .evergreen/config/generated/test/load-balanced-latest.yml
67+
- filename: .evergreen/config/generated/test/load-balanced-rapid.yml
68+
- filename: .evergreen/config/generated/test/load-balanced-7.0.yml
69+
- filename: .evergreen/config/generated/test/load-balanced-6.0.yml
70+
- filename: .evergreen/config/generated/test/load-balanced-5.0.yml
71+
- filename: .evergreen/config/generated/test/require-api-version-latest.yml
72+
- filename: .evergreen/config/generated/test/require-api-version-rapid.yml
73+
- filename: .evergreen/config/generated/test/require-api-version-7.0.yml
74+
- filename: .evergreen/config/generated/test/require-api-version-6.0.yml
75+
- filename: .evergreen/config/generated/test/require-api-version-5.0.yml
76+
- filename: .evergreen/config/generated/test/csfle-latest.yml
77+
- filename: .evergreen/config/generated/test/csfle-rapid.yml
78+
- filename: .evergreen/config/generated/test/csfle-7.0.yml
79+
- filename: .evergreen/config/generated/test/csfle-6.0.yml
80+
- filename: .evergreen/config/generated/test/csfle-5.0.yml
81+
- filename: .evergreen/config/generated/test/csfle-4.4.yml
82+
- filename: .evergreen/config/generated/test/csfle-4.2.yml

.evergreen/config/generate-config.php

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

44
// Supported PHP versions. Add new versions to the beginning of the list
5-
$supportedPhpVersions = ['8.2', '8.1', '8.0', '7.4'];
5+
$supportedPhpVersions = [
6+
'8.2',
7+
'8.1',
8+
'8.0',
9+
'7.4'
10+
];
611

712
// Supported MongoDB versions. Add new versions after "rapid"
813
$supportedMongoDBVersions = [
9-
'latest', 'rapid',
10-
'7.0', '6.0', '5.0',
11-
'4.4', '4.2', '4.0',
14+
'latest',
15+
'rapid',
16+
'7.0',
17+
'6.0',
18+
'5.0',
19+
'4.4',
20+
'4.2',
21+
'4.0',
1222
'3.6',
1323
];
1424

@@ -33,13 +43,13 @@
3343
$allFiles = [];
3444

3545
// Build tasks
36-
$allFiles[] = generateConfigs('build', 'phpVersion', '_template-build-extension.yml', 'build-php-%s', $supportedPhpVersions);
46+
$allFiles[] = generateConfigs('build', 'phpVersion', 'build-extension.yml', 'build-php-%s', $supportedPhpVersions);
3747

3848
// Test tasks
39-
$allFiles[] = generateConfigs('test', 'mongodbVersion', '_template-local.yml', 'local-%s', $localServerVersions);
40-
$allFiles[] = generateConfigs('test', 'mongodbVersion', '_template-load-balanced.yml', 'load-balanced-%s', $loadBalancedServerVersions);
41-
$allFiles[] = generateConfigs('test', 'mongodbVersion', '_template-require-api-version.yml', 'require-api-version-%s', $requireApiServerVersions);
42-
$allFiles[] = generateConfigs('test', 'mongodbVersion', '_template-csfle.yml', 'csfle-%s', $csfleServerVersions);
49+
$allFiles[] = generateConfigs('test', 'mongodbVersion', 'local.yml', 'local-%s', $localServerVersions);
50+
$allFiles[] = generateConfigs('test', 'mongodbVersion', 'load-balanced.yml', 'load-balanced-%s', $loadBalancedServerVersions);
51+
$allFiles[] = generateConfigs('test', 'mongodbVersion', 'require-api-version.yml', 'require-api-version-%s', $requireApiServerVersions);
52+
$allFiles[] = generateConfigs('test', 'mongodbVersion', 'csfle.yml', 'csfle-%s', $csfleServerVersions);
4353

4454
echo "Generated config. Use the following list to import files:\n";
4555
echo implode("\n", array_map('getImportConfig', array_merge(...$allFiles))) . "\n";
@@ -56,13 +66,17 @@ function generateConfigs(
5666
string $outputFormat,
5767
array $versions,
5868
): array {
59-
$template = file_get_contents(__DIR__ . '/' . $directory . '/' . $templateFile);
60-
$header = '# This file is generated automatically - please edit the corresponding template file!';
69+
$templateRelativePath = 'templates/' . $directory . '/' . $templateFile;
70+
$template = file_get_contents(__DIR__ . '/' . $templateRelativePath);
71+
$header = sprintf(
72+
'# This file is generated automatically - please edit the "%s" template file instead.',
73+
$templateRelativePath
74+
);
6175

6276
$files = [];
6377

6478
foreach ($versions as $version) {
65-
$filename = sprintf('/%s/' . $outputFormat . '.yml', $directory, $version);
79+
$filename = sprintf('/generated/%s/' . $outputFormat . '.yml', $directory, $version);
6680
$files[] = '.evergreen/config' . $filename;
6781

6882
$replacements = ['%' . $replacementName . '%' => $version];
@@ -72,4 +86,3 @@ function generateConfigs(
7286

7387
return $files;
7488
}
75-

.evergreen/config/build/build-php-7.4.yml renamed to .evergreen/config/generated/build/build-php-7.4.yml

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

.evergreen/config/build/build-php-8.0.yml renamed to .evergreen/config/generated/build/build-php-8.0.yml

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

.evergreen/config/build/build-php-8.1.yml renamed to .evergreen/config/generated/build/build-php-8.1.yml

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

.evergreen/config/build/build-php-8.2.yml renamed to .evergreen/config/generated/build/build-php-8.2.yml

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

.evergreen/config/test/csfle-4.2.yml renamed to .evergreen/config/generated/test/csfle-4.2.yml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.evergreen/config/test/csfle-4.4.yml renamed to .evergreen/config/generated/test/csfle-4.4.yml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.evergreen/config/test/csfle-5.0.yml renamed to .evergreen/config/generated/test/csfle-5.0.yml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.evergreen/config/test/csfle-6.0.yml renamed to .evergreen/config/generated/test/csfle-6.0.yml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.evergreen/config/test/csfle-7.0.yml renamed to .evergreen/config/generated/test/csfle-7.0.yml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.evergreen/config/test/csfle-latest.yml renamed to .evergreen/config/generated/test/csfle-latest.yml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.evergreen/config/test/csfle-rapid.yml renamed to .evergreen/config/generated/test/csfle-rapid.yml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.evergreen/config/test/load-balanced-5.0.yml renamed to .evergreen/config/generated/test/load-balanced-5.0.yml

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

.evergreen/config/test/load-balanced-6.0.yml renamed to .evergreen/config/generated/test/load-balanced-6.0.yml

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

.evergreen/config/test/load-balanced-7.0.yml renamed to .evergreen/config/generated/test/load-balanced-7.0.yml

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

.evergreen/config/test/load-balanced-latest.yml renamed to .evergreen/config/generated/test/load-balanced-latest.yml

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

.evergreen/config/test/load-balanced-rapid.yml renamed to .evergreen/config/generated/test/load-balanced-rapid.yml

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

.evergreen/config/test/local-3.6.yml renamed to .evergreen/config/generated/test/local-3.6.yml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.evergreen/config/test/local-4.0.yml renamed to .evergreen/config/generated/test/local-4.0.yml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.evergreen/config/test/local-4.2.yml renamed to .evergreen/config/generated/test/local-4.2.yml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.evergreen/config/test/local-4.4.yml renamed to .evergreen/config/generated/test/local-4.4.yml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.evergreen/config/test/local-5.0.yml renamed to .evergreen/config/generated/test/local-5.0.yml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.evergreen/config/test/local-6.0.yml renamed to .evergreen/config/generated/test/local-6.0.yml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.evergreen/config/test/local-7.0.yml renamed to .evergreen/config/generated/test/local-7.0.yml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.evergreen/config/test/local-latest.yml renamed to .evergreen/config/generated/test/local-latest.yml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.evergreen/config/test/local-rapid.yml renamed to .evergreen/config/generated/test/local-rapid.yml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.evergreen/config/test/require-api-version-5.0.yml renamed to .evergreen/config/generated/test/require-api-version-5.0.yml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.evergreen/config/test/require-api-version-6.0.yml renamed to .evergreen/config/generated/test/require-api-version-6.0.yml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.evergreen/config/test/require-api-version-7.0.yml renamed to .evergreen/config/generated/test/require-api-version-7.0.yml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.evergreen/config/test/require-api-version-latest.yml renamed to .evergreen/config/generated/test/require-api-version-latest.yml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.evergreen/config/test/require-api-version-rapid.yml renamed to .evergreen/config/generated/test/require-api-version-rapid.yml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.evergreen/config/test/_template-load-balanced.yml renamed to .evergreen/config/templates/test/load-balanced.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
tasks:
22
- name: "test-mongodb-%mongodbVersion%-loadbalanced"
3-
tags: ["sharded", "local", "%mongodbVersion%", "loadbalanced"]
3+
tags: ["loadbalanced", "local", "%mongodbVersion%"]
44
commands:
55
- func: "bootstrap mongo-orchestration"
66
vars:

.evergreen/config/test-variants.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ buildvariants:
1919
- ".standalone .local !.3.6 !.4.0 !.4.2 !.4.4 !.5.0"
2020
- ".replicaset .local !.csfle !.3.6 !.4.0 !.4.2 !.4.4 !.5.0"
2121
- ".sharded .local !.3.6 !.4.0 !.4.2 !.4.4 !.5.0"
22+
- ".loadbalanced .local !.3.6 !.4.0 !.4.2 !.4.4 !.5.0"
2223
- ".serverless"
2324
- "test-atlas-data-lake"
2425
- name: test-debian92-php82-local
@@ -37,6 +38,7 @@ buildvariants:
3738
- ".standalone .local !.6.0 !.7.0 !.rapid !.latest"
3839
- ".replicaset .local !.csfle !.6.0 !.7.0 !.rapid !.latest"
3940
- ".sharded .local !.6.0 !.7.0 !.rapid !.latest"
41+
- ".loadbalanced .local !.6.0 !.7.0 !.rapid !.latest"
4042

4143
# Test remaining PHP versions with replica sets on Debian 11 with MongoDB 7.0
4244
- name: test-debian11-php81-local

.gitattributes

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,4 @@ psalm.xml.dist export-ignore
1616
psalm-baseline.xml export-ignore
1717

1818
# Prevent generated build files from showing diffs in pull requests
19-
.evergreen/config/build/*.yml linguist-generated=true
20-
.evergreen/config/build/_template*.yml linguist-generated=false
21-
.evergreen/config/test/*.yml linguist-generated=true
22-
.evergreen/config/test/_template*.yml linguist-generated=false
19+
.evergreen/config/generated/** linguist-generated=true

0 commit comments

Comments
 (0)