@@ -25,258 +25,10 @@ timeout:
2525 binary : ls -la
2626
2727include :
28+ - filename : .evergreen/generated_configs/functions.yml
2829 - filename : .evergreen/generated_configs/tasks.yml
2930 - filename : .evergreen/generated_configs/variants.yml
3031
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-
28032pre :
28133 - func : " fetch source"
28234 - func : " setup system"
@@ -290,63 +42,3 @@ post:
29042 - func : " upload mo artifacts"
29143 - func : " upload test results"
29244 - 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