@@ -124,25 +124,8 @@ functions:
124
124
export ATLAS_SERVERLESS_LB_URI="${atlas_serverless_lb_uri}"
125
125
export RVM_RUBY="${RVM_RUBY}"
126
126
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}"
136
127
export SERVERLESS_ATLAS_USER="${SERVERLESS_ATLAS_USER}"
137
128
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
146
129
EOT
147
130
148
131
# See what we've done
@@ -154,17 +137,6 @@ functions:
154
137
params :
155
138
file : src/expansion.yml
156
139
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
-
168
140
" export AWS auth credentials " :
169
141
- command : shell.exec
170
142
type : test
@@ -398,6 +370,13 @@ functions:
398
370
working_dir : " src"
399
371
script : |
400
372
${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
401
380
.evergreen/run-tests.sh
402
381
403
382
" run tests via docker " :
@@ -408,6 +387,13 @@ functions:
408
387
working_dir : " src"
409
388
script : |
410
389
${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
411
397
.evergreen/run-tests-docker.sh
412
398
413
399
" run AWS auth tests " :
@@ -451,28 +437,21 @@ functions:
451
437
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
452
438
453
439
" 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
-
469
440
- command : shell.exec
470
441
type : test
471
442
params :
472
443
shell : bash
473
444
working_dir : " src"
474
445
script : |
475
446
${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
+
476
455
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
477
456
478
457
pre :
@@ -486,9 +465,67 @@ post:
486
465
- func : " upload mo artifacts"
487
466
# - func: "upload test results"
488
467
- func : " upload test results to s3"
489
- - func : " delete serverless instance"
490
468
491
469
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
+
492
529
- name : testatlas_task_group
493
530
setup_group_can_fail_task : true
494
531
setup_group_timeout_secs : 1800 # 30 minutes
@@ -1220,15 +1257,6 @@ axes:
1220
1257
- id : no
1221
1258
display_name : No
1222
1259
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
1232
1260
1233
1261
buildvariants :
1234
1262
- matrix_name : DriverBench
@@ -1814,10 +1842,20 @@ buildvariants:
1814
1842
ruby : ["ruby-3.2", "ruby-3.1", "ruby-3.0", "ruby-2.7", "ruby-2.6", "ruby-2.5"]
1815
1843
fle : path
1816
1844
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}"
1819
1857
tasks :
1820
- - name : test-serverless
1858
+ - name : serverless_next_task_group
1821
1859
1822
1860
- matrix_name : " aws-lambda"
1823
1861
matrix_spec :
0 commit comments