Skip to content

Commit 7a4218f

Browse files
authored
PYTHON-5263 Convert s3-related functions to generated config (#2259)
1 parent 79e5d60 commit 7a4218f

File tree

4 files changed

+253
-143
lines changed

4 files changed

+253
-143
lines changed

.evergreen/config.yml

+1-141
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ 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

@@ -52,147 +53,6 @@ functions:
5253
params:
5354
file: src/expansion.yml
5455

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-
19656
"upload test results":
19757
- command: attach.results
19858
params:
+117
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
functions:
2+
# Download and merge coverage
3+
download and merge coverage:
4+
- command: ec2.assume_role
5+
params:
6+
role_arn: ${assume_role_arn}
7+
type: setup
8+
- command: subprocess.exec
9+
params:
10+
binary: bash
11+
args:
12+
- .evergreen/scripts/download-and-merge-coverage.sh
13+
- ${bucket_name}
14+
- ${revision}
15+
- ${version_id}
16+
working_dir: src
17+
silent: true
18+
include_expansions_in_env:
19+
- AWS_ACCESS_KEY_ID
20+
- AWS_SECRET_ACCESS_KEY
21+
- AWS_SESSION_TOKEN
22+
type: test
23+
- command: subprocess.exec
24+
params:
25+
binary: bash
26+
args:
27+
- .evergreen/combine-coverage.sh
28+
working_dir: src
29+
type: test
30+
- command: subprocess.exec
31+
params:
32+
binary: bash
33+
args:
34+
- .evergreen/scripts/upload-coverage-report.sh
35+
- ${bucket_name}
36+
- ${revision}
37+
- ${version_id}
38+
working_dir: src
39+
silent: true
40+
include_expansions_in_env:
41+
- AWS_ACCESS_KEY_ID
42+
- AWS_SECRET_ACCESS_KEY
43+
- AWS_SESSION_TOKEN
44+
type: test
45+
- command: s3.put
46+
params:
47+
remote_file: coverage/${revision}/${version_id}/htmlcov/index.html
48+
aws_key: ${AWS_ACCESS_KEY_ID}
49+
aws_secret: ${AWS_SECRET_ACCESS_KEY}
50+
aws_session_token: ${AWS_SESSION_TOKEN}
51+
bucket: ${bucket_name}
52+
local_file: src/htmlcov/index.html
53+
permissions: public-read
54+
content_type: text/html
55+
display_name: Coverage Report HTML
56+
optional: "true"
57+
type: setup
58+
59+
# Upload coverage
60+
upload coverage:
61+
- command: ec2.assume_role
62+
params:
63+
role_arn: ${assume_role_arn}
64+
type: setup
65+
- command: s3.put
66+
params:
67+
remote_file: coverage/${revision}/${version_id}/coverage/coverage.${build_variant}.${task_name}
68+
aws_key: ${AWS_ACCESS_KEY_ID}
69+
aws_secret: ${AWS_SECRET_ACCESS_KEY}
70+
aws_session_token: ${AWS_SESSION_TOKEN}
71+
bucket: ${bucket_name}
72+
local_file: src/.coverage
73+
permissions: public-read
74+
content_type: text/html
75+
display_name: Raw Coverage Report
76+
optional: "true"
77+
type: setup
78+
79+
# Upload mo artifacts
80+
upload mo artifacts:
81+
- command: ec2.assume_role
82+
params:
83+
role_arn: ${assume_role_arn}
84+
type: setup
85+
- command: archive.targz_pack
86+
params:
87+
target: mongo-coredumps.tgz
88+
source_dir: ./
89+
include:
90+
- ./**.core
91+
- ./**.mdmp
92+
- command: s3.put
93+
params:
94+
remote_file: ${build_variant}/${revision}/${version_id}/${build_id}/coredumps/${task_id}-${execution}-mongodb-coredumps.tar.gz
95+
aws_key: ${AWS_ACCESS_KEY_ID}
96+
aws_secret: ${AWS_SECRET_ACCESS_KEY}
97+
aws_session_token: ${AWS_SESSION_TOKEN}
98+
bucket: ${bucket_name}
99+
local_file: mongo-coredumps.tgz
100+
permissions: public-read
101+
content_type: ${content_type|application/x-gzip}
102+
display_name: Core Dumps - Execution
103+
optional: "true"
104+
type: setup
105+
- command: s3.put
106+
params:
107+
remote_file: ${build_variant}/${revision}/${version_id}/${build_id}/logs/${task_id}-${execution}-drivers-tools-logs.tar.gz
108+
aws_key: ${AWS_ACCESS_KEY_ID}
109+
aws_secret: ${AWS_SECRET_ACCESS_KEY}
110+
aws_session_token: ${AWS_SESSION_TOKEN}
111+
bucket: ${bucket_name}
112+
local_file: ${DRIVERS_TOOLS}/.evergreen/test_logs.tar.gz
113+
permissions: public-read
114+
content_type: ${content_type|application/x-gzip}
115+
display_name: drivers-tools-logs.tar.gz
116+
optional: "true"
117+
type: setup

0 commit comments

Comments
 (0)