@@ -483,6 +483,39 @@ functions:
483483 export TLS_FEATURE=${TLS_FEATURE}
484484 .evergreen/run-csfle-kmip-servers.sh
485485
486+ " build csfle expansions " :
487+ - command : shell.exec
488+ params :
489+ shell : bash
490+ working_dir : " src"
491+ script : |
492+ ${PREPARE_SHELL}
493+ set +o xtrace
494+ cat <<EOT > csfle-expansions.yml
495+ PREPARE_CSFLE: |
496+ export ASYNC_RUNTIME=${ASYNC_RUNTIME}
497+ export CSFLE_TLS_CERT_DIR=$DRIVERS_TOOLS_X509
498+ export DISABLE_CRYPT_SHARED=${DISABLE_CRYPT_SHARED}
499+ export TLS_FEATURE=${TLS_FEATURE}
500+ export CRYPT_SHARED_LIB_PATH=${CRYPT_SHARED_LIB_PATH}
501+ export PYTHON=${PYTHON}
502+ ${PYTHON} -m pip install boto3
503+ # Exported without xtrace to avoid leaking credentials
504+ set +o xtrace
505+ export AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}
506+ export AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}
507+ export AZURE_TENANT_ID=${AZURE_TENANT_ID}
508+ export AZURE_CLIENT_ID=${AZURE_CLIENT_ID}
509+ export AZURE_CLIENT_SECRET=${AZURE_CLIENT_SECRET}
510+ export GCP_EMAIL=${GCP_EMAIL}
511+ export GCP_PRIVATE_KEY=${GCP_PRIVATE_KEY}
512+ export CSFLE_LOCAL_KEY=${CSFLE_LOCAL_KEY}
513+ set -o xtrace
514+ EOT
515+ - command : expansions.update
516+ params :
517+ file : src/csfle-expansions.yml
518+
486519 " run csfle tests " :
487520 - command : shell.exec
488521 type : test
@@ -491,26 +524,30 @@ functions:
491524 working_dir : " src"
492525 script : |
493526 ${PREPARE_SHELL}
494- export ASYNC_RUNTIME=${ASYNC_RUNTIME}
495- export CSFLE_TLS_CERT_DIR=$DRIVERS_TOOLS_X509
496- export CRYPT_SHARED_LIB_PATH=${CRYPT_SHARED_LIB_PATH}
497- export DISABLE_CRYPT_SHARED=${DISABLE_CRYPT_SHARED}
498- export TLS_FEATURE=${TLS_FEATURE}
499- export PYTHON=${PYTHON}
500- ${PYTHON} -m pip install boto3
527+ ${PREPARE_CSFLE}
528+
529+ .evergreen/run-csfle-tests.sh
530+
531+ " run csfle serverless tests " :
532+ - command : shell.exec
533+ type : test
534+ params :
535+ shell : bash
536+ working_dir : " src"
537+ script : |
538+ ${PREPARE_SHELL}
539+ ${PREPARE_CSFLE}
501540
502541 # Exported without xtrace to avoid leaking credentials
503542 set +o xtrace
504- export AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}
505- export AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}
506- export AZURE_TENANT_ID=${AZURE_TENANT_ID}
507- export AZURE_CLIENT_ID=${AZURE_CLIENT_ID}
508- export AZURE_CLIENT_SECRET=${AZURE_CLIENT_SECRET}
509- export GCP_EMAIL=${GCP_EMAIL}
510- export GCP_PRIVATE_KEY=${GCP_PRIVATE_KEY}
511- export CSFLE_LOCAL_KEY=${CSFLE_LOCAL_KEY}
543+ export SERVERLESS_ATLAS_USER="${SERVERLESS_ATLAS_USER}"
544+ export SERVERLESS_ATLAS_PASSWORD="${SERVERLESS_ATLAS_PASSWORD}"
512545 set -o xtrace
513546
547+ export SINGLE_MONGOS_LB_URI="${SERVERLESS_URI}"
548+ . .evergreen/generate-uri.sh
549+ export SERVERLESS=serverless
550+
514551 .evergreen/run-csfle-tests.sh
515552
516553 run-valid-ocsp-server :
@@ -699,6 +736,7 @@ functions:
699736 params :
700737 script : |
701738 ${PREPARE_SHELL}
739+ set +o xtrace
702740 for filename in $(find ${DRIVERS_TOOLS} -name \*.json); do
703741 perl -p -i -e "s|ABSOLUTE_PATH_REPLACEMENT_TOKEN|${DRIVERS_TOOLS}|g" $filename
704742 done
@@ -708,6 +746,7 @@ functions:
708746 params :
709747 script : |
710748 ${PREPARE_SHELL}
749+ set +o xtrace
711750 for i in $(find ${DRIVERS_TOOLS}/.evergreen ${PROJECT_DIRECTORY}/.evergreen -name \*.sh); do
712751 cat $i | tr -d '\r' > $i.new
713752 mv $i.new $i
@@ -723,6 +762,7 @@ functions:
723762 params :
724763 script : |
725764 ${PREPARE_SHELL}
765+ set +o xtrace
726766 for i in $(find ${DRIVERS_TOOLS}/.evergreen ${PROJECT_DIRECTORY}/.evergreen -name \*.sh); do
727767 chmod +x $i
728768 done
@@ -1171,8 +1211,24 @@ tasks:
11711211 - func : " install junit dependencies"
11721212 - func : " bootstrap mongo-orchestration"
11731213 - func : " run kmip server"
1214+ - func : " build csfle expansions"
11741215 - func : " run csfle tests"
11751216
1217+ - name : " test-csfle-serverless"
1218+ tags : ["csfle", "serverless"]
1219+ commands :
1220+ - command : expansions.update
1221+ params :
1222+ file : src/expansion.yml
1223+ - command : expansions.update
1224+ params :
1225+ file : serverless-expansion.yml
1226+ - func : " install junit dependencies"
1227+ - func : " install libmongocrypt"
1228+ - func : " run kmip server"
1229+ - func : " build csfle expansions"
1230+ - func : " run csfle serverless tests"
1231+
11761232 - name : " test-atlas-connectivity"
11771233 tags : ["atlas-connect"]
11781234 commands :
@@ -1878,7 +1934,12 @@ buildvariants:
18781934 os :
18791935 - ubuntu-18.04
18801936 async-runtime : " *"
1881- display_name : " Serverless ${os} with ${async-runtime}"
1937+ crypt-shared :
1938+ - " enabled"
1939+ tls-feature :
1940+ - " default"
1941+ - " openssl"
1942+ display_name : " Serverless ${os} with ${async-runtime} ${tls-feature}"
18821943 tasks :
18831944 - " serverless_task_group"
18841945
0 commit comments