Skip to content

Commit 6997c6d

Browse files
committed
Merge branch 'v1.19' into merge-v1.19-into-master-1721217639779
* v1.19: Reduce amount of evergreen config includes (#1612)
2 parents 03feb57 + 5ac56a5 commit 6997c6d

Some content is hidden

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

64 files changed

+3992
-4102
lines changed

.evergreen/config.yml

Lines changed: 10 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -67,48 +67,13 @@ include:
6767
- filename: .evergreen/config/test-tasks.yml
6868

6969
# Automatically generated files
70-
- filename: .evergreen/config/generated/build/build-php-8.3.yml
71-
- filename: .evergreen/config/generated/build/build-php-8.2.yml
72-
- filename: .evergreen/config/generated/build/build-php-8.1.yml
73-
- filename: .evergreen/config/generated/build/build-php-8.0.yml
74-
- filename: .evergreen/config/generated/build/build-php-7.4.yml
75-
- filename: .evergreen/config/generated/build/build-libmongoc-8.3.yml
76-
- filename: .evergreen/config/generated/test/local-latest.yml
77-
- filename: .evergreen/config/generated/test/local-rapid.yml
78-
- filename: .evergreen/config/generated/test/local-8.0.yml
79-
- filename: .evergreen/config/generated/test/local-7.0.yml
80-
- filename: .evergreen/config/generated/test/local-6.0.yml
81-
- filename: .evergreen/config/generated/test/local-5.0.yml
82-
- filename: .evergreen/config/generated/test/local-4.4.yml
83-
- filename: .evergreen/config/generated/test/local-4.2.yml
84-
- filename: .evergreen/config/generated/test/local-4.0.yml
85-
- filename: .evergreen/config/generated/test/load-balanced-latest.yml
86-
- filename: .evergreen/config/generated/test/load-balanced-rapid.yml
87-
- filename: .evergreen/config/generated/test/load-balanced-8.0.yml
88-
- filename: .evergreen/config/generated/test/load-balanced-7.0.yml
89-
- filename: .evergreen/config/generated/test/load-balanced-6.0.yml
90-
- filename: .evergreen/config/generated/test/load-balanced-5.0.yml
91-
- filename: .evergreen/config/generated/test/ocsp-latest.yml
92-
- filename: .evergreen/config/generated/test/ocsp-rapid.yml
93-
- filename: .evergreen/config/generated/test/ocsp-8.0.yml
94-
- filename: .evergreen/config/generated/test/ocsp-7.0.yml
95-
- filename: .evergreen/config/generated/test/ocsp-6.0.yml
96-
- filename: .evergreen/config/generated/test/ocsp-5.0.yml
97-
- filename: .evergreen/config/generated/test/ocsp-4.4.yml
98-
- filename: .evergreen/config/generated/test/require-api-version-latest.yml
99-
- filename: .evergreen/config/generated/test/require-api-version-rapid.yml
100-
- filename: .evergreen/config/generated/test/require-api-version-8.0.yml
101-
- filename: .evergreen/config/generated/test/require-api-version-7.0.yml
102-
- filename: .evergreen/config/generated/test/require-api-version-6.0.yml
103-
- filename: .evergreen/config/generated/test/require-api-version-5.0.yml
104-
- filename: .evergreen/config/generated/test/skip-crypt-shared-latest.yml
105-
- filename: .evergreen/config/generated/test/skip-crypt-shared-rapid.yml
106-
- filename: .evergreen/config/generated/test/skip-crypt-shared-8.0.yml
107-
- filename: .evergreen/config/generated/test/skip-crypt-shared-7.0.yml
108-
- filename: .evergreen/config/generated/test/skip-crypt-shared-6.0.yml
109-
- filename: .evergreen/config/generated/test-variant/full-php-8.3.yml
110-
- filename: .evergreen/config/generated/test-variant/full-php-8.2.yml
111-
- filename: .evergreen/config/generated/test-variant/full-php-8.1.yml
112-
- filename: .evergreen/config/generated/test-variant/full-php-8.0.yml
113-
- filename: .evergreen/config/generated/test-variant/full-php-7.4.yml
114-
- filename: .evergreen/config/generated/test-variant/libmongoc-php-8.3.yml
70+
- filename: .evergreen/config/generated/build/build-php.yml
71+
- filename: .evergreen/config/generated/build/build-libmongoc.yml
72+
- filename: .evergreen/config/generated/test/local.yml
73+
- filename: .evergreen/config/generated/test/load-balanced.yml
74+
- filename: .evergreen/config/generated/test/ocsp.yml
75+
- filename: .evergreen/config/generated/test/require-api-version.yml
76+
- filename: .evergreen/config/generated/test/skip-crypt-shared.yml
77+
- filename: .evergreen/config/generated/test-variant/modern-php-full.yml
78+
- filename: .evergreen/config/generated/test-variant/legacy-php-full.yml
79+
- filename: .evergreen/config/generated/test-variant/libmongoc.yml

.evergreen/config/generate-config.php

Lines changed: 26 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -57,54 +57,59 @@
5757
$allFiles = [];
5858

5959
// Build tasks
60-
$allFiles[] = generateConfigs('build', 'phpVersion', 'build-php.yml', 'build-php-%s', $supportedPhpVersions);
61-
$allFiles[] = generateConfigs('build', 'phpVersion', 'build-libmongoc.yml', 'build-libmongoc-%s', $libmongocBuildPhpVersions);
60+
$allFiles[] = generateConfigs('tasks', 'build', 'phpVersion', 'build-php.yml', $supportedPhpVersions);
61+
$allFiles[] = generateConfigs('tasks', 'build', 'phpVersion', 'build-libmongoc.yml', $libmongocBuildPhpVersions);
6262

6363
// Test tasks
64-
$allFiles[] = generateConfigs('test', 'mongodbVersion', 'local.yml', 'local-%s', $localServerVersions);
65-
$allFiles[] = generateConfigs('test', 'mongodbVersion', 'load-balanced.yml', 'load-balanced-%s', $loadBalancedServerVersions);
66-
$allFiles[] = generateConfigs('test', 'mongodbVersion', 'ocsp.yml', 'ocsp-%s', $ocspServerVersions);
67-
$allFiles[] = generateConfigs('test', 'mongodbVersion', 'require-api-version.yml', 'require-api-version-%s', $requireApiServerVersions);
68-
$allFiles[] = generateConfigs('test', 'mongodbVersion', 'skip-crypt-shared.yml', 'skip-crypt-shared-%s', $skipCryptSharedServerVersions);
64+
$allFiles[] = generateConfigs('tasks', 'test', 'mongodbVersion', 'local.yml', $localServerVersions);
65+
$allFiles[] = generateConfigs('tasks', 'test', 'mongodbVersion', 'load-balanced.yml', $loadBalancedServerVersions);
66+
$allFiles[] = generateConfigs('tasks', 'test', 'mongodbVersion', 'ocsp.yml', $ocspServerVersions);
67+
$allFiles[] = generateConfigs('tasks', 'test', 'mongodbVersion', 'require-api-version.yml', $requireApiServerVersions);
68+
$allFiles[] = generateConfigs('tasks', 'test', 'mongodbVersion', 'skip-crypt-shared.yml', $skipCryptSharedServerVersions);
6969

7070
// Test variants
71-
$allFiles[] = generateConfigs('test-variant', 'phpVersion', 'modern-php-full.yml', 'full-php-%s', $modernPhpVersions);
72-
$allFiles[] = generateConfigs('test-variant', 'phpVersion', 'legacy-php-full.yml', 'full-php-%s', $legacyPhpVersions);
73-
$allFiles[] = generateConfigs('test-variant', 'phpVersion', 'libmongoc.yml', 'libmongoc-php-%s', [$latestPhpVersion]);
71+
$allFiles[] = generateConfigs('buildvariants', 'test-variant', 'phpVersion', 'modern-php-full.yml', $modernPhpVersions);
72+
$allFiles[] = generateConfigs('buildvariants', 'test-variant', 'phpVersion', 'legacy-php-full.yml', $legacyPhpVersions);
73+
$allFiles[] = generateConfigs('buildvariants', 'test-variant', 'phpVersion', 'libmongoc.yml', [$latestPhpVersion]);
7474

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

7878
function getImportConfig(string $filename): string
7979
{
8080
return '- filename: ' . $filename;
8181
}
8282

8383
function generateConfigs(
84+
string $type,
8485
string $directory,
8586
string $replacementName,
8687
string $templateFile,
87-
string $outputFormat,
8888
array $versions,
89-
): array {
89+
): string {
9090
$templateRelativePath = 'templates/' . $directory . '/' . $templateFile;
9191
$template = file_get_contents(__DIR__ . '/' . $templateRelativePath);
9292
$header = sprintf(
9393
'# This file is generated automatically - please edit the "%s" template file instead.',
9494
$templateRelativePath
9595
);
9696

97-
$files = [];
97+
$contents = <<<HEADER
98+
$header
99+
$type:
98100
99-
foreach ($versions as $version) {
100-
$filename = sprintf('/generated/%s/' . $outputFormat . '.yml', $directory, $version);
101-
$files[] = '.evergreen/config' . $filename;
102-
103-
$replacements = ['%' . $replacementName . '%' => $version];
101+
HEADER;
104102

105-
file_put_contents(__DIR__ . $filename, $header . "\n" . strtr($template, $replacements));
103+
foreach ($versions as $version) {
104+
$contents .= strtr(
105+
$template,
106+
['%' . $replacementName . '%' => $version],
107+
);
106108
}
107109

108-
return $files;
110+
$filename = '/generated/' . $directory . '/' . $templateFile;
111+
file_put_contents(__DIR__ . $filename, $contents);
112+
113+
return '.evergreen/config' . $filename;
109114
}
110115

.evergreen/config/generated/build/build-libmongoc-8.3.yml renamed to .evergreen/config/generated/build/build-libmongoc.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/generated/build/build-php-7.4.yml

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

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

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

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

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

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

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

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

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

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

Lines changed: 37 additions & 0 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: 0 additions & 61 deletions
This file was deleted.

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

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

0 commit comments

Comments
 (0)