Skip to content

Commit 2edadda

Browse files
authored
PYTHON-4505 Set up EVG uploads for v4.8 branch (#1697)
1 parent a7b6938 commit 2edadda

File tree

1 file changed

+71
-52
lines changed

1 file changed

+71
-52
lines changed

.evergreen/config.yml

Lines changed: 71 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -58,22 +58,19 @@ functions:
5858
5959
export MONGO_ORCHESTRATION_HOME="$DRIVERS_TOOLS/.evergreen/orchestration"
6060
export MONGODB_BINARIES="$DRIVERS_TOOLS/mongodb/bin"
61-
export UPLOAD_BUCKET="${project}"
6261
6362
cat <<EOT > expansion.yml
6463
CURRENT_VERSION: "$CURRENT_VERSION"
6564
DRIVERS_TOOLS: "$DRIVERS_TOOLS"
6665
MONGO_ORCHESTRATION_HOME: "$MONGO_ORCHESTRATION_HOME"
6766
MONGODB_BINARIES: "$MONGODB_BINARIES"
68-
UPLOAD_BUCKET: "$UPLOAD_BUCKET"
6967
PROJECT_DIRECTORY: "$PROJECT_DIRECTORY"
7068
PREPARE_SHELL: |
7169
set -o errexit
7270
export SKIP_LEGACY_SHELL=1
7371
export DRIVERS_TOOLS="$DRIVERS_TOOLS"
7472
export MONGO_ORCHESTRATION_HOME="$MONGO_ORCHESTRATION_HOME"
7573
export MONGODB_BINARIES="$MONGODB_BINARIES"
76-
export UPLOAD_BUCKET="$UPLOAD_BUCKET"
7774
export PROJECT_DIRECTORY="$PROJECT_DIRECTORY"
7875
7976
export TMPDIR="$MONGO_ORCHESTRATION_HOME/db"
@@ -103,30 +100,35 @@ functions:
103100
echo "{ \"releases\": { \"default\": \"$MONGODB_BINARIES\" }}" > $MONGO_ORCHESTRATION_HOME/orchestration.config
104101
105102
"upload coverage" :
103+
- command: ec2.assume_role
104+
params:
105+
role_arn: ${assume_role_arn}
106106
- command: s3.put
107107
params:
108-
aws_key: ${aws_key}
109-
aws_secret: ${aws_secret}
108+
aws_key: ${AWS_ACCESS_KEY_ID}
109+
aws_secret: ${AWS_SECRET_ACCESS_KEY}
110+
aws_session_token: ${AWS_SESSION_TOKEN}
110111
local_file: src/.coverage
111112
optional: true
112113
# Upload the coverage report for all tasks in a single build to the same directory.
113-
remote_file: ${UPLOAD_BUCKET}/coverage/${revision}/${version_id}/coverage/coverage.${build_variant}.${task_name}
114-
bucket: mciuploads
114+
remote_file: coverage/${revision}/${version_id}/coverage/coverage.${build_variant}.${task_name}
115+
bucket: ${bucket_name}
115116
permissions: public-read
116117
content_type: text/html
117118
display_name: "Raw Coverage Report"
118119

119120
"download and merge coverage" :
121+
- command: ec2.assume_role
122+
params:
123+
role_arn: ${assume_role_arn}
120124
- command: shell.exec
121125
params:
122-
silent: true
123126
working_dir: "src"
127+
silent: true
128+
include_expansions_in_env: ["AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY", "AWS_SESSION_TOKEN"]
124129
script: |
125-
export AWS_ACCESS_KEY_ID=${aws_key}
126-
export AWS_SECRET_ACCESS_KEY=${aws_secret}
127-
128130
# Download all the task coverage files.
129-
aws s3 cp --recursive s3://mciuploads/${UPLOAD_BUCKET}/coverage/${revision}/${version_id}/coverage/ coverage/
131+
aws s3 cp --recursive s3://${bucket_name}/coverage/${revision}/${version_id}/coverage/ coverage/
130132
- command: shell.exec
131133
params:
132134
working_dir: "src"
@@ -136,20 +138,20 @@ functions:
136138
# Upload the resulting html coverage report.
137139
- command: shell.exec
138140
params:
139-
silent: true
140141
working_dir: "src"
142+
silent: true
143+
include_expansions_in_env: ["AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY", "AWS_SESSION_TOKEN"]
141144
script: |
142-
export AWS_ACCESS_KEY_ID=${aws_key}
143-
export AWS_SECRET_ACCESS_KEY=${aws_secret}
144-
aws s3 cp htmlcov/ s3://mciuploads/${UPLOAD_BUCKET}/coverage/${revision}/${version_id}/htmlcov/ --recursive --acl public-read --region us-east-1
145+
aws s3 cp htmlcov/ s3://${bucket_name}/coverage/${revision}/${version_id}/htmlcov/ --recursive --acl public-read --region us-east-1
145146
# Attach the index.html with s3.put so it shows up in the Evergreen UI.
146147
- command: s3.put
147148
params:
148-
aws_key: ${aws_key}
149-
aws_secret: ${aws_secret}
149+
aws_key: ${AWS_ACCESS_KEY_ID}
150+
aws_secret: ${AWS_SECRET_ACCESS_KEY}
151+
aws_session_token: ${AWS_SESSION_TOKEN}
150152
local_file: src/htmlcov/index.html
151-
remote_file: ${UPLOAD_BUCKET}/coverage/${revision}/${version_id}/htmlcov/index.html
152-
bucket: mciuploads
153+
remote_file: coverage/${revision}/${version_id}/htmlcov/index.html
154+
bucket: ${bucket_name}
153155
permissions: public-read
154156
content_type: text/html
155157
display_name: "Coverage Report HTML"
@@ -172,34 +174,40 @@ functions:
172174
include:
173175
- "./**.core"
174176
- "./**.mdmp" # Windows: minidumps
177+
- command: ec2.assume_role
178+
params:
179+
role_arn: ${assume_role_arn}
175180
- command: s3.put
176181
params:
177-
aws_key: ${aws_key}
178-
aws_secret: ${aws_secret}
182+
aws_key: ${AWS_ACCESS_KEY_ID}
183+
aws_secret: ${AWS_SECRET_ACCESS_KEY}
184+
aws_session_token: ${AWS_SESSION_TOKEN}
179185
local_file: mongo-coredumps.tgz
180-
remote_file: ${UPLOAD_BUCKET}/${build_variant}/${revision}/${version_id}/${build_id}/coredumps/${task_id}-${execution}-mongodb-coredumps.tar.gz
181-
bucket: mciuploads
186+
remote_file: ${build_variant}/${revision}/${version_id}/${build_id}/coredumps/${task_id}-${execution}-mongodb-coredumps.tar.gz
187+
bucket: ${bucket_name}
182188
permissions: public-read
183189
content_type: ${content_type|application/gzip}
184190
display_name: Core Dumps - Execution
185191
optional: true
186192
- command: s3.put
187193
params:
188-
aws_key: ${aws_key}
189-
aws_secret: ${aws_secret}
194+
aws_key: ${AWS_ACCESS_KEY_ID}
195+
aws_secret: ${AWS_SECRET_ACCESS_KEY}
196+
aws_session_token: ${AWS_SESSION_TOKEN}
190197
local_file: mongodb-logs.tar.gz
191-
remote_file: ${UPLOAD_BUCKET}/${build_variant}/${revision}/${version_id}/${build_id}/logs/${task_id}-${execution}-mongodb-logs.tar.gz
192-
bucket: mciuploads
198+
remote_file: ${build_variant}/${revision}/${version_id}/${build_id}/logs/${task_id}-${execution}-mongodb-logs.tar.gz
199+
bucket: ${bucket_name}
193200
permissions: public-read
194201
content_type: ${content_type|application/x-gzip}
195202
display_name: "mongodb-logs.tar.gz"
196203
- command: s3.put
197204
params:
198-
aws_key: ${aws_key}
199-
aws_secret: ${aws_secret}
205+
aws_key: ${AWS_ACCESS_KEY_ID}
206+
aws_secret: ${AWS_SECRET_ACCESS_KEY}
207+
aws_session_token: ${AWS_SESSION_TOKEN}
200208
local_file: drivers-tools/.evergreen/orchestration/server.log
201-
remote_file: ${UPLOAD_BUCKET}/${build_variant}/${revision}/${version_id}/${build_id}/logs/${task_id}-${execution}-orchestration.log
202-
bucket: mciuploads
209+
remote_file: ${build_variant}/${revision}/${version_id}/${build_id}/logs/${task_id}-${execution}-orchestration.log
210+
bucket: ${bucket_name}
203211
permissions: public-read
204212
content_type: ${content_type|text/plain}
205213
display_name: "orchestration.log"
@@ -211,13 +219,17 @@ functions:
211219
source_dir: ${PROJECT_DIRECTORY}/
212220
include:
213221
- "./**"
222+
- command: ec2.assume_role
223+
params:
224+
role_arn: ${assume_role_arn}
214225
- command: s3.put
215226
params:
216-
aws_key: ${aws_key}
217-
aws_secret: ${aws_secret}
227+
aws_key: ${AWS_ACCESS_KEY_ID}
228+
aws_secret: ${AWS_SECRET_ACCESS_KEY}
229+
aws_session_token: ${AWS_SESSION_TOKEN}
218230
local_file: working-dir.tar.gz
219-
remote_file: ${UPLOAD_BUCKET}/${build_variant}/${revision}/${version_id}/${build_id}/artifacts/${task_id}-${execution}-working-dir.tar.gz
220-
bucket: mciuploads
231+
remote_file: ${build_variant}/${revision}/${version_id}/${build_id}/artifacts/${task_id}-${execution}-working-dir.tar.gz
232+
bucket: ${bucket_name}
221233
permissions: public-read
222234
content_type: ${content_type|application/x-gzip}
223235
display_name: "working-dir.tar.gz"
@@ -232,11 +244,12 @@ functions:
232244
- "*.lock"
233245
- command: s3.put
234246
params:
235-
aws_key: ${aws_key}
236-
aws_secret: ${aws_secret}
247+
aws_key: ${AWS_ACCESS_KEY_ID}
248+
aws_secret: ${AWS_SECRET_ACCESS_KEY}
249+
aws_session_token: ${AWS_SESSION_TOKEN}
237250
local_file: drivers-dir.tar.gz
238-
remote_file: ${UPLOAD_BUCKET}/${build_variant}/${revision}/${version_id}/${build_id}/artifacts/${task_id}-${execution}-drivers-dir.tar.gz
239-
bucket: mciuploads
251+
remote_file: ${build_variant}/${revision}/${version_id}/${build_id}/artifacts/${task_id}-${execution}-drivers-dir.tar.gz
252+
bucket: ${bucket_name}
240253
permissions: public-read
241254
content_type: ${content_type|application/x-gzip}
242255
display_name: "drivers-dir.tar.gz"
@@ -791,27 +804,32 @@ functions:
791804
source_dir: "src/dist"
792805
include:
793806
- "*"
807+
- command: ec2.assume_role
808+
params:
809+
role_arn: ${assume_role_arn}
794810
- command: s3.put
795811
params:
796-
aws_key: ${aws_key}
797-
aws_secret: ${aws_secret}
812+
aws_key: ${AWS_ACCESS_KEY_ID}
813+
aws_secret: ${AWS_SECRET_ACCESS_KEY}
814+
aws_session_token: ${AWS_SESSION_TOKEN}
798815
local_file: release-files.tgz
799-
remote_file: ${UPLOAD_BUCKET}/release/${revision}/${task_id}-${execution}-release-files.tar.gz
800-
bucket: mciuploads
816+
remote_file: release/${revision}/${task_id}-${execution}-release-files.tar.gz
817+
bucket: ${bucket_name}
801818
permissions: public-read
802819
content_type: ${content_type|application/gzip}
803820
display_name: Release files
804821

805822
"download and merge releases":
823+
- command: ec2.assume_role
824+
params:
825+
role_arn: ${assume_role_arn}
806826
- command: shell.exec
807827
params:
808828
silent: true
829+
include_expansions_in_env: ["AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY", "AWS_SESSION_TOKEN"]
809830
script: |
810-
export AWS_ACCESS_KEY_ID=${aws_key}
811-
export AWS_SECRET_ACCESS_KEY=${aws_secret}
812-
813831
# Download all the task coverage files.
814-
aws s3 cp --recursive s3://mciuploads/${UPLOAD_BUCKET}/release/${revision}/ release/
832+
aws s3 cp --recursive s3://${bucket_name}/release/${revision}/ release/
815833
- command: shell.exec
816834
params:
817835
shell: "bash"
@@ -845,11 +863,12 @@ functions:
845863
- "*"
846864
- command: s3.put
847865
params:
848-
aws_key: ${aws_key}
849-
aws_secret: ${aws_secret}
866+
aws_key: ${AWS_ACCESS_KEY_ID}
867+
aws_secret: ${AWS_SECRET_ACCESS_KEY}
868+
aws_session_token: ${AWS_SESSION_TOKEN}
850869
local_file: release-files-all.tgz
851-
remote_file: ${UPLOAD_BUCKET}/release-all/${revision}/${task_id}-${execution}-release-files-all.tar.gz
852-
bucket: mciuploads
870+
remote_file: release-all/${revision}/${task_id}-${execution}-release-files-all.tar.gz
871+
bucket: ${bucket_name}
853872
permissions: public-read
854873
content_type: ${content_type|application/gzip}
855874
display_name: Release files all

0 commit comments

Comments
 (0)