@@ -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
478457pre :
@@ -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
491469task_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
12331261buildvariants :
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 :
0 commit comments