@@ -44,50 +44,56 @@ functions:
44
44
params :
45
45
working_dir : " src"
46
46
script : |
47
- # Get the current unique version of this checkout
48
- if [ "${is_patch}" = "true" ]; then
49
- CURRENT_VERSION=$(git describe)-patch-${version_id}
50
- else
51
- CURRENT_VERSION=latest
52
- fi
53
-
54
- export DRIVERS_TOOLS="$(pwd)/../drivers-tools"
55
-
56
- export MONGO_ORCHESTRATION_HOME="$DRIVERS_TOOLS/.evergreen/orchestration"
57
- export MONGODB_BINARIES="$DRIVERS_TOOLS/mongodb/bin"
58
- export UPLOAD_BUCKET="${project}"
59
- export PROJECT_DIRECTORY="$(pwd)"
60
-
61
- cat <<EOT > expansion.yml
62
- CURRENT_VERSION: "$CURRENT_VERSION"
63
- DRIVERS_TOOLS: "$DRIVERS_TOOLS"
64
- MONGO_ORCHESTRATION_HOME: "$MONGO_ORCHESTRATION_HOME"
65
- MONGODB_BINARIES: "$MONGODB_BINARIES"
66
- UPLOAD_BUCKET: "$UPLOAD_BUCKET"
67
- PROJECT_DIRECTORY: "$PROJECT_DIRECTORY"
68
- PREPARE_SHELL: |
69
- set -o errexit
70
- set -o xtrace
71
- export DRIVERS_TOOLS="$DRIVERS_TOOLS"
72
- export MONGO_ORCHESTRATION_HOME="$MONGO_ORCHESTRATION_HOME"
73
- export MONGODB_BINARIES="$MONGODB_BINARIES"
74
- export UPLOAD_BUCKET="$UPLOAD_BUCKET"
75
- export PROJECT_DIRECTORY="$PROJECT_DIRECTORY"
76
-
77
- export TMPDIR="$MONGO_ORCHESTRATION_HOME/db"
78
- export PATH="$MONGODB_BINARIES:$PATH"
79
- export PROJECT="${project}"
80
-
81
- export MONGODB_VERSION=${VERSION}
82
- export TOPOLOGY=${TOPOLOGY}
83
- export SINGLE_MONGOS=${SINGLE_MONGOS}
84
- export AUTH=${AUTH}
85
- export SSL=${SSL}
86
- export APP_TESTS=${APP_TESTS}
87
- export DOCKER_DISTRO=${DOCKER_DISTRO}
88
- EOT
89
- # See what we've done
90
- cat expansion.yml
47
+ # Get the current unique version of this checkout
48
+ if [ "${is_patch}" = "true" ]; then
49
+ CURRENT_VERSION=$(git describe)-patch-${version_id}
50
+ else
51
+ CURRENT_VERSION=latest
52
+ fi
53
+
54
+ export DRIVERS_TOOLS="$(pwd)/.mod/drivers-evergreen-tools"
55
+
56
+ export MONGO_ORCHESTRATION_HOME="$DRIVERS_TOOLS/.evergreen/orchestration"
57
+ export MONGODB_BINARIES="$DRIVERS_TOOLS/mongodb/bin"
58
+ export UPLOAD_BUCKET="${project}"
59
+ export PROJECT_DIRECTORY="$(pwd)"
60
+
61
+ cat <<EOT > expansion.yml
62
+ CURRENT_VERSION: "$CURRENT_VERSION"
63
+ DRIVERS_TOOLS: "$DRIVERS_TOOLS"
64
+ MONGO_ORCHESTRATION_HOME: "$MONGO_ORCHESTRATION_HOME"
65
+ MONGODB_BINARIES: "$MONGODB_BINARIES"
66
+ UPLOAD_BUCKET: "$UPLOAD_BUCKET"
67
+ PROJECT_DIRECTORY: "$PROJECT_DIRECTORY"
68
+ PREPARE_SHELL: |
69
+ set -o errexit
70
+ set -o xtrace
71
+ export DRIVERS_TOOLS="$DRIVERS_TOOLS"
72
+ export MONGO_ORCHESTRATION_HOME="$MONGO_ORCHESTRATION_HOME"
73
+ export MONGODB_BINARIES="$MONGODB_BINARIES"
74
+ export UPLOAD_BUCKET="$UPLOAD_BUCKET"
75
+ export PROJECT_DIRECTORY="$PROJECT_DIRECTORY"
76
+
77
+ export TMPDIR="$MONGO_ORCHESTRATION_HOME/db"
78
+ export PATH="$MONGODB_BINARIES:$PATH"
79
+ export PROJECT="${project}"
80
+
81
+ export MONGODB_VERSION="${VERSION}"
82
+ export TOPOLOGY="${TOPOLOGY}"
83
+ export SINGLE_MONGOS="${SINGLE_MONGOS}"
84
+ export AUTH="${AUTH}"
85
+ export SSL="${SSL}"
86
+ export APP_TESTS="${APP_TESTS}"
87
+ export DOCKER_DISTRO="${DOCKER_DISTRO}"
88
+ export RVM_RUBY="${RVM_RUBY}"
89
+ export RAILS="${RAILS}"
90
+ export DRIVER="${DRIVER}"
91
+ export I18N="${I18N}"
92
+ export TEST_I18N_FALLBACKS="${TEST_I18N_FALLBACKS}"
93
+ export FLE="${FLE}"
94
+ EOT
95
+ # See what we've done
96
+ cat expansion.yml
91
97
92
98
# Load the expansion file to make an evergreen variable with the current unique version
93
99
- command : expansions.update
@@ -266,7 +272,7 @@ functions:
266
272
${PREPARE_SHELL}
267
273
env \
268
274
MONGODB_URI="${MONGODB_URI}" \
269
- TOPOLOGY=${TOPOLOGY} \
275
+ TOPOLOGY=" ${TOPOLOGY}" \
270
276
RVM_RUBY="${RVM_RUBY}" \
271
277
RAILS="${RAILS}" \
272
278
DRIVER="${DRIVER}" \
@@ -307,10 +313,66 @@ post:
307
313
# - func: "upload test results"
308
314
- func : " upload test results to s3"
309
315
316
+ task_groups :
317
+ - name : testatlas_task_group
318
+ setup_group_can_fail_task : true
319
+ setup_group_timeout_secs : 1800 # 30 minutes
320
+ setup_group :
321
+ - func : fetch source
322
+ - func : create expansions
323
+ - command : shell.exec
324
+ params :
325
+ shell : " bash"
326
+ working_dir : " src"
327
+ script : |
328
+ ${PREPARE_SHELL}
329
+
330
+ DRIVERS_ATLAS_PUBLIC_API_KEY="${DRIVERS_ATLAS_PUBLIC_API_KEY}" \
331
+ DRIVERS_ATLAS_PRIVATE_API_KEY="${DRIVERS_ATLAS_PRIVATE_API_KEY}" \
332
+ DRIVERS_ATLAS_GROUP_ID="${DRIVERS_ATLAS_GROUP_ID}" \
333
+ DRIVERS_ATLAS_LAMBDA_USER="${DRIVERS_ATLAS_LAMBDA_USER}" \
334
+ DRIVERS_ATLAS_LAMBDA_PASSWORD="${DRIVERS_ATLAS_LAMBDA_PASSWORD}" \
335
+ LAMBDA_STACK_NAME="dbx-ruby-lambda" \
336
+ MONGODB_VERSION="7.0" \
337
+ task_id="${task_id}" \
338
+ execution="${execution}" \
339
+ $DRIVERS_TOOLS/.evergreen/atlas/setup-atlas-cluster.sh
340
+ - command : expansions.update
341
+ params :
342
+ file : src/atlas-expansion.yml
343
+ teardown_group :
344
+ - command : shell.exec
345
+ params :
346
+ shell : " bash"
347
+ working_dir : " src"
348
+ script : |
349
+ ${PREPARE_SHELL}
350
+
351
+ DRIVERS_ATLAS_PUBLIC_API_KEY="${DRIVERS_ATLAS_PUBLIC_API_KEY}" \
352
+ DRIVERS_ATLAS_PRIVATE_API_KEY="${DRIVERS_ATLAS_PRIVATE_API_KEY}" \
353
+ DRIVERS_ATLAS_GROUP_ID="${DRIVERS_ATLAS_GROUP_ID}" \
354
+ LAMBDA_STACK_NAME="dbx-ruby-lambda" \
355
+ task_id="${task_id}" \
356
+ execution="${execution}" \
357
+ $DRIVERS_TOOLS/.evergreen/atlas/teardown-atlas-cluster.sh
358
+ tasks :
359
+ - test-full-atlas-task
360
+
310
361
tasks :
311
362
- name : " test"
312
363
commands :
313
364
- func : " run tests"
365
+ - name : " test-full-atlas-task"
366
+ commands :
367
+ - command : shell.exec
368
+ type : test
369
+ params :
370
+ working_dir : " src"
371
+ shell : " bash"
372
+ script : |
373
+ ${PREPARE_SHELL}
374
+ MONGODB_URI="${MONGODB_URI}" \
375
+ .evergreen/run-tests-atlas-full.sh
314
376
axes :
315
377
- id : " mongodb-version"
316
378
display_name : MongoDB Version
@@ -432,13 +494,16 @@ axes:
432
494
- id : " os"
433
495
display_name : OS
434
496
values :
497
+ - id : actual-ubuntu-22.04
498
+ display_name : " Ubuntu 22.04"
499
+ run_on : ubuntu2204-small
435
500
- id : ubuntu-18.04
436
501
display_name : " Ubuntu 18.04"
437
502
run_on : ubuntu2004-small
438
503
variables :
439
504
DOCKER_DISTRO : ubuntu1804
440
505
- id : ubuntu-22.04
441
- display_name : " Ubuntu 20 .04"
506
+ display_name : " Ubuntu 22 .04"
442
507
run_on : ubuntu2004-small
443
508
variables :
444
509
DOCKER_DISTRO : ubuntu2204
@@ -524,6 +589,10 @@ axes:
524
589
display_name : " Rails 7.0"
525
590
variables :
526
591
RAILS : " 7.0"
592
+ - id : " 7.1"
593
+ display_name : " Rails 7.1"
594
+ variables :
595
+ RAILS : " 7.1"
527
596
528
597
- id : " i18n"
529
598
display_name : I18n version
@@ -679,9 +748,10 @@ buildvariants:
679
748
driver : ["current"]
680
749
mongodb-version : " 6.0"
681
750
topology : " standalone"
682
- rails : ['7.0']
683
- os : debian11
684
- display_name : " ${rails}, ${driver}, ${mongodb-version}"
751
+ rails : ['7.0', '7.1']
752
+ os : ubuntu-22.04
753
+ fle : helper
754
+ display_name : " ${rails}, ${driver}, ${mongodb-version} (FLE ${fle})"
685
755
tasks :
686
756
- name : " test"
687
757
@@ -764,7 +834,7 @@ buildvariants:
764
834
mongodb-version : ' 6.0'
765
835
topology : standalone
766
836
app-tests : yes
767
- rails : ['6.0', '6.1', '7.0']
837
+ rails : ['6.0', '6.1', '7.0', '7.1' ]
768
838
os : rhel80
769
839
display_name : " app tests ${driver}, ${ruby}, ${rails}"
770
840
tasks :
@@ -808,3 +878,13 @@ buildvariants:
808
878
display_name : " FLE: ${rails}, ${driver}, ${mongodb-version}"
809
879
tasks :
810
880
- name : " test"
881
+
882
+ - matrix_name : atlas-full
883
+ matrix_spec :
884
+ ruby : ruby-3.2
885
+ os : actual-ubuntu-22.04
886
+ auth : auth
887
+ ssl : ssl
888
+ display_name : " Atlas (Full)"
889
+ tasks :
890
+ - name : testatlas_task_group
0 commit comments