diff --git a/.evergreen/config.yml b/.evergreen/config.yml index 1843d5a8..7898a024 100644 --- a/.evergreen/config.yml +++ b/.evergreen/config.yml @@ -100,7 +100,7 @@ functions: bucket: mciuploads extract_to: ${PROJECT_DIRECTORY} - "exec compile script": + "exec compile script" : - command: shell.exec type: test params: @@ -108,7 +108,7 @@ functions: script: | [ -f ${PROJECT_DIRECTORY}/${file} ] && BUILDTOOL="${buildtool}" bash ${PROJECT_DIRECTORY}/${file} || echo "${PROJECT_DIRECTORY}/${file} not available, skipping" - "exec script": + "exec script" : - command: shell.exec type: test params: @@ -116,45 +116,45 @@ functions: script: | [ -f ${PROJECT_DIRECTORY}/${file} ] && bash ${PROJECT_DIRECTORY}/${file} || echo "${PROJECT_DIRECTORY}/${file} not available, skipping" - "upload docs": + "upload docs" : - command: shell.exec params: silent: true script: | - export AWS_ACCESS_KEY_ID=${aws_key} - export AWS_SECRET_ACCESS_KEY=${aws_secret} - aws s3 cp ${PROJECT_DIRECTORY}/doc/html s3://mciuploads/${UPLOAD_BUCKET}/docs/${CURRENT_VERSION} --recursive --acl public-read --region us-east-1 + export AWS_ACCESS_KEY_ID=${aws_key} + export AWS_SECRET_ACCESS_KEY=${aws_secret} + aws s3 cp ${PROJECT_DIRECTORY}/doc/html s3://mciuploads/${UPLOAD_BUCKET}/docs/${CURRENT_VERSION} --recursive --acl public-read --region us-east-1 - command: s3.put params: aws_key: ${aws_key} aws_secret: ${aws_secret} - local_file: ${PROJECT_DIRECTORY}/doc/html/index.html + local_file: ${PROJECT_DIRECTORY}/doc/html/index.html remote_file: ${UPLOAD_BUCKET}/docs/${CURRENT_VERSION}/index.html bucket: mciuploads permissions: public-read content_type: text/html display_name: "Rendered docs" - "upload coverage": + "upload coverage" : - command: shell.exec params: silent: true script: | - export AWS_ACCESS_KEY_ID=${aws_key} - export AWS_SECRET_ACCESS_KEY=${aws_secret} - aws s3 cp ${PROJECT_DIRECTORY}/coverage s3://mciuploads/${UPLOAD_BUCKET}/${build_variant}/${revision}/${version_id}/${build_id}/coverage/ --recursive --acl public-read --region us-east-1 + export AWS_ACCESS_KEY_ID=${aws_key} + export AWS_SECRET_ACCESS_KEY=${aws_secret} + aws s3 cp ${PROJECT_DIRECTORY}/coverage s3://mciuploads/${UPLOAD_BUCKET}/${build_variant}/${revision}/${version_id}/${build_id}/coverage/ --recursive --acl public-read --region us-east-1 - command: s3.put params: aws_key: ${aws_key} aws_secret: ${aws_secret} - local_file: ${PROJECT_DIRECTORY}/coverage/index.html + local_file: ${PROJECT_DIRECTORY}/coverage/index.html remote_file: ${UPLOAD_BUCKET}/${build_variant}/${revision}/${version_id}/${build_id}/coverage/index.html bucket: mciuploads permissions: public-read content_type: text/html display_name: "Coverage Report" - "upload scan artifacts": + "upload scan artifacts" : - command: shell.exec type: test params: @@ -169,14 +169,14 @@ functions: params: silent: true script: | - export AWS_ACCESS_KEY_ID=${aws_key} - export AWS_SECRET_ACCESS_KEY=${aws_secret} - aws s3 cp ${PROJECT_DIRECTORY}/scan s3://mciuploads/${UPLOAD_BUCKET}/${build_variant}/${revision}/${version_id}/${build_id}/scan/ --recursive --acl public-read --region us-east-1 + export AWS_ACCESS_KEY_ID=${aws_key} + export AWS_SECRET_ACCESS_KEY=${aws_secret} + aws s3 cp ${PROJECT_DIRECTORY}/scan s3://mciuploads/${UPLOAD_BUCKET}/${build_variant}/${revision}/${version_id}/${build_id}/scan/ --recursive --acl public-read --region us-east-1 - command: s3.put params: aws_key: ${aws_key} aws_secret: ${aws_secret} - local_file: ${PROJECT_DIRECTORY}/scan.html + local_file: ${PROJECT_DIRECTORY}/scan.html remote_file: ${UPLOAD_BUCKET}/${build_variant}/${revision}/${version_id}/${build_id}/scan/index.html bucket: mciuploads permissions: public-read @@ -323,8 +323,7 @@ functions: - command: shell.exec type: test params: - include_expansions_in_env: - ["AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY", "AWS_SESSION_TOKEN"] + include_expansions_in_env: ["AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY", "AWS_SESSION_TOKEN"] working_dir: "src" script: | set -ex @@ -343,8 +342,7 @@ functions: - command: shell.exec type: test params: - include_expansions_in_env: - ["AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY", "AWS_SESSION_TOKEN"] + include_expansions_in_env: ["AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY", "AWS_SESSION_TOKEN"] working_dir: "src" script: | set -ex @@ -414,8 +412,7 @@ functions: type: test params: shell: bash - include_expansions_in_env: - ["AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY", "AWS_SESSION_TOKEN"] + include_expansions_in_env: ["AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY", "AWS_SESSION_TOKEN"] script: |- set -o errexit cd ${DRIVERS_TOOLS} @@ -439,8 +436,7 @@ functions: type: test params: shell: bash - include_expansions_in_env: - ["AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY", "AWS_SESSION_TOKEN"] + include_expansions_in_env: ["AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY", "AWS_SESSION_TOKEN"] script: |- set -o errexit cd ${DRIVERS_TOOLS} @@ -478,417 +474,419 @@ post: - func: "cleanup" tasks: - # Wildcard task. Do you need to find out what tools are available and where? - # Throw it here, and execute this task on all buildvariants - - name: getdata - commands: - - command: shell.exec - type: test - params: - script: | - . ${DRIVERS_TOOLS}/.evergreen/download-mongodb.sh || true - get_distro || true - echo $DISTRO - echo $MARCH - echo $OS - uname -a || true - ls /etc/*release* || true - cc --version || true - gcc --version || true - clang --version || true - gcov --version || true - lcov --version || true - llvm-cov --version || true - echo $PATH - ls -la /usr/local/Cellar/llvm/*/bin/ || true - ls -la /usr/local/Cellar/ || true - scan-build --version || true - genhtml --version || true - valgrind --version || true - - # Release Engineering Matrix {{{ - - name: make-release-archive - tags: ["releng"] - commands: - - func: "exec script" - vars: - file: ".evergreen/make-release.sh" - - func: "upload release" - - func: "upload build" - - - name: make-docs - tags: ["releng"] - commands: - - func: "exec script" - vars: - file: ".evergreen/make-docs.sh" - - func: "upload docs" - - - name: release-compile - tags: ["releng"] - depends_on: - - name: "make-release-archive" - variant: "releng-release-archive-creator" - commands: - # Fetch the make-release-archive generated archive, rather then the git clone - - func: "fetch build" - vars: - BUILD_NAME: "make-release-archive" - - func: "exec script" - vars: - file: ".evergreen/compile.sh" - - func: "upload build" - - - name: release-compile-cmake - tags: ["releng"] - depends_on: - - name: "make-release-archive" - variant: "releng-release-archive-creator" - commands: - # Fetch the make-release-archive generated archive, rather then the git clone - - func: "fetch build" - vars: - BUILD_NAME: "make-release-archive" - - func: "exec compile script" - vars: - file: ".evergreen/compile.sh" - buildtool: "cmake" - - func: "upload build" - # }}} + # Wildcard task. Do you need to find out what tools are available and where? + # Throw it here, and execute this task on all buildvariants + - name: getdata + commands: + - command: shell.exec + type: test + params: + script: | + . ${DRIVERS_TOOLS}/.evergreen/download-mongodb.sh || true + get_distro || true + echo $DISTRO + echo $MARCH + echo $OS + uname -a || true + ls /etc/*release* || true + cc --version || true + gcc --version || true + clang --version || true + gcov --version || true + lcov --version || true + llvm-cov --version || true + echo $PATH + ls -la /usr/local/Cellar/llvm/*/bin/ || true + ls -la /usr/local/Cellar/ || true + scan-build --version || true + genhtml --version || true + valgrind --version || true + +# Release Engineering Matrix {{{ + - name: make-release-archive + tags: ["releng"] + commands: + - func: "exec script" + vars: + file: ".evergreen/make-release.sh" + - func: "upload release" + - func: "upload build" + + - name: make-docs + tags: ["releng"] + commands: + - func: "exec script" + vars: + file: ".evergreen/make-docs.sh" + - func: "upload docs" + + - name: release-compile + tags: ["releng"] + depends_on: + - name: "make-release-archive" + variant: "releng-release-archive-creator" + commands: + # Fetch the make-release-archive generated archive, rather then the git clone + - func: "fetch build" + vars: + BUILD_NAME: "make-release-archive" + - func: "exec script" + vars: + file: ".evergreen/compile.sh" + - func: "upload build" + + - name: release-compile-cmake + tags: ["releng"] + depends_on: + - name: "make-release-archive" + variant: "releng-release-archive-creator" + commands: + # Fetch the make-release-archive generated archive, rather then the git clone + - func: "fetch build" + vars: + BUILD_NAME: "make-release-archive" + - func: "exec compile script" + vars: + file: ".evergreen/compile.sh" + buildtool: "cmake" + - func: "upload build" +# }}} - # Standard test tasks {{{ - - name: "test-8.0-standalone" - tags: ["8.0", "standalone"] - commands: - - func: "bootstrap mongo-orchestration" - vars: - VERSION: "8.0" - TOPOLOGY: "server" - - func: "run tests" - - - name: "test-8.0-replica_set" - tags: ["8.0", "replica_set"] - commands: - - func: "bootstrap mongo-orchestration" - vars: - VERSION: "8.0" - TOPOLOGY: "replica_set" - - func: "run tests" - - - name: "test-8.0-sharded_cluster" - tags: ["8.0", "sharded_cluster"] - commands: - - func: "bootstrap mongo-orchestration" - vars: - VERSION: "8.0" - TOPOLOGY: "sharded_cluster" - - func: "run tests" - - - name: "test-7.0-standalone" - tags: ["7.0", "standalone"] - commands: - - func: "bootstrap mongo-orchestration" - vars: - VERSION: "7.0" - TOPOLOGY: "server" - - func: "run tests" - - - name: "test-7.0-replica_set" - tags: ["7.0", "replica_set"] - commands: - - func: "bootstrap mongo-orchestration" - vars: - VERSION: "7.0" - TOPOLOGY: "replica_set" - - func: "run tests" - - - name: "test-7.0-sharded_cluster" - tags: ["7.0", "sharded_cluster"] - commands: - - func: "bootstrap mongo-orchestration" - vars: - VERSION: "7.0" - TOPOLOGY: "sharded_cluster" - - func: "run tests" - - - name: "test-6.0-standalone" - tags: ["6.0", "standalone"] - commands: - - func: "bootstrap mongo-orchestration" - vars: - VERSION: "6.0" - TOPOLOGY: "server" - - func: "run tests" - - - name: "test-6.0-replica_set" - tags: ["6.0", "replica_set"] - commands: - - func: "bootstrap mongo-orchestration" - vars: - VERSION: "6.0" - TOPOLOGY: "replica_set" - - func: "run tests" - - - name: "test-6.0-sharded_cluster" - tags: ["6.0", "sharded_cluster"] - commands: - - func: "bootstrap mongo-orchestration" - vars: - VERSION: "6.0" - TOPOLOGY: "sharded_cluster" - - func: "run tests" - - - name: "test-5.0-standalone" - tags: ["5.0", "standalone"] - commands: - - func: "bootstrap mongo-orchestration" - vars: - VERSION: "5.0" - TOPOLOGY: "server" - - func: "run tests" - - - name: "test-5.0-replica_set" - tags: ["5.0", "replica_set"] - commands: - - func: "bootstrap mongo-orchestration" - vars: - VERSION: "5.0" - TOPOLOGY: "replica_set" - - func: "run tests" - - - name: "test-5.0-sharded_cluster" - tags: ["5.0", "sharded_cluster"] - commands: - - func: "bootstrap mongo-orchestration" - vars: - VERSION: "5.0" - TOPOLOGY: "sharded_cluster" - - func: "run tests" - - - name: "test-4.4-standalone" - tags: ["4.4", "standalone"] - commands: - - func: "bootstrap mongo-orchestration" - vars: - VERSION: "4.4" - TOPOLOGY: "server" - - func: "run tests" - - - name: "test-4.4-replica_set" - tags: ["4.4", "replica_set"] - commands: - - func: "bootstrap mongo-orchestration" - vars: - VERSION: "4.4" - TOPOLOGY: "replica_set" - - func: "run tests" - - - name: "test-4.4-sharded_cluster" - tags: ["4.4", "sharded_cluster"] - commands: - - func: "bootstrap mongo-orchestration" - vars: - VERSION: "4.4" - TOPOLOGY: "sharded_cluster" - - func: "run tests" - - - name: "test-4.2-standalone" - tags: ["4.2", "standalone"] - commands: - - func: "bootstrap mongo-orchestration" - vars: - VERSION: "4.2" - TOPOLOGY: "server" - - func: "run tests" - - - name: "test-4.2-replica_set" - tags: ["4.2", "replica_set"] - commands: - - func: "bootstrap mongo-orchestration" - vars: - VERSION: "4.2" - TOPOLOGY: "replica_set" - - func: "run tests" - - - name: "test-4.2-sharded_cluster" - tags: ["4.2", "sharded_cluster"] - commands: - - func: "bootstrap mongo-orchestration" - vars: - VERSION: "4.2" - TOPOLOGY: "sharded_cluster" - - func: "run tests" - - - name: "test-4.0-standalone" - tags: ["4.0", "standalone"] - commands: - - func: "bootstrap mongo-orchestration" - vars: - VERSION: "4.0" - TOPOLOGY: "server" - - func: "run tests" - - - name: "test-4.0-replica_set" - tags: ["4.0", "replica_set"] - commands: - - func: "bootstrap mongo-orchestration" - vars: - VERSION: "4.0" - TOPOLOGY: "replica_set" - - func: "run tests" - - - name: "test-4.0-sharded_cluster" - tags: ["4.0", "sharded_cluster"] - commands: - - func: "bootstrap mongo-orchestration" - vars: - VERSION: "4.0" - TOPOLOGY: "sharded_cluster" - - func: "run tests" - - - name: "test-3.6-standalone" - tags: ["3.6", "standalone"] - commands: - - func: "bootstrap mongo-orchestration" - vars: - VERSION: "3.6" - TOPOLOGY: "server" - - func: "run tests" - - - name: "test-3.6-replica_set" - tags: ["3.6", "replica_set"] - commands: - - func: "bootstrap mongo-orchestration" - vars: - VERSION: "3.6" - TOPOLOGY: "replica_set" - - func: "run tests" - - - name: "test-3.6-sharded_cluster" - tags: ["3.6", "sharded_cluster"] - commands: - - func: "bootstrap mongo-orchestration" - vars: - VERSION: "3.6" - TOPOLOGY: "sharded_cluster" - - func: "run tests" - - - name: "test-latest-standalone" - tags: ["latest", "standalone"] - commands: - - func: "bootstrap mongo-orchestration" - vars: - VERSION: "latest" - TOPOLOGY: "server" - - func: "run tests" - - - name: "test-latest-replica_set" - tags: ["latest", "replica_set"] - commands: - - func: "bootstrap mongo-orchestration" - vars: - VERSION: "latest" - TOPOLOGY: "replica_set" - - func: "run tests" - - - name: "test-latest-sharded_cluster" - tags: ["latest", "sharded_cluster"] - commands: - - func: "bootstrap mongo-orchestration" - vars: - VERSION: "latest" - TOPOLOGY: "sharded_cluster" - - func: "run tests" - - - name: "test-latest-load_balancer" - tags: ["latest", "load_balancer"] - commands: - - func: "bootstrap mongo-orchestration" - vars: - VERSION: "latest" - TOPOLOGY: "sharded_cluster" - LOAD_BALANCER: "true" - - func: "run tests" - - - name: "test-serverless" - tags: ["serverless"] - commands: - - func: "run tests" - - - name: "test-atlas" - tags: ["atlas"] - commands: - - func: "run tests" - - - name: "test-docker" - tags: ["latest", "docker", "pr"] - commands: - - func: "run docker test" - - - name: "test-docker-3.6" - tags: ["latest", "docker", "pr"] - commands: +# Standard test tasks {{{ + + - name: "test-8.0-standalone" + tags: ["8.0", "standalone"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + VERSION: "8.0" + TOPOLOGY: "server" + - func: "run tests" + + - name: "test-8.0-replica_set" + tags: ["8.0", "replica_set"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + VERSION: "8.0" + TOPOLOGY: "replica_set" + - func: "run tests" + + - name: "test-8.0-sharded_cluster" + tags: ["8.0", "sharded_cluster"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + VERSION: "8.0" + TOPOLOGY: "sharded_cluster" + - func: "run tests" + + - name: "test-7.0-standalone" + tags: ["7.0", "standalone"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + VERSION: "7.0" + TOPOLOGY: "server" + - func: "run tests" + + - name: "test-7.0-replica_set" + tags: ["7.0", "replica_set"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + VERSION: "7.0" + TOPOLOGY: "replica_set" + - func: "run tests" + + - name: "test-7.0-sharded_cluster" + tags: ["7.0", "sharded_cluster"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + VERSION: "7.0" + TOPOLOGY: "sharded_cluster" + - func: "run tests" + + - name: "test-6.0-standalone" + tags: ["6.0", "standalone"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + VERSION: "6.0" + TOPOLOGY: "server" + - func: "run tests" + + - name: "test-6.0-replica_set" + tags: ["6.0", "replica_set"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + VERSION: "6.0" + TOPOLOGY: "replica_set" + - func: "run tests" + + - name: "test-6.0-sharded_cluster" + tags: ["6.0", "sharded_cluster"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + VERSION: "6.0" + TOPOLOGY: "sharded_cluster" + - func: "run tests" + + - name: "test-5.0-standalone" + tags: ["5.0", "standalone"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + VERSION: "5.0" + TOPOLOGY: "server" + - func: "run tests" + + - name: "test-5.0-replica_set" + tags: ["5.0", "replica_set"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + VERSION: "5.0" + TOPOLOGY: "replica_set" + - func: "run tests" + + - name: "test-5.0-sharded_cluster" + tags: ["5.0", "sharded_cluster"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + VERSION: "5.0" + TOPOLOGY: "sharded_cluster" + - func: "run tests" + + - name: "test-4.4-standalone" + tags: ["4.4", "standalone"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + VERSION: "4.4" + TOPOLOGY: "server" + - func: "run tests" + + - name: "test-4.4-replica_set" + tags: ["4.4", "replica_set"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + VERSION: "4.4" + TOPOLOGY: "replica_set" + - func: "run tests" + + - name: "test-4.4-sharded_cluster" + tags: ["4.4", "sharded_cluster"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + VERSION: "4.4" + TOPOLOGY: "sharded_cluster" + - func: "run tests" + + - name: "test-4.2-standalone" + tags: ["4.2", "standalone"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + VERSION: "4.2" + TOPOLOGY: "server" + - func: "run tests" + + - name: "test-4.2-replica_set" + tags: ["4.2", "replica_set"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + VERSION: "4.2" + TOPOLOGY: "replica_set" + - func: "run tests" + + - name: "test-4.2-sharded_cluster" + tags: ["4.2", "sharded_cluster"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + VERSION: "4.2" + TOPOLOGY: "sharded_cluster" + - func: "run tests" + + - name: "test-4.0-standalone" + tags: ["4.0", "standalone"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + VERSION: "4.0" + TOPOLOGY: "server" + - func: "run tests" + + - name: "test-4.0-replica_set" + tags: ["4.0", "replica_set"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + VERSION: "4.0" + TOPOLOGY: "replica_set" + - func: "run tests" + + - name: "test-4.0-sharded_cluster" + tags: ["4.0", "sharded_cluster"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + VERSION: "4.0" + TOPOLOGY: "sharded_cluster" + - func: "run tests" + + - name: "test-3.6-standalone" + tags: ["3.6", "standalone"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + VERSION: "3.6" + TOPOLOGY: "server" + - func: "run tests" + + - name: "test-3.6-replica_set" + tags: ["3.6", "replica_set"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + VERSION: "3.6" + TOPOLOGY: "replica_set" + - func: "run tests" + + - name: "test-3.6-sharded_cluster" + tags: ["3.6", "sharded_cluster"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + VERSION: "3.6" + TOPOLOGY: "sharded_cluster" + - func: "run tests" + + - name: "test-latest-standalone" + tags: ["latest", "standalone"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + VERSION: "latest" + TOPOLOGY: "server" + - func: "run tests" + + - name: "test-latest-replica_set" + tags: ["latest", "replica_set"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + VERSION: "latest" + TOPOLOGY: "replica_set" + - func: "run tests" + + - name: "test-latest-sharded_cluster" + tags: ["latest", "sharded_cluster"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + VERSION: "latest" + TOPOLOGY: "sharded_cluster" + - func: "run tests" + + - name: "test-latest-load_balancer" + tags: ["latest", "load_balancer"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + VERSION: "latest" + TOPOLOGY: "sharded_cluster" + LOAD_BALANCER: "true" + - func: "run tests" + + - name: "test-serverless" + tags: ["serverless"] + commands: + - func: "run tests" + + - name: "test-atlas" + tags: ["atlas"] + commands: + - func: "run tests" + + - name: "test-docker" + tags: ["latest", "docker", "pr"] + commands: + - func: "run docker test" + + - name: "test-docker-3.6" + tags: ["latest", "docker", "pr"] + commands: - func: "run docker test" vars: TARGET_IMAGE: ubuntu18.04 MONGODB_VERSION: 3.6 ARCH: amd64 - - name: "test-oidc-local" - tags: ["latest", "oidc", "pr"] - commands: - - func: "run oidc local test" - - - name: "test-oidc-docker" - tags: ["latest", "oidc", "pr"] - commands: - - func: "run oidc docker test" - - - name: "test-oidc-azure" - tags: ["latest", "oidc", "pr"] - commands: - - func: "run oidc azure test" - - - name: "test-oidc-azure-func" - tags: ["oidc"] - commands: - - func: "run oidc azure func test" - - - name: "test-oidc-gcp" - tags: ["latest", "oidc"] - commands: - - func: "run oidc gcp test" - - - name: "test-oidc-k8s-atlas" - tags: ["latest", "oidc"] - commands: - - func: "run oidc k8s atlas test" - vars: - VARIANT: eks - - func: "run oidc k8s atlas test" - vars: - VARIANT: gke - # - func: "run oidc k8s atlas test" - # vars: - # VARIANT: aks - - - name: "test-oidc-k8s-local" - tags: ["latest", "oidc", "pr"] - commands: - - func: "run oidc k8s local test" - vars: - VARIANT: eks - - func: "run oidc k8s local test" - vars: - VARIANT: gke - # - func: "run oidc k8s local test" - # vars: - # VARIANT: aks + - name: "test-oidc-local" + tags: ["latest", "oidc", "pr"] + commands: + - func: "run oidc local test" + + - name: "test-oidc-docker" + tags: ["latest", "oidc", "pr"] + commands: + - func: "run oidc docker test" + + - name: "test-oidc-azure" + tags: ["latest", "oidc", "pr"] + commands: + - func: "run oidc azure test" + + - name: "test-oidc-azure-func" + tags: ["oidc"] + commands: + - func: "run oidc azure func test" + + - name: "test-oidc-gcp" + tags: ["latest", "oidc"] + commands: + - func: "run oidc gcp test" + + - name: "test-oidc-k8s-atlas" + tags: ["latest", "oidc"] + commands: + - func: "run oidc k8s atlas test" + vars: + VARIANT: eks + - func: "run oidc k8s atlas test" + vars: + VARIANT: gke + # - func: "run oidc k8s atlas test" + # vars: + # VARIANT: aks + + - name: "test-oidc-k8s-local" + tags: ["latest", "oidc", "pr"] + commands: + - func: "run oidc k8s local test" + vars: + VARIANT: eks + - func: "run oidc k8s local test" + vars: + VARIANT: gke + # - func: "run oidc k8s local test" + # vars: + # VARIANT: aks # }}} task_groups: + - name: serverless_task_group setup_group_can_fail_task: true setup_group_timeout_secs: 1800 # 30 minutes @@ -899,8 +897,7 @@ task_groups: - command: subprocess.exec params: binary: "bash" - include_expansions_in_env: - ["SERVERLESS_ATLAS_PASSWORD", "SERVERLESS_ATLAS_USER"] + include_expansions_in_env: ["SERVERLESS_ATLAS_PASSWORD", "SERVERLESS_ATLAS_USER"] args: - ${DRIVERS_TOOLS}/.evergreen/serverless/setup.sh teardown_group: @@ -922,8 +919,7 @@ task_groups: teardown_task_can_fail_task: true teardown_group_timeout_secs: 1800 # 30 minutes setup_group: - - func: fetch source - - func: prepare resources + - func: "fetch and prepare resources" - command: subprocess.exec params: binary: bash @@ -955,8 +951,7 @@ task_groups: teardown_task_can_fail_task: true teardown_group_timeout_secs: 1800 # 30 minutes setup_group: - - func: fetch source - - func: prepare resources + - func: "fetch and prepare resources" - command: shell.exec params: shell: bash @@ -987,8 +982,7 @@ task_groups: teardown_task_can_fail_task: true teardown_group_timeout_secs: 1800 # 30 minutes setup_group: - - func: fetch source - - func: prepare resources + - func: "fetch and prepare resources" - command: shell.exec params: shell: bash @@ -1019,7 +1013,7 @@ task_groups: teardown_group_can_fail_task: true teardown_group_timeout_secs: 1800 setup_group: - - func: fetch source + - func: "fetch and prepare resources" - func: prepare resources - command: subprocess.exec params: @@ -1045,7 +1039,7 @@ task_groups: teardown_task_can_fail_task: true teardown_group_timeout_secs: 1800 # 30 minutes setup_group: - - func: fetch source + - func: "fetch and prepare resources" - func: prepare resources - command: subprocess.exec params: @@ -1071,7 +1065,7 @@ task_groups: teardown_task_can_fail_task: true teardown_group_timeout_secs: 1800 # 30 minutes setup_group: - - func: fetch source + - func: "fetch and prepare resources" - func: prepare resources - command: subprocess.exec params: @@ -1094,44 +1088,45 @@ axes: - id: "latest" display_name: "latest" variables: - VERSION: "latest" + VERSION: "latest" - id: "8.0" display_name: "8.0" variables: - VERSION: "8.0" + VERSION: "8.0" - id: "7.0" display_name: "7.0" variables: - VERSION: "7.0" + VERSION: "7.0" - id: "6.0" display_name: "6.0" variables: - VERSION: "6.0" + VERSION: "6.0" - id: "5.0" display_name: "5.0" variables: - VERSION: "5.0" + VERSION: "5.0" - id: "4.4" display_name: "4.4" variables: - VERSION: "4.4" + VERSION: "4.4" - id: "4.2" display_name: "4.2" variables: - VERSION: "4.2" + VERSION: "4.2" - id: "4.0" display_name: "4.0" variables: - VERSION: "4.0" + VERSION: "4.0" - id: "3.6" display_name: "3.6" variables: - VERSION: "3.6" + VERSION: "3.6" # OSes that support versions of MongoDB>=3.6 with SSL. - id: os-fully-featured display_name: OS values: + - id: rhel8 display_name: "RHEL 8" run_on: rhel8.8-small @@ -1148,6 +1143,7 @@ axes: - id: os-requires-70 display_name: OS values: + - id: debian12 display_name: "Debian 12.0" run_on: debian12-small @@ -1172,6 +1168,7 @@ axes: - id: os-requires-50 display_name: OS values: + - id: debian11 display_name: "Debian 11.0" run_on: debian11-small @@ -1202,207 +1199,208 @@ axes: - id: standalone display_name: Standalone variables: - TOPOLOGY: "server" + TOPOLOGY: "server" - id: replicaset display_name: Replica Set variables: - TOPOLOGY: "replica_set" + TOPOLOGY: "replica_set" - id: sharded-cluster display_name: Sharded Cluster variables: - TOPOLOGY: "sharded_cluster" + TOPOLOGY: "sharded_cluster" - id: auth display_name: Authentication values: - id: auth display_name: Auth variables: - AUTH: "auth" + AUTH: "auth" - id: noauth display_name: NoAuth variables: - AUTH: "noauth" + AUTH: "noauth" - id: ssl display_name: SSL values: - id: ssl display_name: SSL variables: - SSL: "ssl" + SSL: "ssl" - id: nossl display_name: NoSSL variables: - SSL: "nossl" + SSL: "nossl" - id: storage-engine display_name: Storage values: - id: mmapv1 display_name: MMAPv1 variables: - STORAGE_ENGINE: "mmapv1" + STORAGE_ENGINE: "mmapv1" - id: wiredtiger display_name: WiredTiger variables: - STORAGE_ENGINE: "wiredtiger" + STORAGE_ENGINE: "wiredtiger" - id: inmemory display_name: InMemory variables: - STORAGE_ENGINE: "inmemory" + STORAGE_ENGINE: "inmemory" buildvariants: - # Test packaging and other release related routines - - name: releng-release-archive-creator - display_name: "** Release Archive Creator" - run_on: - - ubuntu2004-small - tasks: - - ".releng" # Run all tasks with the "releng" tag - - # Tests relating to docker images - - name: tests-docker - display_name: Docker - run_on: - - ubuntu2204-small - tasks: - - ".docker" # Run all tasks with the "docker" tag - - - name: tests-oidc - display_name: OIDC - run_on: ubuntu2204-small - tasks: - - "test-oidc-local" - - "test-oidc-docker" - - "testgcpoidc_task_group" - - "testazureoidc_task_group" - - "test_oidc_azure_func_task_group" - - "test_oidc_k8s_atlas_task_group" - - "test_oidc_k8s_local_task_group" - - - matrix_name: "tests-all" - matrix_spec: { "os-fully-featured": "*", auth: "*", ssl: "*" } - display_name: "${os-fully-featured} ${auth} ${ssl}" - tasks: - - name: "test-latest-replica_set" - - name: "test-latest-sharded_cluster" - - name: "test-latest-standalone" - - name: "test-latest-load_balancer" - - name: "test-8.0-replica_set" - - name: "test-8.0-sharded_cluster" - - name: "test-8.0-standalone" - - name: "test-7.0-replica_set" - - name: "test-7.0-sharded_cluster" - - name: "test-7.0-standalone" - - name: "test-6.0-replica_set" - - name: "test-6.0-sharded_cluster" - - name: "test-6.0-standalone" - - name: "test-5.0-replica_set" - - name: "test-5.0-sharded_cluster" - - name: "test-5.0-standalone" - - name: "test-4.4-replica_set" - - name: "test-4.4-sharded_cluster" - - name: "test-4.4-standalone" - - name: "test-4.2-replica_set" - - name: "test-4.2-sharded_cluster" - - name: "test-4.2-standalone" - - name: "test-4.0-replica_set" - - name: "test-4.0-sharded_cluster" - - name: "test-4.0-standalone" - - name: "test-3.6-replica_set" - - name: "test-3.6-sharded_cluster" - - name: "test-3.6-standalone" - - - matrix_name: "tests-os-requires-50" - matrix_spec: { "os-requires-50": "*", auth: "*", ssl: "*" } - display_name: "${os-requires-50} ${auth} ${ssl}" - tasks: - - name: "test-latest-replica_set" - - name: "test-latest-sharded_cluster" - - name: "test-latest-standalone" - - name: "test-7.0-replica_set" - - name: "test-7.0-sharded_cluster" - - name: "test-7.0-standalone" - - name: "test-6.0-replica_set" - - name: "test-6.0-sharded_cluster" - - name: "test-6.0-standalone" - - name: "test-5.0-replica_set" - - name: "test-5.0-sharded_cluster" - - name: "test-5.0-standalone" - - - matrix_name: "tests-os-requires-70" - matrix_spec: { "os-requires-70": "*", auth: "*", ssl: "*" } - display_name: "${os-requires-70} ${auth} ${ssl}" - tasks: - - name: "test-latest-replica_set" - - name: "test-latest-sharded_cluster" - - name: "test-latest-standalone" - - name: "test-8.0-replica_set" - - name: "test-8.0-sharded_cluster" - - name: "test-8.0-standalone" - - name: "test-7.0-replica_set" - - name: "test-7.0-sharded_cluster" - - name: "test-7.0-standalone" - - # Storage Engine Tests on Ubuntu 20.04 - - matrix_name: "tests-storage-engines" - matrix_spec: { "os-fully-featured": "rhel8", storage-engine: "*" } - display_name: "${os-fully-featured} ${storage-engine}" - rules: - - if: - os-fully-featured: "*" - storage-engine: ["mmapv1"] - then: - add_tasks: - - "test-3.6-standalone" - - if: - os-fully-featured: "*" - storage-engine: ["inmemory"] - then: - add_tasks: - - "test-latest-standalone" - - "test-8.0-standalone" - - "test-7.0-standalone" - - "test-3.6-standalone" - - if: - os-fully-featured: "*" - storage-engine: "wiredtiger" - then: - add_tasks: - - "test-3.6-standalone" - - - matrix_name: "atlas" - matrix_spec: - os-requires-50: - - "ubuntu-20.04" - display_name: "Atlas ${os-requires-50}" - tasks: - - test_atlas_task_group - - matrix_name: "serverless" - matrix_spec: - os-requires-50: - - "ubuntu-20.04" - display_name: "Serverless ${os-requires-50}" - tasks: - - serverless_task_group - - # Platform notes - # i386 builds of OpenSSL or Cyrus SASL are not available - # Ubuntu14.04 only supports 2.6+ with SSL - # Ubuntu16.04 ppc64le is only supported by MongoDB 3.4+ - # Ubuntu16.04 aarch64 is only supported by MongoDB 3.4+ - # Ubuntu16.04 s390x is only supported by MongoDB 3.4+ - # Ubuntu16.04 (x86) only supports MongoDB 3.2+ - # Ubuntu20.04 only supports MongoDB 4.4+ - # Debian 10.0 only supports MongoDB 4.2+ - # Debian 8.1 only supports MongoDB 3.4+ - # SUSE12 s390x is only supported by MongoDB 3.4+ - # No enterprise build for Archlinux, SSL not available - # RHEL 7 only supports 2.6+ - # RHEL 7.1 ppc64le is only supported by MongoDB 3.2+ - # RHEL 7.2 s390x is only supported by MongoDB 3.4+ - # Solaris MongoDB SSL builds are not available - # Darwin MongoDB SSL builds are not available for 2.4 and 2.6 - # Windows does not support MongoDB 2.4 with SSL - # Debian 7.1 does not support MongoDB 2.4 - # SUSE12 x86_64 is only supported by MongoDB 3.2+ - # vim: set et sw=2 ts=2 : +# Test packaging and other release related routines +- name: releng-release-archive-creator + display_name: "** Release Archive Creator" + run_on: + - ubuntu2004-small + tasks: + - ".releng" # Run all tasks with the "releng" tag + +# Tests relating to docker images +- name: tests-docker + display_name: Docker + run_on: + - ubuntu2204-small + tasks: + - ".docker" # Run all tasks with the "docker" tag + +- name: tests-oidc + display_name: OIDC + run_on: ubuntu2204-small + tasks: + - "test-oidc-local" + - "test-oidc-docker" + - "testgcpoidc_task_group" + - "testazureoidc_task_group" + - "test_oidc_azure_func_task_group" + - "test_oidc_k8s_atlas_task_group" + - "test_oidc_k8s_local_task_group" + +- matrix_name: "tests-all" + matrix_spec: {"os-fully-featured": "*", auth: "*", ssl: "*" } + display_name: "${os-fully-featured} ${auth} ${ssl}" + tasks: + - name: "test-latest-replica_set" + - name: "test-latest-sharded_cluster" + - name: "test-latest-standalone" + - name: "test-latest-load_balancer" + - name: "test-8.0-replica_set" + - name: "test-8.0-sharded_cluster" + - name: "test-8.0-standalone" + - name: "test-7.0-replica_set" + - name: "test-7.0-sharded_cluster" + - name: "test-7.0-standalone" + - name: "test-6.0-replica_set" + - name: "test-6.0-sharded_cluster" + - name: "test-6.0-standalone" + - name: "test-5.0-replica_set" + - name: "test-5.0-sharded_cluster" + - name: "test-5.0-standalone" + - name: "test-4.4-replica_set" + - name: "test-4.4-sharded_cluster" + - name: "test-4.4-standalone" + - name: "test-4.2-replica_set" + - name: "test-4.2-sharded_cluster" + - name: "test-4.2-standalone" + - name: "test-4.0-replica_set" + - name: "test-4.0-sharded_cluster" + - name: "test-4.0-standalone" + - name: "test-3.6-replica_set" + - name: "test-3.6-sharded_cluster" + - name: "test-3.6-standalone" + +- matrix_name: "tests-os-requires-50" + matrix_spec: {"os-requires-50": "*", auth: "*", ssl: "*" } + display_name: "${os-requires-50} ${auth} ${ssl}" + tasks: + - name: "test-latest-replica_set" + - name: "test-latest-sharded_cluster" + - name: "test-latest-standalone" + - name: "test-7.0-replica_set" + - name: "test-7.0-sharded_cluster" + - name: "test-7.0-standalone" + - name: "test-6.0-replica_set" + - name: "test-6.0-sharded_cluster" + - name: "test-6.0-standalone" + - name: "test-5.0-replica_set" + - name: "test-5.0-sharded_cluster" + - name: "test-5.0-standalone" + +- matrix_name: "tests-os-requires-70" + matrix_spec: {"os-requires-70": "*", auth: "*", ssl: "*" } + display_name: "${os-requires-70} ${auth} ${ssl}" + tasks: + - name: "test-latest-replica_set" + - name: "test-latest-sharded_cluster" + - name: "test-latest-standalone" + - name: "test-8.0-replica_set" + - name: "test-8.0-sharded_cluster" + - name: "test-8.0-standalone" + - name: "test-7.0-replica_set" + - name: "test-7.0-sharded_cluster" + - name: "test-7.0-standalone" + +# Storage Engine Tests on Ubuntu 20.04 +- matrix_name: "tests-storage-engines" + matrix_spec: {"os-fully-featured": "rhel8", storage-engine: "*" } + display_name: "${os-fully-featured} ${storage-engine}" + rules: + - if: + os-fully-featured: "*" + storage-engine: ["mmapv1"] + then: + add_tasks: + - "test-3.6-standalone" + - if: + os-fully-featured: "*" + storage-engine: ["inmemory"] + then: + add_tasks: + - "test-latest-standalone" + - "test-8.0-standalone" + - "test-7.0-standalone" + - "test-3.6-standalone" + - if: + os-fully-featured: "*" + storage-engine: "wiredtiger" + then: + add_tasks: + - "test-3.6-standalone" + +- matrix_name: "atlas" + matrix_spec: + os-requires-50: + - "ubuntu-20.04" + display_name: "Atlas ${os-requires-50}" + tasks: + - test_atlas_task_group + +- matrix_name: "serverless" + matrix_spec: + os-requires-50: + - "ubuntu-20.04" + display_name: "Serverless ${os-requires-50}" + tasks: + - serverless_task_group + + # Platform notes + # i386 builds of OpenSSL or Cyrus SASL are not available + # Ubuntu14.04 only supports 2.6+ with SSL + # Ubuntu16.04 ppc64le is only supported by MongoDB 3.4+ + # Ubuntu16.04 aarch64 is only supported by MongoDB 3.4+ + # Ubuntu16.04 s390x is only supported by MongoDB 3.4+ + # Ubuntu16.04 (x86) only supports MongoDB 3.2+ + # Ubuntu20.04 only supports MongoDB 4.4+ + # Debian 10.0 only supports MongoDB 4.2+ + # Debian 8.1 only supports MongoDB 3.4+ + # SUSE12 s390x is only supported by MongoDB 3.4+ + # No enterprise build for Archlinux, SSL not available + # RHEL 7 only supports 2.6+ + # RHEL 7.1 ppc64le is only supported by MongoDB 3.2+ + # RHEL 7.2 s390x is only supported by MongoDB 3.4+ + # Solaris MongoDB SSL builds are not available + # Darwin MongoDB SSL builds are not available for 2.4 and 2.6 + # Windows does not support MongoDB 2.4 with SSL + # Debian 7.1 does not support MongoDB 2.4 + # SUSE12 x86_64 is only supported by MongoDB 3.2+ + # vim: set et sw=2 ts=2 :