Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sync with master #2828

Draft
wants to merge 32 commits into
base: 2.19-stable
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
88eccfa
RUBY-3209 Generate api docs (#2768)
comandeo-mongo Aug 7, 2023
ae75857
RUBY-3308 Fixing serverless test failures (#2770)
jamis Aug 14, 2023
b36d358
RUBY-3314 Implement variable iterations for benchmarks (#2771)
jamis Aug 17, 2023
6e88e3e
RUBY-3313 Record benchmark percentiles (#2772)
jamis Aug 21, 2023
5598035
RUBY-3315 BSON benchmark scoring (#2773)
jamis Aug 22, 2023
c303ab6
RUBY-3242 Add spec tests for runCommand (#2776)
comandeo-mongo Aug 25, 2023
42f7838
RUBY-2748 Retry reads/writes on another mongos (#2717)
comandeo-mongo Aug 25, 2023
f447d09
RUBY-3316 Quality of life updates for BSON benchmarks (#2774)
jamis Aug 28, 2023
765976a
RUBY-3268 search index management helpers (#2777)
jamis Sep 7, 2023
d3b3d6b
RUBY-3324 bump drivers-evergreen-tools to get updated atlas setup/tea…
jamis Sep 13, 2023
70c23a9
RUBY-3328 add `execution` expansion to environment for atlas cluster …
jamis Sep 18, 2023
17e4ec4
RUBY-3372 Fix failing explain tests (#2782)
comandeo-mongo Sep 18, 2023
70e5f38
RUBY-3279 Bump min server version for FLE test (#2779)
comandeo-mongo Sep 18, 2023
b1f9faf
RUBY-3267 make specs pass when X.509 authentication is active (#2781)
jamis Sep 19, 2023
49f0046
RUBY-2706 Test find related options (#2789)
comandeo-mongo Oct 5, 2023
4b007a6
RUBY-3331: Inline server lifecycle callout (#2790)
alexbevi Oct 6, 2023
b6549ac
RUBY-3296 Write to log when non-genuine host is detected (#2791)
jamis Oct 11, 2023
cb21f01
RUBY-3149 Test on AWS Lambda (#2800)
comandeo-mongo Oct 20, 2023
014a50f
Fix serverless tests (#2802)
comandeo-mongo Oct 31, 2023
16a2095
RUBY-3333 Update AWS auth tests (#2803)
comandeo-mongo Nov 2, 2023
79dba06
RUBY-3347 add additional serverless project to tests (#2810)
jamis Nov 21, 2023
ba527e1
Fix broken link in Mongo::Monitoring::Event::Secure (#2775)
alexbevi Nov 28, 2023
829cd5a
RUBY-3341 Document error handling in transactions (#2809)
comandeo-mongo Dec 5, 2023
0b29297
RUBY-3365 remove spec (#2820)
jamis Jan 9, 2024
20d16a7
RUBY-3362 sync specs to fix failing tests on server version 7.3 (#2819)
jamis Jan 9, 2024
95e1752
RUBY-3361 resync specs (#2818)
jamis Jan 9, 2024
756f67e
RUBY-3298 Add container info to handshake metadata (#2821)
jamis Jan 12, 2024
488fce0
RUBY-1813 Discard ServerSessions involved in network errors (#2825)
jamis Jan 15, 2024
0d99359
RUBY-3329 Connection String: make delimiting slash between hosts and …
jamis Jan 15, 2024
b7acff4
RUBY-2254 sort by id when comparing collection contents (#2823)
jamis Jan 15, 2024
aaa2a56
RUBY-1791 Raise if transactions not supported (#2822)
comandeo-mongo Jan 15, 2024
72cf221
RUBY-3358 Handle nil session is write_worker (#2826)
comandeo-mongo Jan 19, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .evergreen/atlas
156 changes: 132 additions & 24 deletions .evergreen/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,14 @@ functions:
export ATLAS_SERVERLESS_URI="${atlas_serverless_uri}"
export ATLAS_SERVERLESS_LB_URI="${atlas_serverless_lb_uri}"
export RVM_RUBY="${RVM_RUBY}"
export SERVERLESS_DRIVERS_GROUP="${SERVERLESS_DRIVERS_GROUP}"

if [[ -n "${USE_PROXY_SERVERLESS}" ]];
then
export SERVERLESS_DRIVERS_GROUP="${PROXY_SERVERLESS_DRIVERS_GROUP}"
else
export SERVERLESS_DRIVERS_GROUP="${SERVERLESS_DRIVERS_GROUP}"
fi

export SERVERLESS_API_PUBLIC_KEY="${SERVERLESS_API_PUBLIC_KEY}"
export SERVERLESS_API_PRIVATE_KEY="${SERVERLESS_API_PRIVATE_KEY}"
export SERVERLESS_ATLAS_USER="${SERVERLESS_ATLAS_USER}"
Expand Down Expand Up @@ -179,7 +186,7 @@ functions:
IAM_AUTH_ECS_SECURITY_GROUP="${iam_auth_ecs_security_group}"
IAM_AUTH_ECS_SUBNET_A="${iam_auth_ecs_subnet_a}"
IAM_AUTH_ECS_SUBNET_B="${iam_auth_ecs_subnet_b}"
IAM_AUTH_ECS_TASK_DEFINITION="${iam_auth_ecs_task_definition}"
IAM_AUTH_ECS_TASK_DEFINITION="${iam_auth_ecs_task_definition_ubuntu2004}"

IAM_WEB_IDENTITY_ISSUER="${iam_web_identity_issuer}"
IAM_WEB_IDENTITY_JWKS_URI="${iam_web_identity_jwks_uri}"
Expand Down Expand Up @@ -453,7 +460,7 @@ functions:
working_dir: "src"
script: |
${PREPARE_SHELL}
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
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

pre:
- func: "fetch source"
Expand Down Expand Up @@ -482,6 +489,8 @@ task_groups:
script: |
${PREPARE_SHELL}

echo "Setting up Atlas cluster"

DRIVERS_ATLAS_PUBLIC_API_KEY="${DRIVERS_ATLAS_PUBLIC_API_KEY}" \
DRIVERS_ATLAS_PRIVATE_API_KEY="${DRIVERS_ATLAS_PRIVATE_API_KEY}" \
DRIVERS_ATLAS_GROUP_ID="${DRIVERS_ATLAS_GROUP_ID}" \
Expand All @@ -492,6 +501,8 @@ task_groups:
task_id="${task_id}" \
execution="${execution}" \
$DRIVERS_TOOLS/.evergreen/atlas/setup-atlas-cluster.sh

echo "MONGODB_URI=${MONGODB_URI}"
- command: expansions.update
params:
file: src/atlas-expansion.yml
Expand All @@ -513,6 +524,52 @@ task_groups:
tasks:
- test-full-atlas-task

- name: test_aws_lambda_task_group
setup_group_can_fail_task: true
setup_group_timeout_secs: 1800 # 30 minutes
setup_group:
- func: fetch source
- func: create expansions
- command: shell.exec
params:
shell: "bash"
working_dir: "src"
script: |
${PREPARE_SHELL}

echo "Setting up Atlas cluster"

DRIVERS_ATLAS_PUBLIC_API_KEY="${DRIVERS_ATLAS_PUBLIC_API_KEY}" \
DRIVERS_ATLAS_PRIVATE_API_KEY="${DRIVERS_ATLAS_PRIVATE_API_KEY}" \
DRIVERS_ATLAS_GROUP_ID="${DRIVERS_ATLAS_GROUP_ID}" \
DRIVERS_ATLAS_LAMBDA_USER="${DRIVERS_ATLAS_LAMBDA_USER}" \
DRIVERS_ATLAS_LAMBDA_PASSWORD="${DRIVERS_ATLAS_LAMBDA_PASSWORD}" \
LAMBDA_STACK_NAME="dbx-ruby-lambda" \
MONGODB_VERSION="7.0" \
task_id="${task_id}" \
execution="${execution}" \
$DRIVERS_TOOLS/.evergreen/atlas/setup-atlas-cluster.sh
- command: expansions.update
params:
file: src/atlas-expansion.yml
teardown_group:
- command: shell.exec
params:
shell: "bash"
working_dir: "src"
script: |
${PREPARE_SHELL}

DRIVERS_ATLAS_PUBLIC_API_KEY="${DRIVERS_ATLAS_PUBLIC_API_KEY}" \
DRIVERS_ATLAS_PRIVATE_API_KEY="${DRIVERS_ATLAS_PRIVATE_API_KEY}" \
DRIVERS_ATLAS_GROUP_ID="${DRIVERS_ATLAS_GROUP_ID}" \
LAMBDA_STACK_NAME="dbx-ruby-lambda" \
task_id="${task_id}" \
execution="${execution}" \
$DRIVERS_TOOLS/.evergreen/atlas/teardown-atlas-cluster.sh
tasks:
- test-aws-lambda-deployed

- name: testgcpkms_task_group
setup_group_can_fail_task: true
setup_group_timeout_secs: 1800 # 30 minutes
Expand Down Expand Up @@ -702,6 +759,38 @@ tasks:
export AZUREKMS_VMNAME=${AZUREKMS_VMNAME}
export AZUREKMS_PRIVATEKEYPATH="/tmp/testazurekms_private_key_file"
AZUREKMS_CMD="TEST_FLE_AZURE_AUTO=1 RVM_RUBY=ruby-3.1 FLE=helper TOPOLOGY=standalone MONGODB_VERSION=6.0 MONGO_RUBY_DRIVER_AZURE_TENANT_ID="${MONGO_RUBY_DRIVER_AZURE_TENANT_ID}" MONGO_RUBY_DRIVER_AZURE_CLIENT_ID="${MONGO_RUBY_DRIVER_AZURE_CLIENT_ID}" MONGO_RUBY_DRIVER_AZURE_CLIENT_SECRET="${MONGO_RUBY_DRIVER_AZURE_CLIENT_SECRET}" MONGO_RUBY_DRIVER_AZURE_IDENTITY_PLATFORM_ENDPOINT="${MONGO_RUBY_DRIVER_AZURE_IDENTITY_PLATFORM_ENDPOINT}" MONGO_RUBY_DRIVER_AZURE_KEY_VAULT_ENDPOINT="${testazurekms_keyvaultendpoint}" MONGO_RUBY_DRIVER_AZURE_KEY_NAME="${testazurekms_keyname}" ./.evergreen/run-tests-azure.sh" .evergreen/csfle/azurekms/run-command.sh

- name: "test-aws-lambda-deployed"
commands:
- command: ec2.assume_role
params:
role_arn: ${LAMBDA_AWS_ROLE_ARN}
duration_seconds: 3600
- command: shell.exec
type: test
params:
working_dir: "src"
shell: "bash"
script: |
${PREPARE_SHELL}
export MONGODB_URI=${MONGODB_URI}
.evergreen/run-tests-deployed-lambda.sh
env:
TEST_LAMBDA_DIRECTORY: ${PROJECT_DIRECTORY}/spec/faas/ruby-sam-app
AWS_REGION: us-east-1
PROJECT_DIRECTORY: ${PROJECT_DIRECTORY}
DRIVERS_TOOLS: ${DRIVERS_TOOLS}
DRIVERS_ATLAS_PUBLIC_API_KEY: ${DRIVERS_ATLAS_PUBLIC_API_KEY}
DRIVERS_ATLAS_PRIVATE_API_KEY: ${DRIVERS_ATLAS_PRIVATE_API_KEY}
DRIVERS_ATLAS_LAMBDA_USER: ${DRIVERS_ATLAS_LAMBDA_USER}
DRIVERS_ATLAS_LAMBDA_PASSWORD: ${DRIVERS_ATLAS_LAMBDA_PASSWORD}
DRIVERS_ATLAS_GROUP_ID: ${DRIVERS_ATLAS_GROUP_ID}
AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID}
AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY}
AWS_SESSION_TOKEN: ${AWS_SESSION_TOKEN}
LAMBDA_STACK_NAME: "dbx-ruby-lambda"
RVM_RUBY: ruby-3.2
MONGODB_URI: ${MONGODB_URI}
axes:

- id: preload
Expand Down Expand Up @@ -890,7 +979,7 @@ axes:
display_name: jruby-9.4
variables:
RVM_RUBY: "jruby-9.4"

- id: "os"
display_name: OS
values:
Expand All @@ -900,6 +989,9 @@ axes:
- id: ubuntu2204
display_name: "Ubuntu 22.04"
run_on: ubuntu2204-small
- id: ubuntu2004
display_name: "Ubuntu 20.04"
run_on: ubuntu2004-small
- id: rhel8
display_name: "RHEL 8"
run_on: rhel80-small
Expand Down Expand Up @@ -1112,6 +1204,16 @@ axes:
- id: no
display_name: No

- id: serverless-project
display_name: serverless project
values:
- id: original
display_name: Original
- id: proxy
display_name: Proxy
variables:
USE_PROXY_SERVERLESS: 1

buildvariants:
- matrix_name: "auth/ssl"
matrix_spec:
Expand Down Expand Up @@ -1304,24 +1406,21 @@ buildvariants:
tasks:
- name: "test-mlaunch"

# The X.509 tests are failing with exceptions being expected, but never
# raised. (RUBY-3267)
#
# - matrix_name: "x509-tests"
# matrix_spec:
# auth-and-ssl: "x509"
# ruby: "ruby-3.2"
# # needs the latest_5x_mdb because run-tests.sh uses `mongo` to configure
# # the server for certain auth mechanisms. Once run-tests.sh is made smart
# # enough to install mongosh, and then use either mongo or mongosh
# # (depending on server version and what's available), we can bump this to
# # the latest stable db version.
# mongodb-version: "5.3"
# topology: standalone
# os: rhel8
# display_name: "${mongodb-version} ${topology} ${auth-and-ssl} ${ruby}"
# tasks:
# - name: "test-mlaunch"
- matrix_name: "x509-tests"
matrix_spec:
auth-and-ssl: "x509"
ruby: "ruby-3.2"
# needs the latest_5x_mdb because run-tests.sh uses `mongo` to configure
# the server for certain auth mechanisms. Once run-tests.sh is made smart
# enough to install mongosh, and then use either mongo or mongosh
# (depending on server version and what's available), we can bump this to
# the latest stable db version.
mongodb-version: "5.3"
topology: standalone
os: rhel8
display_name: "${mongodb-version} ${topology} ${auth-and-ssl} ${ruby}"
tasks:
- name: "test-mlaunch"

- matrix_name: "jruby-auth"
matrix_spec:
Expand Down Expand Up @@ -1451,7 +1550,7 @@ buildvariants:
# (depending on server version and what's available), we can bump this to
# the latest stable db version.
mongodb-version: "5.3"
os: rhel8
os: ubuntu2004
display_name: "AWS ${auth-and-ssl} ${mongodb-version} ${ruby}"
tasks:
- name: "test-aws-auth"
Expand Down Expand Up @@ -1689,6 +1788,15 @@ buildvariants:
ruby: ["ruby-3.2", "ruby-3.1", "ruby-3.0", "ruby-2.7", "ruby-2.6", "ruby-2.5"]
fle: path
os: rhel8
display_name: "Atlas serverless ${ruby} single mongos"
serverless-project: [ original, proxy ]
display_name: "Atlas serverless ${ruby} ${serverless-project}"
tasks:
- name: test-serverless

- matrix_name: "aws-lambda"
matrix_spec:
ruby: "ruby-3.2"
os: ubuntu2204
display_name: "AWS Lambda"
tasks:
- name: test_aws_lambda_task_group
15 changes: 14 additions & 1 deletion .evergreen/config/axes.yml.erb
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@ axes:
display_name: jruby-9.4
variables:
RVM_RUBY: "jruby-9.4"

- id: "os"
display_name: OS
values:
Expand All @@ -196,6 +196,9 @@ axes:
- id: ubuntu2204
display_name: "Ubuntu 22.04"
run_on: ubuntu2204-small
- id: ubuntu2004
display_name: "Ubuntu 20.04"
run_on: ubuntu2004-small
- id: rhel8
display_name: "RHEL 8"
run_on: rhel80-small
Expand Down Expand Up @@ -402,3 +405,13 @@ axes:
API_VERSION_REQUIRED: 1
- id: no
display_name: No

- id: serverless-project
display_name: serverless project
values:
- id: original
display_name: Original
- id: proxy
display_name: Proxy
variables:
USE_PROXY_SERVERLESS: 1
Loading
Loading