Skip to content

Commit 862861d

Browse files
committed
Merge branch 'v1.19' into merge-v1.19-into-master-1721217697512
* v1.19: Reduce amount of evergreen config includes (#1362)
2 parents f4815a1 + 9a42fd3 commit 862861d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+1410
-1571
lines changed

.evergreen/config.yml

Lines changed: 7 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -65,45 +65,10 @@ include:
6565
- filename: .evergreen/config/test-variants.yml
6666

6767
# Automatically generated files
68-
- filename: .evergreen/config/generated/build/build-php-8.3.yml
69-
- filename: .evergreen/config/generated/build/build-php-8.2.yml
70-
- filename: .evergreen/config/generated/build/build-php-8.1.yml
71-
- filename: .evergreen/config/generated/build/build-php-8.0.yml
72-
- filename: .evergreen/config/generated/build/build-php-7.4.yml
73-
- filename: .evergreen/config/generated/test/local-latest.yml
74-
- filename: .evergreen/config/generated/test/local-rapid.yml
75-
- filename: .evergreen/config/generated/test/local-8.0.yml
76-
- filename: .evergreen/config/generated/test/local-7.0.yml
77-
- filename: .evergreen/config/generated/test/local-6.0.yml
78-
- filename: .evergreen/config/generated/test/local-5.0.yml
79-
- filename: .evergreen/config/generated/test/local-4.4.yml
80-
- filename: .evergreen/config/generated/test/local-4.2.yml
81-
- filename: .evergreen/config/generated/test/local-4.0.yml
82-
- filename: .evergreen/config/generated/test/load-balanced-latest.yml
83-
- filename: .evergreen/config/generated/test/load-balanced-rapid.yml
84-
- filename: .evergreen/config/generated/test/load-balanced-8.0.yml
85-
- filename: .evergreen/config/generated/test/load-balanced-7.0.yml
86-
- filename: .evergreen/config/generated/test/load-balanced-6.0.yml
87-
- filename: .evergreen/config/generated/test/load-balanced-5.0.yml
88-
- filename: .evergreen/config/generated/test/require-api-version-latest.yml
89-
- filename: .evergreen/config/generated/test/require-api-version-rapid.yml
90-
- filename: .evergreen/config/generated/test/require-api-version-8.0.yml
91-
- filename: .evergreen/config/generated/test/require-api-version-7.0.yml
92-
- filename: .evergreen/config/generated/test/require-api-version-6.0.yml
93-
- filename: .evergreen/config/generated/test/require-api-version-5.0.yml
94-
- filename: .evergreen/config/generated/test/csfle-latest.yml
95-
- filename: .evergreen/config/generated/test/csfle-rapid.yml
96-
- filename: .evergreen/config/generated/test/csfle-8.0.yml
97-
- filename: .evergreen/config/generated/test/csfle-7.0.yml
98-
- filename: .evergreen/config/generated/test/csfle-6.0.yml
99-
- filename: .evergreen/config/generated/test/csfle-5.0.yml
100-
- filename: .evergreen/config/generated/test/csfle-4.4.yml
101-
- filename: .evergreen/config/generated/test/csfle-4.2.yml
102-
- filename: .evergreen/config/generated/test-variant/full-php-8.3.yml
103-
- filename: .evergreen/config/generated/test-variant/full-php-8.2.yml
104-
- filename: .evergreen/config/generated/test-variant/full-php-8.1.yml
105-
- filename: .evergreen/config/generated/test-variant/full-php-8.0.yml
106-
- filename: .evergreen/config/generated/test-variant/full-php-7.4.yml
107-
# TODO: Re-enable when 1.20.0 is released
108-
# - filename: .evergreen/config/generated/test-variant/phpc-php-8.3.yml
109-
# - filename: .evergreen/config/generated/test-variant/lowest-php-7.4.yml
68+
- filename: .evergreen/config/generated/build/build-extension.yml
69+
- filename: .evergreen/config/generated/test/local.yml
70+
- filename: .evergreen/config/generated/test/load-balanced.yml
71+
- filename: .evergreen/config/generated/test/require-api-version.yml
72+
- filename: .evergreen/config/generated/test/csfle.yml
73+
- filename: .evergreen/config/generated/test-variant/modern-php-full.yml
74+
- filename: .evergreen/config/generated/test-variant/legacy-php-full.yml

.evergreen/config/generate-config.php

Lines changed: 25 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -50,53 +50,58 @@
5050
$allFiles = [];
5151

5252
// Build tasks
53-
$allFiles[] = generateConfigs('build', 'phpVersion', 'build-extension.yml', 'build-php-%s', $supportedPhpVersions);
53+
$allFiles[] = generateConfigs('tasks', 'build', 'phpVersion', 'build-extension.yml', $supportedPhpVersions);
5454

5555
// Test tasks
56-
$allFiles[] = generateConfigs('test', 'mongodbVersion', 'local.yml', 'local-%s', $localServerVersions);
57-
$allFiles[] = generateConfigs('test', 'mongodbVersion', 'load-balanced.yml', 'load-balanced-%s', $loadBalancedServerVersions);
58-
$allFiles[] = generateConfigs('test', 'mongodbVersion', 'require-api-version.yml', 'require-api-version-%s', $requireApiServerVersions);
59-
$allFiles[] = generateConfigs('test', 'mongodbVersion', 'csfle.yml', 'csfle-%s', $csfleServerVersions);
56+
$allFiles[] = generateConfigs('tasks', 'test', 'mongodbVersion', 'local.yml', $localServerVersions);
57+
$allFiles[] = generateConfigs('tasks', 'test', 'mongodbVersion', 'load-balanced.yml', $loadBalancedServerVersions);
58+
$allFiles[] = generateConfigs('tasks', 'test', 'mongodbVersion', 'require-api-version.yml', $requireApiServerVersions);
59+
$allFiles[] = generateConfigs('tasks', 'test', 'mongodbVersion', 'csfle.yml', $csfleServerVersions);
6060

6161
// Test variants
62-
$allFiles[] = generateConfigs('test-variant', 'phpVersion', 'modern-php-full.yml', 'full-php-%s', $modernPhpVersions);
63-
$allFiles[] = generateConfigs('test-variant', 'phpVersion', 'legacy-php-full.yml', 'full-php-%s', $legacyPhpVersions);
62+
$allFiles[] = generateConfigs('buildvariants', 'test-variant', 'phpVersion', 'modern-php-full.yml', $modernPhpVersions);
63+
$allFiles[] = generateConfigs('buildvariants', 'test-variant', 'phpVersion', 'legacy-php-full.yml', $legacyPhpVersions);
6464
// TODO: Re-enable when 1.20.0 is released
65-
// $allFiles[] = generateConfigs('test-variant', 'phpVersion', 'phpc.yml', 'phpc-php-%s', [$latestPhpVersion]);
66-
// $allFiles[] = generateConfigs('test-variant', 'phpVersion', 'lowest.yml', 'lowest-php-%s', [$lowestPhpVersion]);
65+
// $allFiles[] = generateConfigs('buildvariants', 'test-variant', 'phpVersion', 'phpc.yml', [$latestPhpVersion]);
66+
// $allFiles[] = generateConfigs('buildvariants', 'test-variant', 'phpVersion', 'lowest.yml', [$lowestPhpVersion]);
6767

6868
echo "Generated config. Use the following list to import files:\n";
69-
echo implode("\n", array_map('getImportConfig', array_merge(...$allFiles))) . "\n";
69+
echo implode("\n", array_map('getImportConfig', $allFiles)) . "\n";
7070

7171
function getImportConfig(string $filename): string
7272
{
7373
return '- filename: ' . $filename;
7474
}
7575

7676
function generateConfigs(
77+
string $type,
7778
string $directory,
7879
string $replacementName,
7980
string $templateFile,
80-
string $outputFormat,
8181
array $versions,
82-
): array {
82+
): string {
8383
$templateRelativePath = 'templates/' . $directory . '/' . $templateFile;
8484
$template = file_get_contents(__DIR__ . '/' . $templateRelativePath);
8585
$header = sprintf(
8686
'# This file is generated automatically - please edit the "%s" template file instead.',
8787
$templateRelativePath
8888
);
8989

90-
$files = [];
90+
$contents = <<<HEADER
91+
$header
92+
$type:
9193
92-
foreach ($versions as $version) {
93-
$filename = sprintf('/generated/%s/' . $outputFormat . '.yml', $directory, $version);
94-
$files[] = '.evergreen/config' . $filename;
95-
96-
$replacements = ['%' . $replacementName . '%' => $version];
94+
HEADER;
9795

98-
file_put_contents(__DIR__ . $filename, $header . "\n" . strtr($template, $replacements));
96+
foreach ($versions as $version) {
97+
$contents .= strtr(
98+
$template,
99+
['%' . $replacementName . '%' => $version],
100+
);
99101
}
100102

101-
return $files;
103+
$filename = '/generated/' . $directory . '/' . $templateFile;
104+
file_put_contents(__DIR__ . $filename, $contents);
105+
106+
return '.evergreen/config' . $filename;
102107
}

.evergreen/config/generated/build/build-extension.yml

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

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

Lines changed: 0 additions & 44 deletions
This file was deleted.

0 commit comments

Comments
 (0)