@@ -25,258 +25,10 @@ timeout:
25
25
binary : ls -la
26
26
27
27
include :
28
+ - filename : .evergreen/generated_configs/functions.yml
28
29
- filename : .evergreen/generated_configs/tasks.yml
29
30
- filename : .evergreen/generated_configs/variants.yml
30
31
31
- functions :
32
- " fetch source " :
33
- # Executes clone and applies the submitted patch, if any
34
- - command : git.get_project
35
- params :
36
- directory : " src"
37
- # Applies the subitted patch, if any
38
- # Deprecated. Should be removed. But still needed for certain agents (ZAP)
39
- - command : git.apply_patch
40
-
41
- " setup system " :
42
- # Make an evergreen expansion file with dynamic values
43
- - command : subprocess.exec
44
- params :
45
- include_expansions_in_env : ["is_patch", "project", "version_id"]
46
- binary : bash
47
- working_dir : " src"
48
- args :
49
- - .evergreen/scripts/setup-system.sh
50
- # Load the expansion file to make an evergreen variable with the current unique version
51
- - command : expansions.update
52
- params :
53
- file : src/expansion.yml
54
-
55
- " upload coverage" :
56
- - command : ec2.assume_role
57
- params :
58
- role_arn : ${assume_role_arn}
59
- - command : s3.put
60
- params :
61
- aws_key : ${AWS_ACCESS_KEY_ID}
62
- aws_secret : ${AWS_SECRET_ACCESS_KEY}
63
- aws_session_token : ${AWS_SESSION_TOKEN}
64
- local_file : src/.coverage
65
- optional : true
66
- # Upload the coverage report for all tasks in a single build to the same directory.
67
- remote_file : coverage/${revision}/${version_id}/coverage/coverage.${build_variant}.${task_name}
68
- bucket : ${bucket_name}
69
- permissions : public-read
70
- content_type : text/html
71
- display_name : " Raw Coverage Report"
72
-
73
- " download and merge coverage" :
74
- - command : ec2.assume_role
75
- params :
76
- role_arn : ${assume_role_arn}
77
- - command : subprocess.exec
78
- params :
79
- silent : true
80
- binary : bash
81
- working_dir : " src"
82
- include_expansions_in_env : ["AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY", "AWS_SESSION_TOKEN"]
83
- args :
84
- - .evergreen/scripts/download-and-merge-coverage.sh
85
- - ${bucket_name}
86
- - ${revision}
87
- - ${version_id}
88
- - command : subprocess.exec
89
- params :
90
- working_dir : " src"
91
- binary : bash
92
- args :
93
- - .evergreen/combine-coverage.sh
94
- # Upload the resulting html coverage report.
95
- - command : subprocess.exec
96
- params :
97
- silent : true
98
- binary : bash
99
- working_dir : " src"
100
- include_expansions_in_env : ["AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY", "AWS_SESSION_TOKEN"]
101
- args :
102
- - .evergreen/scripts/upload-coverage-report.sh
103
- - ${bucket_name}
104
- - ${revision}
105
- - ${version_id}
106
- # Attach the index.html with s3.put so it shows up in the Evergreen UI.
107
- - command : s3.put
108
- params :
109
- aws_key : ${AWS_ACCESS_KEY_ID}
110
- aws_secret : ${AWS_SECRET_ACCESS_KEY}
111
- aws_session_token : ${AWS_SESSION_TOKEN}
112
- local_file : src/htmlcov/index.html
113
- remote_file : coverage/${revision}/${version_id}/htmlcov/index.html
114
- bucket : ${bucket_name}
115
- permissions : public-read
116
- content_type : text/html
117
- display_name : " Coverage Report HTML"
118
-
119
- " upload mo artifacts " :
120
- - command : ec2.assume_role
121
- params :
122
- role_arn : ${assume_role_arn}
123
- - command : archive.targz_pack
124
- params :
125
- target : " mongo-coredumps.tgz"
126
- source_dir : " ./"
127
- include :
128
- - " ./**.core"
129
- - " ./**.mdmp" # Windows: minidumps
130
- - command : s3.put
131
- params :
132
- aws_key : ${AWS_ACCESS_KEY_ID}
133
- aws_secret : ${AWS_SECRET_ACCESS_KEY}
134
- aws_session_token : ${AWS_SESSION_TOKEN}
135
- local_file : mongo-coredumps.tgz
136
- remote_file : ${build_variant}/${revision}/${version_id}/${build_id}/coredumps/${task_id}-${execution}-mongodb-coredumps.tar.gz
137
- bucket : ${bucket_name}
138
- permissions : public-read
139
- content_type : ${content_type|application/gzip}
140
- display_name : Core Dumps - Execution
141
- optional : true
142
- - command : s3.put
143
- params :
144
- aws_key : ${AWS_ACCESS_KEY_ID}
145
- aws_secret : ${AWS_SECRET_ACCESS_KEY}
146
- aws_session_token : ${AWS_SESSION_TOKEN}
147
- local_file : ${DRIVERS_TOOLS}/.evergreen/test_logs.tar.gz
148
- remote_file : ${build_variant}/${revision}/${version_id}/${build_id}/logs/${task_id}-${execution}-drivers-tools-logs.tar.gz
149
- bucket : ${bucket_name}
150
- permissions : public-read
151
- content_type : ${content_type|application/x-gzip}
152
- display_name : " drivers-tools-logs.tar.gz"
153
-
154
- " upload working dir " :
155
- - command : ec2.assume_role
156
- params :
157
- role_arn : ${assume_role_arn}
158
- - command : archive.targz_pack
159
- params :
160
- target : " working-dir.tar.gz"
161
- source_dir : ${PROJECT_DIRECTORY}/
162
- include :
163
- - " ./**"
164
- - command : s3.put
165
- params :
166
- aws_key : ${AWS_ACCESS_KEY_ID}
167
- aws_secret : ${AWS_SECRET_ACCESS_KEY}
168
- aws_session_token : ${AWS_SESSION_TOKEN}
169
- local_file : working-dir.tar.gz
170
- remote_file : ${build_variant}/${revision}/${version_id}/${build_id}/artifacts/${task_id}-${execution}-working-dir.tar.gz
171
- bucket : ${bucket_name}
172
- permissions : public-read
173
- content_type : ${content_type|application/x-gzip}
174
- display_name : " working-dir.tar.gz"
175
- - command : archive.targz_pack
176
- params :
177
- target : " drivers-dir.tar.gz"
178
- source_dir : ${DRIVERS_TOOLS}
179
- include :
180
- - " ./**"
181
- exclude_files :
182
- # Windows cannot read the mongod *.lock files because they are locked.
183
- - " *.lock"
184
- - command : s3.put
185
- params :
186
- aws_key : ${AWS_ACCESS_KEY_ID}
187
- aws_secret : ${AWS_SECRET_ACCESS_KEY}
188
- aws_session_token : ${AWS_SESSION_TOKEN}
189
- local_file : drivers-dir.tar.gz
190
- remote_file : ${build_variant}/${revision}/${version_id}/${build_id}/artifacts/${task_id}-${execution}-drivers-dir.tar.gz
191
- bucket : ${bucket_name}
192
- permissions : public-read
193
- content_type : ${content_type|application/x-gzip}
194
- display_name : " drivers-dir.tar.gz"
195
-
196
- " upload test results " :
197
- - command : attach.results
198
- params :
199
- file_location : " ${DRIVERS_TOOLS}/results.json"
200
- - command : attach.xunit_results
201
- params :
202
- file : " src/xunit-results/TEST-*.xml"
203
-
204
- " run server " :
205
- - command : subprocess.exec
206
- params :
207
- binary : bash
208
- working_dir : " src"
209
- include_expansions_in_env : [VERSION, TOPOLOGY, AUTH, SSL, ORCHESTRATION_FILE, PYTHON_BINARY, PYTHON_VERSION,
210
- STORAGE_ENGINE, REQUIRE_API_VERSION, DRIVERS_TOOLS, TEST_CRYPT_SHARED, AUTH_AWS, LOAD_BALANCER]
211
- args : [.evergreen/just.sh, run-server, "${TEST_NAME}"]
212
- - command : expansions.update
213
- params :
214
- file : ${DRIVERS_TOOLS}/mo-expansion.yml
215
-
216
- " run just script " :
217
- - command : subprocess.exec
218
- type : test
219
- params :
220
- include_expansions_in_env : [AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN]
221
- binary : bash
222
- working_dir : " src"
223
- args : [.evergreen/just.sh, "${JUSTFILE_TARGET}"]
224
-
225
- " run tests " :
226
- - command : subprocess.exec
227
- type : test
228
- params :
229
- include_expansions_in_env : [AUTH, SSL, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY,
230
- AWS_SESSION_TOKEN, COVERAGE, PYTHON_BINARY, LIBMONGOCRYPT_URL, MONGODB_URI, PYTHON_VERSION,
231
- DISABLE_TEST_COMMANDS, GREEN_FRAMEWORK, NO_EXT, COMPRESSORS, MONGODB_API_VERSION, DEBUG_LOG,
232
- ORCHESTRATION_FILE, OCSP_SERVER_TYPE]
233
- binary : bash
234
- working_dir : " src"
235
- args : [.evergreen/just.sh, setup-tests, "${TEST_NAME}", "${SUB_TEST_NAME}"]
236
- - command : subprocess.exec
237
- type : test
238
- params :
239
- working_dir : " src"
240
- binary : bash
241
- args : [.evergreen/just.sh, run-tests]
242
-
243
- " cleanup " :
244
- - command : subprocess.exec
245
- params :
246
- binary : bash
247
- working_dir : " src"
248
- args :
249
- - .evergreen/scripts/cleanup.sh
250
-
251
- " teardown system " :
252
- - command : subprocess.exec
253
- params :
254
- binary : bash
255
- working_dir : " src"
256
- args : [.evergreen/just.sh, teardown-tests]
257
- - command : subprocess.exec
258
- params :
259
- binary : bash
260
- working_dir : " src"
261
- args :
262
- - ${DRIVERS_TOOLS}/.evergreen/teardown.sh
263
-
264
- " assume ec2 role " :
265
- - command : ec2.assume_role
266
- params :
267
- role_arn : ${aws_test_secrets_role}
268
- duration_seconds : 3600
269
-
270
- " attach benchmark test results " :
271
- - command : attach.results
272
- params :
273
- file_location : src/report.json
274
-
275
- " send dashboard data " :
276
- - command : perf.send
277
- params :
278
- file : src/results.json
279
-
280
32
pre :
281
33
- func : " fetch source"
282
34
- func : " setup system"
@@ -290,63 +42,3 @@ post:
290
42
- func : " upload mo artifacts"
291
43
- func : " upload test results"
292
44
- func : " cleanup"
293
-
294
- tasks :
295
- # Wildcard task. Do you need to find out what tools are available and where?
296
- # Throw it here, and execute this task on all buildvariants
297
- - name : getdata
298
- commands :
299
- - command : subprocess.exec
300
- binary : bash
301
- type : test
302
- params :
303
- args :
304
- - src/.evergreen/scripts/run-getdata.sh
305
-
306
- - name : " coverage-report"
307
- tags : ["coverage"]
308
- depends_on :
309
- # BUILD-3165: We can't use "*" (all tasks) and specify "variant".
310
- # Instead list out all coverage tasks using tags.
311
- - name : " .standalone"
312
- variant : " .coverage_tag"
313
- # Run the coverage task even if some tasks fail.
314
- status : " *"
315
- # Run the coverage task even if some tasks are not scheduled in a patch build.
316
- patch_optional : true
317
- - name : " .replica_set"
318
- variant : " .coverage_tag"
319
- status : " *"
320
- patch_optional : true
321
- - name : " .sharded_cluster"
322
- variant : " .coverage_tag"
323
- status : " *"
324
- patch_optional : true
325
- commands :
326
- - func : " download and merge coverage"
327
-
328
- - name : " check-import-time"
329
- tags : ["pr"]
330
- commands :
331
- - command : subprocess.exec
332
- type : test
333
- params :
334
- binary : bash
335
- working_dir : src
336
- include_expansions_in_env : ["PYTHON_BINARY"]
337
- args :
338
- - .evergreen/scripts/check-import-time.sh
339
- - ${revision}
340
- - ${github_commit}
341
- - name : " backport-pr"
342
- allowed_requesters : ["commit"]
343
- commands :
344
- - command : subprocess.exec
345
- type : test
346
- params :
347
- binary : bash
348
- args :
349
- - ${DRIVERS_TOOLS}/.evergreen/github_app/backport-pr.sh
350
- - mongodb
351
- - mongo-python-driver
352
- - ${github_commit}
0 commit comments