Skip to content

Commit 9aefc4e

Browse files
RUBY-3384 Update serverless tests (#2830)
1 parent 7cb06f0 commit 9aefc4e

File tree

5 files changed

+189
-113
lines changed

5 files changed

+189
-113
lines changed

.evergreen/config.yml

Lines changed: 94 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -124,25 +124,8 @@ functions:
124124
export ATLAS_SERVERLESS_LB_URI="${atlas_serverless_lb_uri}"
125125
export RVM_RUBY="${RVM_RUBY}"
126126
127-
if [[ -n "${USE_PROXY_SERVERLESS}" ]];
128-
then
129-
export SERVERLESS_DRIVERS_GROUP="${PROXY_SERVERLESS_DRIVERS_GROUP}"
130-
else
131-
export SERVERLESS_DRIVERS_GROUP="${SERVERLESS_DRIVERS_GROUP}"
132-
fi
133-
134-
export SERVERLESS_API_PUBLIC_KEY="${SERVERLESS_API_PUBLIC_KEY}"
135-
export SERVERLESS_API_PRIVATE_KEY="${SERVERLESS_API_PRIVATE_KEY}"
136127
export SERVERLESS_ATLAS_USER="${SERVERLESS_ATLAS_USER}"
137128
export SERVERLESS_ATLAS_PASSWORD="${SERVERLESS_ATLAS_PASSWORD}"
138-
139-
# Needed for generating temporary aws credentials.
140-
if [ -n "${FLE}" ];
141-
then
142-
export AWS_ACCESS_KEY_ID="${fle_aws_key}"
143-
export AWS_SECRET_ACCESS_KEY="${fle_aws_secret}"
144-
export AWS_DEFAULT_REGION="${fle_aws_region}"
145-
fi
146129
EOT
147130
148131
# See what we've done
@@ -154,17 +137,6 @@ functions:
154137
params:
155138
file: src/expansion.yml
156139

157-
"delete serverless instance":
158-
- command: shell.exec
159-
params:
160-
working_dir: "src"
161-
shell: bash
162-
script: |
163-
${PREPARE_SHELL}
164-
if [[ -n "${SERVERLESS_INSTANCE_NAME}" ]]; then
165-
SERVERLESS_INSTANCE_NAME=${SERVERLESS_INSTANCE_NAME} .evergreen/serverless/delete-instance.sh
166-
fi
167-
168140
"export AWS auth credentials":
169141
- command: shell.exec
170142
type: test
@@ -398,6 +370,13 @@ functions:
398370
working_dir: "src"
399371
script: |
400372
${PREPARE_SHELL}
373+
# Needed for generating temporary aws credentials.
374+
if [ -n "${FLE}" ];
375+
then
376+
export AWS_ACCESS_KEY_ID="${fle_aws_key}"
377+
export AWS_SECRET_ACCESS_KEY="${fle_aws_secret}"
378+
export AWS_DEFAULT_REGION="${fle_aws_region}"
379+
fi
401380
.evergreen/run-tests.sh
402381
403382
"run tests via docker":
@@ -408,6 +387,13 @@ functions:
408387
working_dir: "src"
409388
script: |
410389
${PREPARE_SHELL}
390+
# Needed for generating temporary aws credentials.
391+
if [ -n "${FLE}" ];
392+
then
393+
export AWS_ACCESS_KEY_ID="${fle_aws_key}"
394+
export AWS_SECRET_ACCESS_KEY="${fle_aws_secret}"
395+
export AWS_DEFAULT_REGION="${fle_aws_region}"
396+
fi
411397
.evergreen/run-tests-docker.sh
412398
413399
"run AWS auth tests":
@@ -451,28 +437,21 @@ functions:
451437
AUTH=${AUTH} SSL=${SSL} TOPOLOGY=${TOPOLOGY} RVM_RUBY="${RVM_RUBY}" ATLAS_REPLICA_SET_URI=${atlas_replica_set_uri} ATLAS_SHARDED_URI=${atlas_sharded_uri} ATLAS_FREE_TIER_URI=${atlas_free_tier_uri} ATLAS_TLS11_URI=${atlas_tls11_uri} ATLAS_TLS12_URI=${atlas_tls12_uri} ATLAS_SERVERLESS_URI=${atlas_serverless_uri} ATLAS_SERVERLESS_LB_URI=${atlas_serverless_lb_uri} .evergreen/run-tests-atlas.sh
452438
453439
"run serverless tests":
454-
- command: shell.exec
455-
params:
456-
shell: bash
457-
working_dir: "src"
458-
script: |
459-
${PREPARE_SHELL}
460-
# This hack with PROJECT env is necessary while serverless
461-
# rejects creating instances with too long names.
462-
PROJECT="mongo-ruby-driver" LOADBALANCED="ON" .evergreen/serverless/create-instance.sh
463-
cat serverless-expansion.yml
464-
465-
- command: expansions.update
466-
params:
467-
file: src/serverless-expansion.yml
468-
469440
- command: shell.exec
470441
type: test
471442
params:
472443
shell: bash
473444
working_dir: "src"
474445
script: |
475446
${PREPARE_SHELL}
447+
# Needed for generating temporary aws credentials.
448+
if [ -n "${FLE}" ];
449+
then
450+
export AWS_ACCESS_KEY_ID="${fle_aws_key}"
451+
export AWS_SECRET_ACCESS_KEY="${fle_aws_secret}"
452+
export AWS_DEFAULT_REGION="${fle_aws_region}"
453+
fi
454+
476455
CRYPT_SHARED_LIB_PATH="${CRYPT_SHARED_LIB_PATH}" SERVERLESS=1 SSL=ssl RVM_RUBY="${RVM_RUBY}" SINGLE_MONGOS="${SINGLE_MONGOS}" SERVERLESS_URI="${SERVERLESS_URI}" FLE="${FLE}" SERVERLESS_MONGODB_VERSION="${SERVERLESS_MONGODB_VERSION}" .evergreen/run-tests-serverless.sh
477456
478457
pre:
@@ -486,9 +465,67 @@ post:
486465
- func: "upload mo artifacts"
487466
#- func: "upload test results"
488467
- func: "upload test results to s3"
489-
- func: "delete serverless instance"
490468

491469
task_groups:
470+
- name: serverless_task_group
471+
setup_group_can_fail_task: true
472+
setup_group_timeout_secs: 1800 # 30 minutes
473+
setup_group:
474+
- func: "fetch source"
475+
- func: "create expansions"
476+
- command: ec2.assume_role
477+
params:
478+
role_arn: ${aws_test_secrets_role}
479+
- command: shell.exec
480+
params:
481+
shell: "bash"
482+
script: |
483+
${PREPARE_SHELL}
484+
bash ${DRIVERS_TOOLS}/.evergreen/serverless/setup-secrets.sh
485+
bash ${DRIVERS_TOOLS}/.evergreen/serverless/create-instance.sh
486+
- command: expansions.update
487+
params:
488+
file: serverless-expansion.yml
489+
teardown_task:
490+
- command: shell.exec
491+
params:
492+
script: |
493+
${PREPARE_SHELL}
494+
bash ${DRIVERS_TOOLS}/.evergreen/serverless/delete-instance.sh
495+
- func: "upload test results"
496+
tasks:
497+
- "test-serverless"
498+
499+
- name: serverless_next_task_group
500+
setup_group_can_fail_task: true
501+
setup_group_timeout_secs: 1800 # 30 minutes
502+
setup_group:
503+
- func: "fetch source"
504+
- func: "create expansions"
505+
- command: ec2.assume_role
506+
params:
507+
role_arn: ${aws_test_secrets_role}
508+
- command: shell.exec
509+
params:
510+
shell: "bash"
511+
script: |
512+
${PREPARE_SHELL}
513+
bash ${DRIVERS_TOOLS}/.evergreen/serverless/setup-secrets.sh serverless_next
514+
bash ${DRIVERS_TOOLS}/.evergreen/serverless/create-instance.sh
515+
- command: expansions.update
516+
params:
517+
file: serverless-expansion.yml
518+
teardown_task:
519+
- command: shell.exec
520+
params:
521+
script: |
522+
${PREPARE_SHELL}
523+
bash ${DRIVERS_TOOLS}/.evergreen/serverless/setup-secrets.sh serverless_next
524+
bash ${DRIVERS_TOOLS}/.evergreen/serverless/delete-instance.sh
525+
- func: "upload test results"
526+
tasks:
527+
- "test-serverless"
528+
492529
- name: testatlas_task_group
493530
setup_group_can_fail_task: true
494531
setup_group_timeout_secs: 1800 # 30 minutes
@@ -1220,15 +1257,6 @@ axes:
12201257
- id: no
12211258
display_name: No
12221259

1223-
- id: serverless-project
1224-
display_name: serverless project
1225-
values:
1226-
- id: original
1227-
display_name: Original
1228-
- id: proxy
1229-
display_name: Proxy
1230-
variables:
1231-
USE_PROXY_SERVERLESS: 1
12321260

12331261
buildvariants:
12341262
- matrix_name: DriverBench
@@ -1814,10 +1842,20 @@ buildvariants:
18141842
ruby: ["ruby-3.2", "ruby-3.1", "ruby-3.0", "ruby-2.7", "ruby-2.6", "ruby-2.5"]
18151843
fle: path
18161844
os: rhel8
1817-
serverless-project: [ original, proxy ]
1818-
display_name: "Atlas serverless ${ruby} ${serverless-project}"
1845+
display_name: "Atlas serverless ${ruby}"
1846+
tasks:
1847+
- name: serverless_task_group
1848+
1849+
- matrix_name: "serverless-next"
1850+
matrix_spec:
1851+
# https://jira.mongodb.org/browse/RUBY-3217
1852+
# ruby: ["ruby-3.2", "ruby-3.1", "ruby-3.0", "ruby-2.7", "ruby-2.6", "ruby-2.5", "jruby-9.3", "jruby-9.2"]
1853+
ruby: ["ruby-3.2", "ruby-3.1", "ruby-3.0", "ruby-2.7", "ruby-2.6", "ruby-2.5"]
1854+
fle: path
1855+
os: rhel8
1856+
display_name: "Atlas serverless-next ${ruby}"
18191857
tasks:
1820-
- name: test-serverless
1858+
- name: serverless_next_task_group
18211859

18221860
- matrix_name: "aws-lambda"
18231861
matrix_spec:

.evergreen/config/axes.yml.erb

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -406,12 +406,3 @@ axes:
406406
- id: no
407407
display_name: No
408408

409-
- id: serverless-project
410-
display_name: serverless project
411-
values:
412-
- id: original
413-
display_name: Original
414-
- id: proxy
415-
display_name: Proxy
416-
variables:
417-
USE_PROXY_SERVERLESS: 1

0 commit comments

Comments
 (0)