Skip to content

Commit 12e2f8e

Browse files
committed
Merge branch 'master' into PYTHON-1752
2 parents a0ef054 + e2e673e commit 12e2f8e

Some content is hidden

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

75 files changed

+7472
-4177
lines changed

.evergreen/config.yml

+1-309
Original file line numberDiff line numberDiff line change
@@ -25,258 +25,10 @@ timeout:
2525
binary: ls -la
2626

2727
include:
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-
28032
pre:
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

Comments
 (0)