diff --git a/.evergreen/architecture.md b/.evergreen/architecture.md new file mode 100644 index 000000000..811dbc0bb --- /dev/null +++ b/.evergreen/architecture.md @@ -0,0 +1,64 @@ +# Evergreen Build System Architecture + +To avoid unnecessary tasks from being started, this project uses two separate build steps. The first step compiles the +PHP extension on the requested operating system and PHP version, caching the result. The second step runs tests on +various platforms, re-using the cached build artifacts from the first step. + +## Build Step 1: Compile PHP Extension + +The extension is built for all supported PHP versions on all supported platforms. This build step is run for every +commit pushed to the development branch, as well as for stable branches and pull requests to these branches. The build +step includes a smoke test that attempts to load the compiled extension to catch errors that occur during extension +initialisation. If a build step fails, test tasks are skipped for that platform and PHP version. + +### Build tasks + +Build tasks are generated automatically and included in the main config file. The `build-variants.yml` file contains +the list of supported platforms that the extension is built for. `build-task-groups.yml` defines the task groups that +contain the build tasks. Note there is a separate task that skips PHP 7.4 and 8.0, as these versions do not support +OpenSSL 3 (currently used on RHEL 9+ and Ubuntu 22.04+). + +## Build Step 2: Run Tests + +Tests are not offered for all platforms, and only select tasks are run for commits and pull requests. First, all +combinations of MongoDB topologies (standalone, replica set, sharded cluster, and load balanced) are run for all +supported MongoDB versions. Then, all PHP versions are tested against the latest stable version of MongoDB. Finally, +a last build variant runs tests on PHP 8.2 against the latest stable version of MongoDB using different libmongoc +versions. + +## Modifying generated tasks + +Most build and test tasks are generated using the `generate-config.php` script and referenced using tags. To modify the +configuration, change the appropriate `_template-.yml` file in the `build` or `test` directory, then run the +generator script to update the files. The generator script will output a list of include statements that can be copied +to the main `config.yml` file to include all generated tasks. + +## Adding new tasks + +Adding new tasks for a new MongoDB version or PHP version is done by modifying `generate-config.php` and including the +version in the corresponding arrays, then regenerating configuration. Note that obsolete files will not be deleted +automatically, but they won't be in the list of include files printed by the generator script. + +## Patch Aliases + +Aliases are configured in the main Evergreen configuration file. `github_pr_aliases` defines aliases for tasks to be run +for every pull request. + +## Task Tags + +Tasks are tagged to allow for a better selection in build variants. The following tags are used for build tasks: +- `build`: All build tasks are tagged with `build`. +- `build-libmongoc`: These build tasks build with different libmongoc versions. +- `php`: These tags allow selection based on PHP version, e.g. `php8.2`. + +Test tasks use the following tags: +- `local`: All tasks that run a local MongoDB cluster for testing. +- ``: These tags allow selection based on MongoDB version, e.g. `7.0`. +- `standalone`, `replicaset`, `sharded`: These tags allow selection based on the MongoDB topology. +- `loadbalanced`: Allows for selecting tests using a load balancer +- `ocsp`: Used for all OCSP tasks +- `versioned_api`: Used for tests that use the stable API +- `skip_crypt_shared`: These tasks skip installing the shared library to test with libmongocrypt +- `nodb`: These tasks do not rely on a local database +- `atlas`: These tasks work on a MongoDB Atlas cluster +- `storage-engines`: Tag used for tasks that test the `inmemory` and `mmapv1` storage engines diff --git a/.evergreen/compile-unix.sh b/.evergreen/compile-unix.sh index e4d71b7b7..8f3707858 100755 --- a/.evergreen/compile-unix.sh +++ b/.evergreen/compile-unix.sh @@ -1,6 +1,24 @@ -#!/bin/sh +#!/bin/bash set -o errexit # Exit the script with error if any of the commands fail +# Find PHP binary path for the requested version +if [ -z "$PHP_PATH" ]; then + if [ -d "/opt/php/${PHP_VERSION}-64bit/bin" ]; then + PHP_PATH="/opt/php/${PHP_VERSION}-64bit/bin" + else + # Try to find the newest version matching our constant + PHP_PATH=`find /opt/php/ -maxdepth 1 -type d -name "${PHP_VERSION}*-64bit" -print | sort -V -r | head -n 1`/bin + fi +fi + +if [ ! -x "$PHP_PATH/php" ]; then + echo "Could not find PHP binaries for version ${PHP_VERSION}. Listing available versions..." + ls -1 /opt/php + exit 1 +fi + +PATH="$PHP_PATH:$PATH" + # Supported/used environment variables: # MARCH Machine Architecture. Defaults to lowercase uname -m # LIBMONGOC_VERSION Optional libmongoc version (regenerate version file if set) @@ -45,7 +63,7 @@ case "$OS" in esac # Report the current PHP version -echo "PHP: `php --version | head -1`" +echo "PHP: `php --version | head -n 1`" phpize ./configure --enable-mongodb-developer-flags @@ -55,4 +73,4 @@ if [ -n "$LIBMONGOC_VERSION" ]; then make libmongoc-version-current fi -make +make test TESTS="tests/smoketest.phpt" diff --git a/.evergreen/config.yml b/.evergreen/config.yml index ff96fe822..e8c5572e1 100644 --- a/.evergreen/config.yml +++ b/.evergreen/config.yml @@ -1,1303 +1,81 @@ -######################################## -# Evergreen Template for MongoDB Drivers -# Modified for the PHP driver -######################################## - -# When a task that used to pass starts to fail -# Go through all versions that may have been skipped to detect -# when the task started failing +# When a task that used to pass starts to fail, go through all versions that may have been skipped to detect when the +# task started failing. stepback: true -# Mark a failure as a system/bootstrap failure (purple box) rather then a task -# failure by default. +# Mark a failure as a system/bootstrap failure (purple box) rather than a task failure by default. # Actual testing tasks are marked with `type: test` command_type: system -# Protect ourself against rogue test case, or curl gone wild, that runs forever -# Good rule of thumb: the averageish length a task takes, times 5 -# That roughly accounts for variable system performance for various buildvariants -exec_timeout_secs: 1800 # 6 minutes is the longest we'll ever run - -# What to do when evergreen hits the timeout (`post:` tasks are run automatically) -timeout: - - command: shell.exec - params: - script: | - ls -la - -functions: - "fetch source": - # Executes git clone and applies the submitted patch, if any - - command: git.get_project - params: - directory: "src" - # Fetch the libmongoc submodule - - command: shell.exec - params: - working_dir: "src" - script: | - git submodule update --init - # Switch to a different version of libmongoc - - command: shell.exec - params: - working_dir: "src/src/libmongoc" - script: | - if [ -n "${LIBMONGOC_VERSION}" ]; then - echo "Checking out libmongoc version: ${LIBMONGOC_VERSION}" - git fetch - git checkout ${LIBMONGOC_VERSION} - # Note: compile-unix.sh will run `make libmongoc-version-current` - fi - # Applies the submitted patch, if any - # Deprecated. Should be removed. But still needed for certain agents (ZAP) - - command: git.apply_patch - # Make an evergreen expansion file with dynamic values - - command: shell.exec - params: - working_dir: "src" - script: | - # Get the current unique version of this checkout - if [ "${is_patch}" = "true" ]; then - CURRENT_VERSION=$(git describe)-patch-${version_id} - else - CURRENT_VERSION=latest - fi - - export DRIVERS_TOOLS="$(pwd)/../drivers-tools" - export PROJECT_DIRECTORY="$(pwd)" - - # Python has cygwin path problems on Windows. Detect prospective mongo-orchestration home directory - if [ "Windows_NT" = "$OS" ]; then # Magic variable in cygwin - export DRIVERS_TOOLS=$(cygpath -m $DRIVERS_TOOLS) - export PROJECT_DIRECTORY=$(cygpath -m $PROJECT_DIRECTORY) - fi - - if [ -d "/opt/php/${PHP_VERSION}-64bit/bin" ]; then - PHP_PATH="/opt/php/${PHP_VERSION}-64bit/bin" - else - # Try to find the newest version matching our constant - PHP_PATH=`find /opt/php/ -maxdepth 1 -type d -name '${PHP_VERSION}*-64bit' -print | sort -V -r | head -1`/bin - fi - - if [ ! -d "$PHP_PATH" ]; then - echo "Could not find PHP binaries for version ${PHP_VERSION}. Listing available versions..." - ls -1 /opt/php - exit 1 - fi - - export MONGO_ORCHESTRATION_HOME="$DRIVERS_TOOLS/.evergreen/orchestration" - # Note: PHPC no longer has any custom MO configs, but they can be stored here if needed - export PROJECT_ORCHESTRATION_HOME="$PROJECT_DIRECTORY/.evergreen/orchestration" - export MONGODB_BINARIES="$DRIVERS_TOOLS/mongodb/bin" - export UPLOAD_BUCKET="${project}" - export PHP_VERSION="${PHP_VERSION}" - - cat < expansion.yml - CURRENT_VERSION: "$CURRENT_VERSION" - DRIVERS_TOOLS: "$DRIVERS_TOOLS" - MONGO_ORCHESTRATION_HOME: "$MONGO_ORCHESTRATION_HOME" - PROJECT_ORCHESTRATION_HOME: "$PROJECT_ORCHESTRATION_HOME" - MONGODB_BINARIES: "$MONGODB_BINARIES" - UPLOAD_BUCKET: "$UPLOAD_BUCKET" - PROJECT_DIRECTORY: "$PROJECT_DIRECTORY" - - PREPARE_SHELL: | - set -o errexit - export DRIVERS_TOOLS="$DRIVERS_TOOLS" - export MONGO_ORCHESTRATION_HOME="$MONGO_ORCHESTRATION_HOME" - export PROJECT_ORCHESTRATION_HOME="$PROJECT_ORCHESTRATION_HOME" - export MONGODB_BINARIES="$MONGODB_BINARIES" - export UPLOAD_BUCKET="$UPLOAD_BUCKET" - export PROJECT_DIRECTORY="$PROJECT_DIRECTORY" - - export TMPDIR="$MONGO_ORCHESTRATION_HOME/db" - export PATH="$PHP_PATH:$MONGODB_BINARIES:$PATH" - export PROJECT="${project}" - - export PHP_VERSION="$PHP_VERSION" - export SSL_DIR="$DRIVERS_TOOLS/.evergreen/x509gen" - export LIBMONGOC_VERSION="${LIBMONGOC_VERSION}" - EOT - # See what we've done - cat expansion.yml - - # Load the expansion file to make an evergreen variable with the current unique version - - command: expansions.update - params: - file: src/expansion.yml - - "prepare resources": - - command: shell.exec - params: - script: | - ${PREPARE_SHELL} - rm -rf $DRIVERS_TOOLS - if [ "${project}" = "drivers-tools" ]; then - # If this was a patch build, doing a fresh clone would not actually test the patch - cp -R ${PROJECT_DIRECTORY}/ $DRIVERS_TOOLS - else - git clone https://github.com/mongodb-labs/drivers-evergreen-tools.git $DRIVERS_TOOLS - fi - echo "{ \"releases\": { \"default\": \"$MONGODB_BINARIES\" }}" > $MONGO_ORCHESTRATION_HOME/orchestration.config - - "upload release": - - command: s3.put - params: - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: ${project}.tar.gz - remote_file: ${UPLOAD_BUCKET}/${project}-${CURRENT_VERSION}.tar.gz - bucket: mciuploads - permissions: public-read - content_type: ${content_type|application/x-gzip} - - # Upload build artifacts that other tasks may depend on - # Note this URL needs to be totally unique, while predictable for the next task - # so it can automatically download the artifacts - "upload build": - # Compress and upload the entire build directory - - command: archive.targz_pack - params: - # Example: mongo_c_driver_releng_9dfb7d741efbca16faa7859b9349d7a942273e43_16_11_08_19_29_52.tar.gz - target: "${build_id}.tar.gz" - source_dir: ${PROJECT_DIRECTORY}/ - include: - - "./**" - - command: s3.put - params: - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: ${build_id}.tar.gz - # Example: /mciuploads/${UPLOAD_BUCKET}/gcc49/9dfb7d741efbca16faa7859b9349d7a942273e43/debug-compile-nosasl-nossl/mongo_c_driver_releng_9dfb7d741efbca16faa7859b9349d7a942273e43_16_11_08_19_29_52.tar.gz - remote_file: ${UPLOAD_BUCKET}/${build_variant}/${revision}/${task_name}/${build_id}.tar.gz - bucket: mciuploads - permissions: public-read - content_type: ${content_type|application/x-gzip} - - "fetch build": - - command: shell.exec - params: - continue_on_err: true - script: "rm -rf ${PROJECT_DIRECTORY}" - - command: s3.get - params: - aws_key: ${aws_key} - aws_secret: ${aws_secret} - remote_file: ${UPLOAD_BUCKET}/${build_variant}/${revision}/${BUILD_NAME}/${build_id}.tar.gz - bucket: mciuploads - local_file: build.tar.gz - - command: shell.exec - params: - continue_on_err: true - # EVG-1105: Use s3.get extract_to: ./ - script: "cd .. && rm -rf ${PROJECT_DIRECTORY} && mkdir ${PROJECT_DIRECTORY}/ && tar xf build.tar.gz -C ${PROJECT_DIRECTORY}/" - - "exec compile script" : - - command: shell.exec - type: test - params: - working_dir: "src" - script: | - ${PREPARE_SHELL} - [ -f ${PROJECT_DIRECTORY}/${file} ] && BUILDTOOL="${buildtool}" sh ${PROJECT_DIRECTORY}/${file} || echo "${PROJECT_DIRECTORY}/${file} not available, skipping" - - "compile driver" : - - command: shell.exec - type: test - params: - working_dir: "src" - script: | - ${PREPARE_SHELL} - sh ${PROJECT_DIRECTORY}/.evergreen/compile-unix.sh - - "exec script" : - - command: shell.exec - type: test - params: - working_dir: "src" - script: | - ${PREPARE_SHELL} - [ -f ${PROJECT_DIRECTORY}/${file} ] && sh ${PROJECT_DIRECTORY}/${file} || echo "${PROJECT_DIRECTORY}/${file} not available, skipping" - - "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 - - command: s3.put - params: - aws_key: ${aws_key} - aws_secret: ${aws_secret} - 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" : - - command: shell.exec - type: test - params: - script: | - cd - if find ${PROJECT_DIRECTORY}/scan -name \*.html | grep -q html; then - (cd ${PROJECT_DIRECTORY}/scan && find . -name index.html -exec echo "
  • {}
  • " \;) >> scan.html - else - echo "No issues found" > scan.html - fi - - 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}/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 - remote_file: ${UPLOAD_BUCKET}/${build_variant}/${revision}/${version_id}/${build_id}/scan/index.html - bucket: mciuploads - permissions: public-read - content_type: text/html - display_name: "Scan Build Report" - - "upload mo artifacts": - - command: shell.exec - params: - script: | - ${PREPARE_SHELL} - find $MONGO_ORCHESTRATION_HOME -name \*.log | xargs tar czf mongodb-logs.tar.gz - - command: s3.put - params: - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: mongodb-logs.tar.gz - remote_file: ${UPLOAD_BUCKET}/${build_variant}/${revision}/${version_id}/${build_id}/logs/${task_id}-${execution}-mongodb-logs.tar.gz - bucket: mciuploads - permissions: public-read - content_type: ${content_type|application/x-gzip} - display_name: "mongodb-logs.tar.gz" - - command: s3.put - params: - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: ${DRIVERS_TOOLS}/.evergreen/orchestration/server.log - remote_file: ${UPLOAD_BUCKET}/${build_variant}/${revision}/${version_id}/${build_id}/logs/${task_id}-${execution}-orchestration.log - bucket: mciuploads - permissions: public-read - content_type: ${content_type|text/plain} - display_name: "orchestration.log" - - command: shell.exec - params: - script: | - ${PREPARE_SHELL} - find /tmp/MO -name \*.log | xargs tar czf mongodb-start-logs.tar.gz - - command: s3.put - params: - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: mongodb-start-logs.tar.gz - remote_file: ${UPLOAD_BUCKET}/${build_variant}/${revision}/${version_id}/${build_id}/logs/${task_id}-${execution}-mongodb-start-logs.tar.gz - bucket: mciuploads - permissions: public-read - content_type: ${content_type|application/x-gzip} - display_name: "mongodb-start-logs.tar.gz" - - "upload working dir": - - command: archive.targz_pack - params: - target: "working-dir.tar.gz" - source_dir: ${PROJECT_DIRECTORY}/ - include: - - "./**" - - command: s3.put - params: - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: working-dir.tar.gz - remote_file: ${UPLOAD_BUCKET}/${build_variant}/${revision}/${version_id}/${build_id}/artifacts/${task_id}-${execution}-working-dir.tar.gz - bucket: mciuploads - permissions: public-read - content_type: ${content_type|application/x-gzip} - display_name: "working-dir.tar.gz" - - command: archive.targz_pack - params: - target: "drivers-dir.tar.gz" - source_dir: ${DRIVERS_TOOLS} - include: - - "./**" - exclude_files: - # Windows cannot read the mongod *.lock files because they are locked. - - "*.lock" - - command: s3.put - params: - aws_key: ${aws_key} - aws_secret: ${aws_secret} - local_file: drivers-dir.tar.gz - remote_file: ${UPLOAD_BUCKET}/${build_variant}/${revision}/${version_id}/${build_id}/artifacts/${task_id}-${execution}-drivers-dir.tar.gz - bucket: mciuploads - permissions: public-read - content_type: ${content_type|application/x-gzip} - display_name: "drivers-dir.tar.gz" - - "upload test results": - - command: attach.xunit_results - params: - # Uploading test results does not work when using ${PROJECT_DIRECTORY}, - # so we use an absolute path to work around this - file: "src/test-results.xml" - - command: attach.results - params: - file_location: "${DRIVERS_TOOLS}/results.json" - - "bootstrap mongo-orchestration": - - command: shell.exec - params: - script: | - ${PREPARE_SHELL} - SKIP_LEGACY_SHELL=true MONGODB_VERSION=${MONGODB_VERSION} TOPOLOGY=${TOPOLOGY} AUTH=${AUTH} SSL=${SSL} STORAGE_ENGINE=${STORAGE_ENGINE} LOAD_BALANCER=${LOAD_BALANCER} REQUIRE_API_VERSION=${REQUIRE_API_VERSION} ORCHESTRATION_FILE=${ORCHESTRATION_FILE} sh ${DRIVERS_TOOLS}/.evergreen/run-orchestration.sh - # run-orchestration generates expansion file with MONGODB_URI and CRYPT_SHARED_LIB_PATH - - command: expansions.update - params: - file: mo-expansion.yml - - "stop mongo-orchestration": - - command: shell.exec - params: - script: | - ${PREPARE_SHELL} - sh ${DRIVERS_TOOLS}/.evergreen/stop-orchestration.sh - - "run OCSP responder": - - command: shell.exec - params: - shell: bash - script: | - ${PREPARE_SHELL} - TEST_COLUMN=${TEST_COLUMN} \ - CERT_TYPE=${CERT_TYPE} \ - USE_DELEGATE=${USE_DELEGATE} \ - ${PROJECT_DIRECTORY}/.evergreen/run-ocsp-responder.sh - - "run tests": - - command: shell.exec - type: test - params: - working_dir: "src" - script: | - ${PREPARE_SHELL} - API_VERSION=${API_VERSION} \ - CRYPT_SHARED_LIB_PATH=${CRYPT_SHARED_LIB_PATH} \ - MONGODB_URI="${MONGODB_URI}${APPEND_URI}" \ - SKIP_CRYPT_SHARED=${SKIP_CRYPT_SHARED} \ - SSL=${SSL} \ - SSL_DIR=${SSL_DIR} \ - TESTS=${TESTS} \ - sh ${PROJECT_DIRECTORY}/.evergreen/run-tests.sh - - "cleanup": - - command: shell.exec - params: - script: | - ${PREPARE_SHELL} - rm -rf $DRIVERS_TOOLS || true - - "fix absolute paths": - - command: shell.exec - params: - script: | - ${PREPARE_SHELL} - for filename in $(find ${DRIVERS_TOOLS} -name \*.json); do - perl -p -i -e "s|ABSOLUTE_PATH_REPLACEMENT_TOKEN|${DRIVERS_TOOLS}|g" $filename - done - - "windows fix": - - command: shell.exec - params: - script: | - ${PREPARE_SHELL} - for i in $(find ${DRIVERS_TOOLS}/.evergreen ${PROJECT_DIRECTORY}/.evergreen -name \*.sh); do - cat $i | tr -d '\r' > $i.new - mv $i.new $i - done - - "make files executable": - - command: shell.exec - params: - script: | - ${PREPARE_SHELL} - for i in $(find ${DRIVERS_TOOLS}/.evergreen ${PROJECT_DIRECTORY}/.evergreen -name \*.sh); do - chmod +x $i - done - - "init test-results": - - command: shell.exec - params: - script: | - ${PREPARE_SHELL} - echo '{"results": [{ "status": "FAIL", "test_file": "Build", "log_raw": "No test-results.json found was created" } ]}' > ${PROJECT_DIRECTORY}/test-results.json - - "install dependencies": - - command: shell.exec - params: - working_dir: "src" - script: | - ${PREPARE_SHELL} - file="${DRIVERS_TOOLS}/.evergreen/install-dependencies.sh" - # Don't use ${file} syntax here because evergreen treats it as an empty expansion. - [ -f "$file" ] && sh $file || echo "$file not available, skipping" - - "decrypt atlas URI list": - - command: shell.exec - params: - script: | - openssl aes-256-cbc -S "${encrypted_uris_salt}" -K "${encrypted_uris_key}" -iv "${encrypted_uris_iv}" -in ${PROJECT_DIRECTORY}/.evergreen/atlas-uris.txt.enc -out ${PROJECT_DIRECTORY}/.evergreen/atlas-uris.txt -d - - "start load balancer": - - command: shell.exec - params: - script: | - MONGODB_URI="${MONGODB_URI}" ${DRIVERS_TOOLS}/.evergreen/run-load-balancer.sh start - - command: expansions.update - params: - file: lb-expansion.yml - - "stop load balancer": - - command: shell.exec - params: - script: | - # Only run if a load balancer was started - if [ -n "${SINGLE_MONGOS_LB_URI}" ]; then - ${DRIVERS_TOOLS}/.evergreen/run-load-balancer.sh stop - fi +# Protect ourselves against rogue test case that runs forever. Tasks are killed after 10 minutes, which shouldn't occur +# under normal circumstances. +exec_timeout_secs: 600 +# These pre and post rules apply to all tasks not part of a task group, which should only ever be tests against local +# MongoDB instances. All other tasks that require special preparation should be run from within a task group pre: - func: "fetch source" - func: "prepare resources" - - func: "windows fix" - func: "fix absolute paths" - func: "init test-results" - - func: "make files executable" - func: "install dependencies" - + - func: "fetch build" post: - - func: "upload working dir" - - func: "upload mo artifacts" - func: "upload test results" - - func: "stop load balancer" - func: "stop mongo-orchestration" + - func: "stop load balancer" - 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 - - -# Standard test tasks {{{ - - - name: "test-standalone" - tags: ["standalone"] - commands: - - func: "compile driver" - - func: "bootstrap mongo-orchestration" - vars: - TOPOLOGY: "server" - - func: "run tests" - - - name: "test-standalone-auth" - tags: ["standalone"] - commands: - - func: "compile driver" - - func: "bootstrap mongo-orchestration" - vars: - TOPOLOGY: "server" - AUTH: "auth" - - func: "run tests" - - - name: "test-standalone-ssl" - tags: ["standalone"] - commands: - - func: "compile driver" - - func: "bootstrap mongo-orchestration" - vars: - TOPOLOGY: "server" - SSL: "yes" - - func: "run tests" - vars: - SSL: "yes" - - - name: "test-replicaset" - tags: ["replicaset"] - commands: - - func: "compile driver" - - func: "bootstrap mongo-orchestration" - vars: - TOPOLOGY: "replica_set" - - func: "run tests" - - - name: "test-replicaset-auth" - tags: ["replicaset"] - commands: - - func: "compile driver" - - func: "bootstrap mongo-orchestration" - vars: - TOPOLOGY: "replica_set" - AUTH: "auth" - - func: "run tests" - - - name: "test-sharded" - tags: ["sharded"] - commands: - - func: "compile driver" - - func: "bootstrap mongo-orchestration" - vars: - TOPOLOGY: "sharded_cluster" - - func: "run tests" - - - name: "test-atlas" - tags: ["atlas"] - commands: - - func: "compile driver" - - func: "decrypt atlas URI list" - - func: "run tests" - vars: - TESTS: "tests/atlas.phpt" - - - name: "test-skip_crypt_shared" - commands: - - func: "compile driver" - - func: "bootstrap mongo-orchestration" - vars: - TOPOLOGY: "replica_set" - - func: "run tests" - vars: - SKIP_CRYPT_SHARED: "yes" - - - name: "test-loadBalanced" - tags: ["loadbalanced"] - commands: - - func: "compile driver" - - func: "bootstrap mongo-orchestration" - vars: - TOPOLOGY: "sharded_cluster" - LOAD_BALANCER: "true" - SSL: "yes" - - func: "start load balancer" - - func: "run tests" - vars: - # Note: loadBalanced=true should already be appended to SINGLE_MONGOS_LB_URI - MONGODB_URI: "${SINGLE_MONGOS_LB_URI}" - SSL: "yes" - # Note: "stop load balancer" will be called from "post" - - - name: "test-requireApiVersion" - tags: ["versioned_api"] - commands: - - func: "compile driver" - - func: "bootstrap mongo-orchestration" - vars: - TOPOLOGY: "server" - AUTH: "auth" - REQUIRE_API_VERSION: "yes" - - func: "run tests" - vars: - API_VERSION: "1" - - - name: "ocsp-test_1-rsa-delegate" - tags: ["ocsp"] - commands: - - func: "compile driver" - - func: "run OCSP responder" - vars: - TEST_COLUMN: "TEST_1" - CERT_TYPE: "rsa" - USE_DELEGATE: "on" - - func: "bootstrap mongo-orchestration" - vars: - TOPOLOGY: "server" - ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple.json" - - func: "run tests" - vars: - TESTS: "tests/ocsp-success.phpt" - APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" - - name: "ocsp-test_1-ecdsa-delegate" - tags: ["ocsp"] - commands: - - func: "compile driver" - - func: "run OCSP responder" - vars: - TEST_COLUMN: "TEST_1" - CERT_TYPE: "ecdsa" - USE_DELEGATE: "on" - - func: "bootstrap mongo-orchestration" - vars: - TOPOLOGY: "server" - ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple.json" - - func: "run tests" - vars: - TESTS: "tests/ocsp-success.phpt" - APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" - - name: "ocsp-test_1-rsa-nodelegate" - tags: ["ocsp"] - commands: - - func: "compile driver" - - func: "run OCSP responder" - vars: - TEST_COLUMN: "TEST_1" - CERT_TYPE: "rsa" - USE_DELEGATE: "off" - - func: "bootstrap mongo-orchestration" - vars: - TOPOLOGY: "server" - ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple.json" - - func: "run tests" - vars: - TESTS: "tests/ocsp-success.phpt" - APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" - - name: "ocsp-test_1-ecdsa-nodelegate" - tags: ["ocsp"] - commands: - - func: "compile driver" - - func: "run OCSP responder" - vars: - TEST_COLUMN: "TEST_1" - CERT_TYPE: "ecdsa" - USE_DELEGATE: "off" - - func: "bootstrap mongo-orchestration" - vars: - TOPOLOGY: "server" - ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple.json" - - func: "run tests" - vars: - TESTS: "tests/ocsp-success.phpt" - APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" - - name: "ocsp-test_2-rsa-delegate" - tags: ["ocsp"] - commands: - - func: "compile driver" - - func: "run OCSP responder" - vars: - TEST_COLUMN: "TEST_2" - CERT_TYPE: "rsa" - USE_DELEGATE: "on" - - func: "bootstrap mongo-orchestration" - vars: - TOPOLOGY: "server" - ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple.json" - - func: "run tests" - vars: - TESTS: "tests/ocsp-failure.phpt" - APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" - - name: "ocsp-test_2-ecdsa-delegate" - tags: ["ocsp"] - commands: - - func: "compile driver" - - func: "run OCSP responder" - vars: - TEST_COLUMN: "TEST_2" - CERT_TYPE: "ecdsa" - USE_DELEGATE: "on" - - func: "bootstrap mongo-orchestration" - vars: - TOPOLOGY: "server" - ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple.json" - - func: "run tests" - vars: - TESTS: "tests/ocsp-failure.phpt" - APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" - - name: "ocsp-test_2-rsa-nodelegate" - tags: ["ocsp"] - commands: - - func: "compile driver" - - func: "run OCSP responder" - vars: - TEST_COLUMN: "TEST_2" - CERT_TYPE: "rsa" - USE_DELEGATE: "off" - - func: "bootstrap mongo-orchestration" - vars: - TOPOLOGY: "server" - ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple.json" - - func: "run tests" - vars: - TESTS: "tests/ocsp-failure.phpt" - APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" - - name: "ocsp-test_2-ecdsa-nodelegate" - tags: ["ocsp"] - commands: - - func: "compile driver" - - func: "run OCSP responder" - vars: - TEST_COLUMN: "TEST_2" - CERT_TYPE: "ecdsa" - USE_DELEGATE: "off" - - func: "bootstrap mongo-orchestration" - vars: - TOPOLOGY: "server" - ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple.json" - - func: "run tests" - vars: - TESTS: "tests/ocsp-failure.phpt" - APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" - - name: "ocsp-test_3-rsa-delegate" - tags: ["ocsp"] - commands: - - func: "compile driver" - - func: "run OCSP responder" - vars: - TEST_COLUMN: "TEST_3" - CERT_TYPE: "rsa" - USE_DELEGATE: "on" - - func: "bootstrap mongo-orchestration" - vars: - TOPOLOGY: "server" - ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-disableStapling.json" - - func: "run tests" - vars: - TESTS: "tests/ocsp-success.phpt" - APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" - - name: "ocsp-test_3-ecdsa-delegate" - tags: ["ocsp"] - commands: - - func: "compile driver" - - func: "run OCSP responder" - vars: - TEST_COLUMN: "TEST_3" - CERT_TYPE: "ecdsa" - USE_DELEGATE: "on" - - func: "bootstrap mongo-orchestration" - vars: - TOPOLOGY: "server" - ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-disableStapling.json" - - func: "run tests" - vars: - TESTS: "tests/ocsp-success.phpt" - APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" - - name: "ocsp-test_3-rsa-nodelegate" - tags: ["ocsp"] - commands: - - func: "compile driver" - - func: "run OCSP responder" - vars: - TEST_COLUMN: "TEST_3" - CERT_TYPE: "rsa" - USE_DELEGATE: "off" - - func: "bootstrap mongo-orchestration" - vars: - TOPOLOGY: "server" - ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-disableStapling.json" - - func: "run tests" - vars: - TESTS: "tests/ocsp-success.phpt" - APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" - - name: "ocsp-test_3-ecdsa-nodelegate" - tags: ["ocsp"] - commands: - - func: "compile driver" - - func: "run OCSP responder" - vars: - TEST_COLUMN: "TEST_3" - CERT_TYPE: "ecdsa" - USE_DELEGATE: "off" - - func: "bootstrap mongo-orchestration" - vars: - TOPOLOGY: "server" - ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-disableStapling.json" - - func: "run tests" - vars: - TESTS: "tests/ocsp-success.phpt" - APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" - - name: "ocsp-test_4-rsa-delegate" - tags: ["ocsp"] - commands: - - func: "compile driver" - - func: "run OCSP responder" - vars: - TEST_COLUMN: "TEST_4" - CERT_TYPE: "rsa" - USE_DELEGATE: "on" - - func: "bootstrap mongo-orchestration" - vars: - TOPOLOGY: "server" - ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-disableStapling.json" - - func: "run tests" - vars: - TESTS: "tests/ocsp-failure.phpt" - APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" - - name: "ocsp-test_4-ecdsa-delegate" - tags: ["ocsp"] - commands: - - func: "compile driver" - - func: "run OCSP responder" - vars: - TEST_COLUMN: "TEST_4" - CERT_TYPE: "ecdsa" - USE_DELEGATE: "on" - - func: "bootstrap mongo-orchestration" - vars: - TOPOLOGY: "server" - ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-disableStapling.json" - - func: "run tests" - vars: - TESTS: "tests/ocsp-failure.phpt" - APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" - - name: "ocsp-test_4-rsa-nodelegate" - tags: ["ocsp"] - commands: - - func: "compile driver" - - func: "run OCSP responder" - vars: - TEST_COLUMN: "TEST_4" - CERT_TYPE: "rsa" - USE_DELEGATE: "off" - - func: "bootstrap mongo-orchestration" - vars: - TOPOLOGY: "server" - ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-disableStapling.json" - - func: "run tests" - vars: - TESTS: "tests/ocsp-failure.phpt" - APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" - - name: "ocsp-test_4-ecdsa-nodelegate" - tags: ["ocsp"] - commands: - - func: "compile driver" - - func: "run OCSP responder" - vars: - TEST_COLUMN: "TEST_4" - CERT_TYPE: "ecdsa" - USE_DELEGATE: "off" - - func: "bootstrap mongo-orchestration" - vars: - TOPOLOGY: "server" - ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-disableStapling.json" - - func: "run tests" - vars: - TESTS: "tests/ocsp-failure.phpt" - APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" - - name: "ocsp-soft_fail_test-rsa" - tags: ["ocsp"] - commands: - - func: "compile driver" - - func: "bootstrap mongo-orchestration" - vars: - TOPOLOGY: "server" - ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-disableStapling.json" - - func: "run tests" - vars: - TESTS: "tests/ocsp-success.phpt" - APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" - - name: "ocsp-soft_fail_test-ecdsa" - tags: ["ocsp"] - commands: - - func: "compile driver" - - func: "bootstrap mongo-orchestration" - vars: - TOPOLOGY: "server" - ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-disableStapling.json" - - func: "run tests" - vars: - TESTS: "tests/ocsp-success.phpt" - APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" - - name: "ocsp-malicious_server_test_1-rsa-delegate" - tags: ["ocsp"] - commands: - - func: "compile driver" - - func: "run OCSP responder" - vars: - TEST_COLUMN: "MALICIOUS_SERVER_TEST_1" - CERT_TYPE: "rsa" - USE_DELEGATE: "on" - - func: "bootstrap mongo-orchestration" - vars: - TOPOLOGY: "server" - ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple-disableStapling.json" - - func: "run tests" - vars: - TESTS: "tests/ocsp-failure.phpt" - APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" - - name: "ocsp-malicious_server_test_1-ecdsa-delegate" - tags: ["ocsp"] - commands: - - func: "compile driver" - - func: "run OCSP responder" - vars: - TEST_COLUMN: "MALICIOUS_SERVER_TEST_1" - CERT_TYPE: "ecdsa" - USE_DELEGATE: "on" - - func: "bootstrap mongo-orchestration" - vars: - TOPOLOGY: "server" - ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple-disableStapling.json" - - func: "run tests" - vars: - TESTS: "tests/ocsp-failure.phpt" - APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" - - name: "ocsp-malicious_server_test_1-rsa-nodelegate" - tags: ["ocsp"] - commands: - - func: "compile driver" - - func: "run OCSP responder" - vars: - TEST_COLUMN: "MALICIOUS_SERVER_TEST_1" - CERT_TYPE: "rsa" - USE_DELEGATE: "off" - - func: "bootstrap mongo-orchestration" - vars: - TOPOLOGY: "server" - ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple-disableStapling.json" - - func: "run tests" - vars: - TESTS: "tests/ocsp-failure.phpt" - APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" - - name: "ocsp-malicious_server_test_1-ecdsa-nodelegate" - tags: ["ocsp"] - commands: - - func: "compile driver" - - func: "run OCSP responder" - vars: - TEST_COLUMN: "MALICIOUS_SERVER_TEST_1" - CERT_TYPE: "ecdsa" - USE_DELEGATE: "off" - - func: "bootstrap mongo-orchestration" - vars: - TOPOLOGY: "server" - ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple-disableStapling.json" - - func: "run tests" - vars: - TESTS: "tests/ocsp-failure.phpt" - APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" - - name: "ocsp-malicious_server_test_2-rsa" - tags: ["ocsp"] - commands: - - func: "compile driver" - - func: "bootstrap mongo-orchestration" - vars: - TOPOLOGY: "server" - ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple-disableStapling.json" - - func: "run tests" - vars: - TESTS: "tests/ocsp-failure.phpt" - APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" - - name: "ocsp-malicious_server_test_2-ecdsa" - tags: ["ocsp"] - commands: - - func: "compile driver" - - func: "bootstrap mongo-orchestration" - vars: - TOPOLOGY: "server" - ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple-disableStapling.json" - - func: "run tests" - vars: - TESTS: "tests/ocsp-failure.phpt" - APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" - -# }}} - - -axes: - - id: mongodb-versions - display_name: MongoDB Version - values: - - id: "latest" - display_name: "MongoDB latest" - variables: - MONGODB_VERSION: "latest" - - id: "rapid" - display_name: "MongoDB rapid" - variables: - MONGODB_VERSION: "rapid" - - id: "7.0" - display_name: "MongoDB 7.0" - variables: - MONGODB_VERSION: "7.0" - - id: "6.0" - display_name: "MongoDB 6.0" - variables: - MONGODB_VERSION: "6.0" - - id: "5.0" - display_name: "MongoDB 5.0" - variables: - MONGODB_VERSION: "5.0" - - id: "4.4" - display_name: "MongoDB 4.4" - variables: - MONGODB_VERSION: "4.4" - - id: "4.2" - display_name: "MongoDB 4.2" - variables: - MONGODB_VERSION: "4.2" - - id: "4.0" - display_name: "MongoDB 4.0" - variables: - MONGODB_VERSION: "4.0" - - id: "3.6" - display_name: "MongoDB 3.6" - variables: - MONGODB_VERSION: "3.6" - - - id: mongodb-edge-versions - display_name: MongoDB Version - values: - - id: "latest-stable" - display_name: "MongoDB 6.0" - variables: - MONGODB_VERSION: "6.0" - - id: "oldest-supported" - display_name: "MongoDB 3.6" - variables: - MONGODB_VERSION: "3.6" - - - id: php-versions - display_name: PHP Version - values: - - id: "8.2" - display_name: "PHP 8.2" - variables: - PHP_VERSION: "8.2" - - id: "8.1" - display_name: "PHP 8.1" - variables: - PHP_VERSION: "8.1" - - id: "8.0" - display_name: "PHP 8.0" - variables: - PHP_VERSION: "8.0" - - id: "7.4" - display_name: "PHP 7.4" - variables: - PHP_VERSION: "7.4" - - - id: php-edge-versions - display_name: PHP Version - values: - - id: "latest-stable" - display_name: "PHP 8.2" - variables: - PHP_VERSION: "8.2" - - id: "oldest-supported" - display_name: "PHP 7.4" - variables: - PHP_VERSION: "7.4" - - - id: os - display_name: OS - values: - # Debian - - id: debian11 - display_name: "Debian 11" - run_on: debian11-small - - id: debian10 - display_name: "Debian 10" - run_on: debian10-small - - id: debian92 - display_name: "Debian 9.2" - run_on: debian92-small - - # RHEL - - id: rhel90 - display_name: "RHEL 9.0" - run_on: rhel90-small - - id: rhel83-zseries - display_name: "RHEL 8.3 Zseries" - run_on: rhel83-zseries-small - - id: rhel82-arm64 - display_name: "RHEL 8.2 ARM64" - run_on: rhel82-arm64-small - - id: rhel81-power8 - display_name: "RHEL 8.1 Power8" - run_on: rhel81-power8-large - - id: rhel80 - display_name: "RHEL 8.0" - run_on: rhel80-small - - id: rhel76 - display_name: "RHEL 7.6" - run_on: rhel76-small - - # Ubuntu LTS - - id: ubuntu2204 - display_name: "Ubuntu 22.04 x64" - run_on: ubuntu2204-small - - id: ubuntu2204-arm64 - display_name: "Ubuntu 22.04 ARM64" - run_on: ubuntu2204-arm64-small - - id: ubuntu2004 - display_name: "Ubuntu 20.04 x64" - run_on: ubuntu2004-small - - id: ubuntu2004-arm64 - display_name: "Ubuntu 20.04 ARM64" - run_on: ubuntu2004-arm64-small - - # Pending installation of PHP toolchain on macOS hosts (see: PHPC-869) - # - id: macos-1014 - # display_name: "Mac OS 10.14" - # run_on: macos-1014 - - - id: storage-engine - display_name: Storage - values: - - id: mmapv1 - display_name: MMAPv1 - variables: - STORAGE_ENGINE: "mmapv1" - - id: wiredtiger - display_name: WiredTiger - variables: - STORAGE_ENGINE: "wiredtiger" - - id: inmemory - display_name: InMemory - variables: - STORAGE_ENGINE: "inmemory" - - - id: libmongoc-version - display_name: libmongoc version - values: - - id: "lowest-supported" - display_name: "1.25-dev" - variables: - LIBMONGOC_VERSION: "master" -# - id: "upcoming-stable" -# display_name: "1.25-dev" -# variables: -# LIBMONGOC_VERSION: "r1.25" -# - id: "latest-dev" -# display_name: "master" -# variables: -# LIBMONGOC_VERSION: "master" - - -buildvariants: -# Test all PHP versions with latest-stable MongoDB on all operating systems -- matrix_name: "test-php-versions" - matrix_spec: - os: - - debian11 - - debian10 - - rhel90 - - rhel83-zseries - - rhel82-arm64 - - rhel81-power8 - - rhel80 - - rhel76 - - ubuntu2204-arm64 - - ubuntu2204 - - ubuntu2004-arm64 - - ubuntu2004 - mongodb-edge-versions: latest-stable - php-versions: "*" - display_name: "${os}, ${mongodb-edge-versions}, ${php-versions}" - exclude_spec: - # Exclude "latest-stable" PHP version for Debian 11 (see: test-mongodb-versions matrix) - - { "os": "debian11", "mongodb-edge-versions": "*", "php-versions": "8.2" } - # Exclude PHP versions older than 8.1 on RHEL 9 and Ubuntu 22.04 (OpenSSL 3 is only supported on PHP 8.1+) - - { "os": ["rhel90", "ubuntu2204-arm64", "ubuntu2204"], "mongodb-edge-versions": "*", "php-versions": ["7.4", "8.0"] } - tasks: - - name: "test-standalone-ssl" - - name: "test-replicaset-auth" - - name: "test-sharded" - -# Test all topologies and MongoDB versions with latest-stable PHP version on Debian -- matrix_name: "test-mongodb-versions" - matrix_spec: { "os": ["debian92", "debian11"], "mongodb-versions": "*", "php-edge-versions": "latest-stable" } - display_name: "${os}, ${mongodb-versions}, ${php-edge-versions}" - exclude_spec: - # Debian 9.2 only supports up to MongoDB 5.0 - - { "os": "debian92", "mongodb-versions": ["6.0", "7.0", "rapid", "latest"], "php-edge-versions": "latest-stable" } - - { "os": "debian11", "mongodb-versions": ["3.6", "4.0", "4.2", "4.4", "5.0"], "php-edge-versions": "latest-stable" } - tasks: - - name: "test-standalone" - - name: "test-standalone-auth" - - name: "test-standalone-ssl" - - name: "test-replicaset" - - name: "test-replicaset-auth" - - name: "test-sharded" - -# Test alternative storage engines on MongoDB 4.0 -- matrix_name: "test-storage-engines" - matrix_spec: { "os": "debian92", "mongodb-versions": "4.0", "php-edge-versions": "latest-stable", "storage-engine": ["inmemory", "mmapv1"] } - display_name: "${storage-engine}: ${os}, ${mongodb-edge-versions}, ${php-edge-versions}" - tasks: - - name: "test-standalone" - -- matrix_name: "libmongoc-versions" - matrix_spec: { "os": "debian11", "mongodb-edge-versions": "latest-stable", "php-edge-versions": "latest-stable", "libmongoc-version": "*" } - display_name: "libmongoc ${libmongoc-version}: ${os}, ${mongodb-edge-versions}, ${php-edge-versions}" - tasks: - - name: "test-standalone-ssl" - - name: "test-replicaset-auth" - - name: "test-sharded" - -- matrix_name: "atlas-connectivity-tests" - matrix_spec: { "os": "debian11", "php-edge-versions": "latest-stable" } - display_name: "Atlas Connectivity" - tasks: - - name: "test-atlas" - -- matrix_name: "test-ocsp" - matrix_spec: { "os": "debian10", "mongodb-versions": "*", "php-edge-versions": "latest-stable" } - display_name: "OCSP tests - ${mongodb-versions}" - exclude_spec: - # OCSP is available from MongoDB 4.4+ (Debian 10 has MongoDB 4.4+) - - { "os": "debian10", "mongodb-versions": ["3.6", "4.0", "4.2"], "php-edge-versions": "latest-stable" } - tasks: - - name: ".ocsp" - -- matrix_name: "test-requireApiVersion" - matrix_spec: { "os": "debian11", "mongodb-versions": "*", "php-edge-versions": "latest-stable" } - display_name: "Versioned API - ${mongodb-versions}" - exclude_spec: - # Stable API is available from MongoDB 5.0+ - - { "os": "debian11", "mongodb-versions": ["3.6", "4.0", "4.2", "4.4"], "php-edge-versions": "latest-stable" } - tasks: - - name: "test-requireApiVersion" - -- matrix_name: "test-loadBalanced" - matrix_spec: { "os": "debian11", "mongodb-versions": "*", "php-edge-versions": "latest-stable" } - display_name: "Load balanced - ${mongodb-versions}" - exclude_spec: - # Load balancer is available from MongoDB 5.0+ - - { "os": "debian11", "mongodb-versions": ["3.6", "4.0", "4.2", "4.4"], "php-edge-versions": "latest-stable" } - tasks: - - name: "test-loadBalanced" - -- matrix_name: "test-csfle-skip_crypt_shared" - matrix_spec: { "os": "debian11", "mongodb-versions": "*", "php-edge-versions": "latest-stable" } - display_name: "CSFLE skip_crypt_shared - ${mongodb-versions}" - exclude_spec: - # CSFLE crypt_shared is available from MongoDB 6.0+ - - { "os": "debian11", "mongodb-versions": ["3.6", "4.0", "4.2", "4.4", "5.0"], "php-edge-versions": "latest-stable" } - tasks: - - name: "test-skip_crypt_shared" +# Define aliases for patch builds and PR builds. These only apply if no aliases are defined in project settings +github_pr_aliases: + # Run all build tasks, except on Power8 and zSeries due to low number of build hardware + - variant: "^build-[^-]+($|-arm64)" + task: ".*" + # Run tests on debian, only testing local replicasets with authentication enabled + - variant: "test-.*" + task: "test-mongodb-.*-replicaset-auth" + +# Include files that contain various tasks, task groups, and build variant definitions +include: + - filename: .evergreen/config/functions.yml + + - filename: .evergreen/config/build-task-groups.yml + - filename: .evergreen/config/build-variants.yml + + - filename: .evergreen/config/test-tasks.yml + - filename: .evergreen/config/test-variants.yml + + # Automatically generated files + - filename: .evergreen/config/generated/build/build-php-8.2.yml + - filename: .evergreen/config/generated/build/build-php-8.1.yml + - filename: .evergreen/config/generated/build/build-php-8.0.yml + - filename: .evergreen/config/generated/build/build-php-7.4.yml + - filename: .evergreen/config/generated/build/build-libmongoc-8.2.yml + - filename: .evergreen/config/generated/test/local-latest.yml + - filename: .evergreen/config/generated/test/local-rapid.yml + - filename: .evergreen/config/generated/test/local-7.0.yml + - filename: .evergreen/config/generated/test/local-6.0.yml + - filename: .evergreen/config/generated/test/local-5.0.yml + - filename: .evergreen/config/generated/test/local-4.4.yml + - filename: .evergreen/config/generated/test/local-4.2.yml + - filename: .evergreen/config/generated/test/local-4.0.yml + - filename: .evergreen/config/generated/test/local-3.6.yml + - filename: .evergreen/config/generated/test/load-balanced-latest.yml + - filename: .evergreen/config/generated/test/load-balanced-rapid.yml + - filename: .evergreen/config/generated/test/load-balanced-7.0.yml + - filename: .evergreen/config/generated/test/load-balanced-6.0.yml + - filename: .evergreen/config/generated/test/load-balanced-5.0.yml + - filename: .evergreen/config/generated/test/ocsp-latest.yml + - filename: .evergreen/config/generated/test/ocsp-rapid.yml + - filename: .evergreen/config/generated/test/ocsp-7.0.yml + - filename: .evergreen/config/generated/test/ocsp-6.0.yml + - filename: .evergreen/config/generated/test/ocsp-5.0.yml + - filename: .evergreen/config/generated/test/ocsp-4.4.yml + - filename: .evergreen/config/generated/test/require-api-version-latest.yml + - filename: .evergreen/config/generated/test/require-api-version-rapid.yml + - filename: .evergreen/config/generated/test/require-api-version-7.0.yml + - filename: .evergreen/config/generated/test/require-api-version-6.0.yml + - filename: .evergreen/config/generated/test/require-api-version-5.0.yml + - filename: .evergreen/config/generated/test/skip-crypt-shared-latest.yml + - filename: .evergreen/config/generated/test/skip-crypt-shared-rapid.yml + - filename: .evergreen/config/generated/test/skip-crypt-shared-7.0.yml + - filename: .evergreen/config/generated/test/skip-crypt-shared-6.0.yml diff --git a/.evergreen/config/build-task-groups.yml b/.evergreen/config/build-task-groups.yml new file mode 100644 index 000000000..d14fe8998 --- /dev/null +++ b/.evergreen/config/build-task-groups.yml @@ -0,0 +1,42 @@ +variables: + build_setup: &build_setup + - func: "fetch source" + - func: "prepare resources" + - func: "fix absolute paths" + - func: "install dependencies" + build_teardown: &build_teardown + - func: "cleanup" + +task_groups: + # Builds all versions of PHP + - name: "build-all-php" + # Keep this number in sync with the number of PHP versions to allow for parallel builds + max_hosts: 4 + setup_task: *build_setup + setup_task_can_fail_task: true + setup_task_timeout_secs: 1800 + teardown_task: *build_teardown + tasks: + - ".build" + + # Builds all versions of PHP that support OpenSSL 3 (PHP 8.1+) + - name: "build-php-openssl3" + # Keep this number in sync with the number of PHP versions to allow for parallel builds + # Subtract 2 versions as PHP 7.4 and 8.0 are not built with OpenSSL 3 + max_hosts: 2 + setup_task: *build_setup + setup_task_can_fail_task: true + setup_task_timeout_secs: 1800 + teardown_task: *build_teardown + tasks: + - ".build !.php7.4 !.php8.0" + + - name: "build-php-libmongoc" + # Keep this in sync with the actual number of libmongoc builds (typically 3) defined in _template-build-libmongoc.yml + max_hosts: 1 + setup_task: *build_setup + setup_task_can_fail_task: true + setup_task_timeout_secs: 1800 + teardown_task: *build_teardown + tasks: + - ".build-libmongoc" diff --git a/.evergreen/config/build-variants.yml b/.evergreen/config/build-variants.yml new file mode 100644 index 000000000..1742705a2 --- /dev/null +++ b/.evergreen/config/build-variants.yml @@ -0,0 +1,88 @@ +# +# Build variants to build the driver - these are run for all operating systems and PHP versions we support +# +buildvariants: + # Debian + - name: build-debian11 + display_name: "Build: Debian 11" + tags: ["build", "debian", "x64"] + run_on: debian11-small + tasks: + - name: "build-all-php" + - name: "build-php-libmongoc" + - name: build-debian10 + display_name: "Build: Debian 10" + tags: ["build", "debian", "x64"] + run_on: debian10-small + tasks: + - name: "build-all-php" + - name: build-debian92 + display_name: "Build: Debian 9.2" + tags: ["build", "debian", "x64"] + run_on: debian92-small + tasks: + - name: "build-all-php" + + # RHEL + - name: build-rhel90 + display_name: "Build: RHEL 9.0" + tags: ["build", "rhel", "x64"] + run_on: rhel90-small + tasks: + - name: "build-php-openssl3" + - name: build-rhel83-zseries + display_name: "Build: RHEL 8.3 Zseries" + tags: ["build", "rhel", "zseries"] + run_on: rhel83-zseries-small + tasks: + - name: "build-all-php" + - name: build-rhel82-arm64 + display_name: "Build: RHEL 8.2 ARM64" + tags: ["build", "rhel", "arm64"] + run_on: rhel82-arm64 + tasks: + - name: "build-all-php" + - name: build-rhel81-power8 + display_name: "Build: RHEL 8.1 Power8" + tags: ["build", "rhel", "power8"] + run_on: rhel81-power8-large + tasks: + - name: "build-all-php" + - name: build-rhel80 + display_name: "Build: RHEL 8.0" + tags: ["build", "rhel", "x64"] + run_on: rhel80-small + tasks: + - name: "build-all-php" + - name: build-rhel76 + display_name: "Build: RHEL 7.6" + tags: ["build", "rhel", "x64"] + run_on: rhel76-small + tasks: + - name: "build-all-php" + + # Ubuntu LTS + - name: build-ubuntu2204 + display_name: "Build: Ubuntu 22.04 x64" + tags: ["build", "ubuntu", "x64"] + run_on: ubuntu2204-small + tasks: + - name: "build-php-openssl3" + - name: build-ubuntu2204-arm64 + display_name: "Build: Ubuntu 22.04 ARM64" + tags: ["build", "ubuntu", "arm64"] + run_on: ubuntu2204-arm64-small + tasks: + - name: "build-php-openssl3" + - name: build-ubuntu2004 + display_name: "Build: Ubuntu 20.04 x64" + tags: ["build", "ubuntu", "x64"] + run_on: ubuntu2004-small + tasks: + - name: "build-all-php" + - name: build-ubuntu2004-arm64 + display_name: "Build: Ubuntu 20.04 ARM64" + tags: ["build", "ubuntu", "arm64"] + run_on: ubuntu2004-arm64-small + tasks: + - name: "build-all-php" diff --git a/.evergreen/config/functions.yml b/.evergreen/config/functions.yml new file mode 100644 index 000000000..1d23664eb --- /dev/null +++ b/.evergreen/config/functions.yml @@ -0,0 +1,267 @@ +functions: + "fetch source": + # Executes git clone and applies the submitted patch, if any + - command: git.get_project + params: + directory: "src" + # Fetch the libmongoc submodule + - command: shell.exec + params: + working_dir: "src" + script: | + git submodule update --init + # Make an evergreen expansion file with dynamic values + - command: shell.exec + params: + working_dir: "src" + script: | + # Get the current unique version of this checkout + if [ "${is_patch}" = "true" ]; then + CURRENT_VERSION=$(git describe)-patch-${version_id} + else + CURRENT_VERSION=latest + fi + + export DRIVERS_TOOLS="$(pwd)/../drivers-tools" + export PROJECT_DIRECTORY="$(pwd)" + + # Python has cygwin path problems on Windows. Detect prospective mongo-orchestration home directory + if [ "Windows_NT" = "$OS" ]; then # Magic variable in cygwin + export DRIVERS_TOOLS=$(cygpath -m $DRIVERS_TOOLS) + export PROJECT_DIRECTORY=$(cygpath -m $PROJECT_DIRECTORY) + fi + + export MONGO_ORCHESTRATION_HOME="$DRIVERS_TOOLS/.evergreen/orchestration" + # Note: PHPC no longer has any custom MO configs, but they can be stored here if needed + export PROJECT_ORCHESTRATION_HOME="$PROJECT_DIRECTORY/.evergreen/orchestration" + export MONGODB_BINARIES="$DRIVERS_TOOLS/mongodb/bin" + export UPLOAD_BUCKET="${project}" + + cat < expansion.yml + CURRENT_VERSION: "$CURRENT_VERSION" + DRIVERS_TOOLS: "$DRIVERS_TOOLS" + MONGO_ORCHESTRATION_HOME: "$MONGO_ORCHESTRATION_HOME" + PROJECT_ORCHESTRATION_HOME: "$PROJECT_ORCHESTRATION_HOME" + MONGODB_BINARIES: "$MONGODB_BINARIES" + UPLOAD_BUCKET: "$UPLOAD_BUCKET" + PROJECT_DIRECTORY: "$PROJECT_DIRECTORY" + + PREPARE_SHELL: | + set -o errexit + export DRIVERS_TOOLS="$DRIVERS_TOOLS" + export MONGO_ORCHESTRATION_HOME="$MONGO_ORCHESTRATION_HOME" + export PROJECT_ORCHESTRATION_HOME="$PROJECT_ORCHESTRATION_HOME" + export MONGODB_BINARIES="$MONGODB_BINARIES" + export UPLOAD_BUCKET="$UPLOAD_BUCKET" + export PROJECT_DIRECTORY="$PROJECT_DIRECTORY" + + export TMPDIR="$MONGO_ORCHESTRATION_HOME/db" + export PATH="$MONGODB_BINARIES:$PATH" + export PROJECT="${project}" + + export SSL_DIR="$DRIVERS_TOOLS/.evergreen/x509gen" + EOT + # See what we've done + cat expansion.yml + + # Load the expansion file to make an evergreen variable with the current unique version + - command: expansions.update + params: + file: src/expansion.yml + + "prepare resources": + - command: shell.exec + params: + script: | + ${PREPARE_SHELL} + rm -rf $DRIVERS_TOOLS + if [ "${project}" = "drivers-tools" ]; then + # If this was a patch build, doing a fresh clone would not actually test the patch + cp -R ${PROJECT_DIRECTORY}/ $DRIVERS_TOOLS + else + git clone https://github.com/mongodb-labs/drivers-evergreen-tools.git $DRIVERS_TOOLS + fi + echo "{ \"releases\": { \"default\": \"$MONGODB_BINARIES\" }}" > $MONGO_ORCHESTRATION_HOME/orchestration.config + + + # Upload build artifacts that other tasks may depend on + # Note this URL needs to be totally unique, while predictable for the next task + # so it can automatically download the artifacts + "upload build": + # Compress and upload the entire build directory + - command: archive.targz_pack + params: + target: "${build_id}.tar.gz" + source_dir: src + include: + - "./**" + - command: s3.put + params: + aws_key: ${aws_key} + aws_secret: ${aws_secret} + bucket: mciuploads + content_type: ${content_type|application/x-gzip} + permissions: public-read + local_file: ${build_id}.tar.gz + remote_file: ${project}/${build_variant}/${revision}/${task_name}/${version}.tar.gz + + "fetch build": + - command: subprocess.exec + type: setup + params: + binary: bash + args: + - -c + - rm -rf src + - command: s3.get + params: + aws_key: ${aws_key} + aws_secret: ${aws_secret} + bucket: mciuploads + remote_file: ${project}/${FETCH_BUILD_VARIANT}/${revision}/${FETCH_BUILD_TASK}/${version}.tar.gz + local_file: build.tar.gz + - command: archive.targz_extract + params: + destination: src + path: build.tar.gz + # Fix path names in Makefile + - command: shell.exec + type: test + params: + working_dir: "src" + script: | + ${PREPARE_SHELL} + perl -p -i -e "s|/data/mci/[0-9a-z]+/src|${PROJECT_DIRECTORY}|g" Makefile + + "compile driver" : + - command: shell.exec + params: + working_dir: "src/src/libmongoc" + add_expansions_to_env: true + script: | + if [ -n "${LIBMONGOC_VERSION}" ]; then + echo "Checking out libmongoc version: ${LIBMONGOC_VERSION}" + git fetch + git checkout ${LIBMONGOC_VERSION} + # Note: compile-unix.sh will run `make libmongoc-version-current` + fi + - command: subprocess.exec + type: test + params: + working_dir: "src" + add_expansions_to_env: true + binary: bash + args: + - ${PROJECT_DIRECTORY}/.evergreen/compile-unix.sh + + "upload test results": + - command: attach.xunit_results + params: + # Uploading test results does not work when using ${PROJECT_DIRECTORY}, + # so we use an absolute path to work around this + file: "src/test-results.xml" + - command: attach.results + params: + file_location: "${DRIVERS_TOOLS}/results.json" + + "bootstrap mongo-orchestration": + - command: shell.exec + params: + script: | + ${PREPARE_SHELL} + SKIP_LEGACY_SHELL=true MONGODB_VERSION=${MONGODB_VERSION} TOPOLOGY=${TOPOLOGY} AUTH=${AUTH} SSL=${SSL} STORAGE_ENGINE=${STORAGE_ENGINE} LOAD_BALANCER=${LOAD_BALANCER} REQUIRE_API_VERSION=${REQUIRE_API_VERSION} ORCHESTRATION_FILE=${ORCHESTRATION_FILE} sh ${DRIVERS_TOOLS}/.evergreen/run-orchestration.sh + # run-orchestration generates expansion file with MONGODB_URI and CRYPT_SHARED_LIB_PATH + - command: expansions.update + params: + file: mo-expansion.yml + + "stop mongo-orchestration": + - command: shell.exec + params: + script: | + ${PREPARE_SHELL} + sh ${DRIVERS_TOOLS}/.evergreen/stop-orchestration.sh + + "run OCSP responder": + - command: shell.exec + params: + shell: bash + script: | + ${PREPARE_SHELL} + TEST_COLUMN=${TEST_COLUMN} \ + CERT_TYPE=${CERT_TYPE} \ + USE_DELEGATE=${USE_DELEGATE} \ + ${PROJECT_DIRECTORY}/.evergreen/run-ocsp-responder.sh + + "run tests": + - command: shell.exec + type: test + params: + working_dir: "src" + script: | + ${PREPARE_SHELL} + API_VERSION=${API_VERSION} \ + CRYPT_SHARED_LIB_PATH=${CRYPT_SHARED_LIB_PATH} \ + MONGODB_URI="${MONGODB_URI}${APPEND_URI}" \ + SKIP_CRYPT_SHARED=${SKIP_CRYPT_SHARED} \ + SSL=${SSL} \ + SSL_DIR=${SSL_DIR} \ + TESTS=${TESTS} \ + sh ${PROJECT_DIRECTORY}/.evergreen/run-tests.sh + + "cleanup": + - command: shell.exec + params: + script: | + ${PREPARE_SHELL} + rm -rf $DRIVERS_TOOLS || true + + "fix absolute paths": + - command: shell.exec + params: + script: | + ${PREPARE_SHELL} + for filename in $(find ${DRIVERS_TOOLS} -name \*.json); do + perl -p -i -e "s|ABSOLUTE_PATH_REPLACEMENT_TOKEN|${DRIVERS_TOOLS}|g" $filename + done + + "init test-results": + - command: shell.exec + params: + script: | + ${PREPARE_SHELL} + echo '{"results": [{ "status": "FAIL", "test_file": "Build", "log_raw": "No test-results.json found was created" } ]}' > ${PROJECT_DIRECTORY}/test-results.json + + "install dependencies": + - command: shell.exec + params: + working_dir: "src" + script: | + ${PREPARE_SHELL} + file="${DRIVERS_TOOLS}/.evergreen/install-dependencies.sh" + # Don't use ${file} syntax here because evergreen treats it as an empty expansion. + [ -f "$file" ] && sh $file || echo "$file not available, skipping" + + "decrypt atlas URI list": + - command: shell.exec + params: + script: | + openssl aes-256-cbc -S "${encrypted_uris_salt}" -K "${encrypted_uris_key}" -iv "${encrypted_uris_iv}" -in ${PROJECT_DIRECTORY}/.evergreen/atlas-uris.txt.enc -out ${PROJECT_DIRECTORY}/.evergreen/atlas-uris.txt -d + + "start load balancer": + - command: shell.exec + params: + script: | + MONGODB_URI="${MONGODB_URI}" ${DRIVERS_TOOLS}/.evergreen/run-load-balancer.sh start + - command: expansions.update + params: + file: lb-expansion.yml + + "stop load balancer": + - command: shell.exec + params: + script: | + # Only run if a load balancer was started + if [ -n "${SINGLE_MONGOS_LB_URI}" ]; then + ${DRIVERS_TOOLS}/.evergreen/run-load-balancer.sh stop + fi diff --git a/.evergreen/config/generate-config.php b/.evergreen/config/generate-config.php new file mode 100644 index 000000000..511107920 --- /dev/null +++ b/.evergreen/config/generate-config.php @@ -0,0 +1,99 @@ +#!/bin/env php + in_array($version, ['latest', 'rapid']) || version_compare($version, '5.0', '>='), +); +$ocspServerVersions = array_filter( + $supportedMongoDBVersions, + // OCSP supports MongoDB 4.4+ + fn (string $version): bool => in_array($version, ['latest', 'rapid']) || version_compare($version, '4.4', '>='), +); +$requireApiServerVersions = array_filter( + $supportedMongoDBVersions, + // requireApiVersion supports MongoDB 5.0+ + fn (string $version): bool => in_array($version, ['latest', 'rapid']) || version_compare($version, '5.0', '>='), +); +$skipCryptSharedServerVersions = array_filter( + $supportedMongoDBVersions, + // crypt_shared is available starting with MongoDB 6.0 + fn (string $version): bool => in_array($version, ['latest', 'rapid']) || version_compare($version, '6.0', '>='), +); + +$allFiles = []; + +// Build tasks +$allFiles[] = generateConfigs('build', 'phpVersion', 'build-php.yml', 'build-php-%s', $supportedPhpVersions); +$allFiles[] = generateConfigs('build', 'phpVersion', 'build-libmongoc.yml', 'build-libmongoc-%s', $libmongocBuildPhpVersions); + +// Test tasks +$allFiles[] = generateConfigs('test', 'mongodbVersion', 'local.yml', 'local-%s', $localServerVersions); +$allFiles[] = generateConfigs('test', 'mongodbVersion', 'load-balanced.yml', 'load-balanced-%s', $loadBalancedServerVersions); +$allFiles[] = generateConfigs('test', 'mongodbVersion', 'ocsp.yml', 'ocsp-%s', $ocspServerVersions); +$allFiles[] = generateConfigs('test', 'mongodbVersion', 'require-api-version.yml', 'require-api-version-%s', $requireApiServerVersions); +$allFiles[] = generateConfigs('test', 'mongodbVersion', 'skip-crypt-shared.yml', 'skip-crypt-shared-%s', $skipCryptSharedServerVersions); + +echo "Generated config. Use the following list to import files:\n"; +echo implode("\n", array_map('getImportConfig', array_merge(...$allFiles))) . "\n"; + +function getImportConfig(string $filename): string +{ + return '- filename: ' . $filename; +} + +function generateConfigs( + string $directory, + string $replacementName, + string $templateFile, + string $outputFormat, + array $versions, +): array { + $templateRelativePath = 'templates/' . $directory . '/' . $templateFile; + $template = file_get_contents(__DIR__ . '/' . $templateRelativePath); + $header = sprintf( + '# This file is generated automatically - please edit the "%s" template file instead.', + $templateRelativePath + ); + + $files = []; + + foreach ($versions as $version) { + $filename = sprintf('/generated/%s/' . $outputFormat . '.yml', $directory, $version); + $files[] = '.evergreen/config' . $filename; + + $replacements = ['%' . $replacementName . '%' => $version]; + + file_put_contents(__DIR__ . $filename, $header . "\n" . strtr($template, $replacements)); + } + + return $files; +} + diff --git a/.evergreen/config/generated/build/build-libmongoc-8.2.yml b/.evergreen/config/generated/build/build-libmongoc-8.2.yml new file mode 100644 index 000000000..b8d9257f0 --- /dev/null +++ b/.evergreen/config/generated/build/build-libmongoc-8.2.yml @@ -0,0 +1,35 @@ +# This file is generated automatically - please edit the "templates/build/build-libmongoc.yml" template file instead. +# The following tasks are used to build with different libmongoc versions. +# If libmongoc is not set to a stable version, disable the first two builds and only leave the last one enabled. +# When updating libmongoc to a stable release, make sure all builds are enabled. +# These tasks are used in the build task group "build-php-libmongoc" defined in .evergreen/config/build-task-groups.yml, +# where the "max_hosts" setting must be set to the number of enabled tasks. +# Last but not least, make sure the corresponding test variants are enabled in .evergreen/config/test-variants.yml +tasks: + # TODO: Enable the following two builds once libmongoc 1.25.0 is released +# - name: "build-php-8.2-libmongoc-lowest-supported" +# tags: ["build-libmongoc", "php8.2"] +# commands: +# - func: "compile driver" +# vars: +# PHP_VERSION: "8.2" +# LIBMONGOC_VERSION: "1.25.0" +# - func: "upload build" + +# - name: "build-php-8.2-libmongoc-next-stable" +# tags: ["build-libmongoc", "php8.2"] +# commands: +# - func: "compile driver" +# vars: +# PHP_VERSION: "8.2" +# LIBMONGOC_VERSION: "r1.25" +# - func: "upload build" + + - name: "build-php-8.2-libmongoc-latest" + tags: ["build-libmongoc", "php8.2"] + commands: + - func: "compile driver" + vars: + PHP_VERSION: "8.2" + LIBMONGOC_VERSION: "master" + - func: "upload build" diff --git a/.evergreen/config/generated/build/build-php-7.4.yml b/.evergreen/config/generated/build/build-php-7.4.yml new file mode 100644 index 000000000..25f33e324 --- /dev/null +++ b/.evergreen/config/generated/build/build-php-7.4.yml @@ -0,0 +1,9 @@ +# This file is generated automatically - please edit the "templates/build/build-php.yml" template file instead. +tasks: + - name: "build-php-7.4" + tags: ["build", "php7.4"] + commands: + - func: "compile driver" + vars: + PHP_VERSION: "7.4" + - func: "upload build" diff --git a/.evergreen/config/generated/build/build-php-8.0.yml b/.evergreen/config/generated/build/build-php-8.0.yml new file mode 100644 index 000000000..08eefbbc2 --- /dev/null +++ b/.evergreen/config/generated/build/build-php-8.0.yml @@ -0,0 +1,9 @@ +# This file is generated automatically - please edit the "templates/build/build-php.yml" template file instead. +tasks: + - name: "build-php-8.0" + tags: ["build", "php8.0"] + commands: + - func: "compile driver" + vars: + PHP_VERSION: "8.0" + - func: "upload build" diff --git a/.evergreen/config/generated/build/build-php-8.1.yml b/.evergreen/config/generated/build/build-php-8.1.yml new file mode 100644 index 000000000..a3b09820c --- /dev/null +++ b/.evergreen/config/generated/build/build-php-8.1.yml @@ -0,0 +1,9 @@ +# This file is generated automatically - please edit the "templates/build/build-php.yml" template file instead. +tasks: + - name: "build-php-8.1" + tags: ["build", "php8.1"] + commands: + - func: "compile driver" + vars: + PHP_VERSION: "8.1" + - func: "upload build" diff --git a/.evergreen/config/generated/build/build-php-8.2.yml b/.evergreen/config/generated/build/build-php-8.2.yml new file mode 100644 index 000000000..5ac6da211 --- /dev/null +++ b/.evergreen/config/generated/build/build-php-8.2.yml @@ -0,0 +1,9 @@ +# This file is generated automatically - please edit the "templates/build/build-php.yml" template file instead. +tasks: + - name: "build-php-8.2" + tags: ["build", "php8.2"] + commands: + - func: "compile driver" + vars: + PHP_VERSION: "8.2" + - func: "upload build" diff --git a/.evergreen/config/generated/test/load-balanced-5.0.yml b/.evergreen/config/generated/test/load-balanced-5.0.yml new file mode 100644 index 000000000..8d957d383 --- /dev/null +++ b/.evergreen/config/generated/test/load-balanced-5.0.yml @@ -0,0 +1,16 @@ +# This file is generated automatically - please edit the "templates/test/load-balanced.yml" template file instead. +tasks: + - name: "test-mongodb-5.0-loadbalanced" + tags: ["loadbalanced", "local", "5.0"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "sharded_cluster" + MONGODB_VERSION: "5.0" + LOAD_BALANCER: "true" + SSL: "yes" + - func: "start load balancer" + - func: "run tests" + vars: + MONGODB_URI: "${SINGLE_MONGOS_LB_URI}" + SSL: "yes" diff --git a/.evergreen/config/generated/test/load-balanced-6.0.yml b/.evergreen/config/generated/test/load-balanced-6.0.yml new file mode 100644 index 000000000..236a5c77a --- /dev/null +++ b/.evergreen/config/generated/test/load-balanced-6.0.yml @@ -0,0 +1,16 @@ +# This file is generated automatically - please edit the "templates/test/load-balanced.yml" template file instead. +tasks: + - name: "test-mongodb-6.0-loadbalanced" + tags: ["loadbalanced", "local", "6.0"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "sharded_cluster" + MONGODB_VERSION: "6.0" + LOAD_BALANCER: "true" + SSL: "yes" + - func: "start load balancer" + - func: "run tests" + vars: + MONGODB_URI: "${SINGLE_MONGOS_LB_URI}" + SSL: "yes" diff --git a/.evergreen/config/generated/test/load-balanced-7.0.yml b/.evergreen/config/generated/test/load-balanced-7.0.yml new file mode 100644 index 000000000..aa58aa552 --- /dev/null +++ b/.evergreen/config/generated/test/load-balanced-7.0.yml @@ -0,0 +1,16 @@ +# This file is generated automatically - please edit the "templates/test/load-balanced.yml" template file instead. +tasks: + - name: "test-mongodb-7.0-loadbalanced" + tags: ["loadbalanced", "local", "7.0"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "sharded_cluster" + MONGODB_VERSION: "7.0" + LOAD_BALANCER: "true" + SSL: "yes" + - func: "start load balancer" + - func: "run tests" + vars: + MONGODB_URI: "${SINGLE_MONGOS_LB_URI}" + SSL: "yes" diff --git a/.evergreen/config/generated/test/load-balanced-latest.yml b/.evergreen/config/generated/test/load-balanced-latest.yml new file mode 100644 index 000000000..626c85eb2 --- /dev/null +++ b/.evergreen/config/generated/test/load-balanced-latest.yml @@ -0,0 +1,16 @@ +# This file is generated automatically - please edit the "templates/test/load-balanced.yml" template file instead. +tasks: + - name: "test-mongodb-latest-loadbalanced" + tags: ["loadbalanced", "local", "latest"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "sharded_cluster" + MONGODB_VERSION: "latest" + LOAD_BALANCER: "true" + SSL: "yes" + - func: "start load balancer" + - func: "run tests" + vars: + MONGODB_URI: "${SINGLE_MONGOS_LB_URI}" + SSL: "yes" diff --git a/.evergreen/config/generated/test/load-balanced-rapid.yml b/.evergreen/config/generated/test/load-balanced-rapid.yml new file mode 100644 index 000000000..bae27c779 --- /dev/null +++ b/.evergreen/config/generated/test/load-balanced-rapid.yml @@ -0,0 +1,16 @@ +# This file is generated automatically - please edit the "templates/test/load-balanced.yml" template file instead. +tasks: + - name: "test-mongodb-rapid-loadbalanced" + tags: ["loadbalanced", "local", "rapid"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "sharded_cluster" + MONGODB_VERSION: "rapid" + LOAD_BALANCER: "true" + SSL: "yes" + - func: "start load balancer" + - func: "run tests" + vars: + MONGODB_URI: "${SINGLE_MONGOS_LB_URI}" + SSL: "yes" diff --git a/.evergreen/config/generated/test/local-3.6.yml b/.evergreen/config/generated/test/local-3.6.yml new file mode 100644 index 000000000..eec31f7bd --- /dev/null +++ b/.evergreen/config/generated/test/local-3.6.yml @@ -0,0 +1,60 @@ +# This file is generated automatically - please edit the "templates/test/local.yml" template file instead. +tasks: + - name: "test-mongodb-3.6-standalone-noauth-nossl" + tags: ["standalone", "local", "3.6"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "server" + MONGODB_VERSION: "3.6" + - func: "run tests" + + - name: "test-mongodb-3.6-standalone-auth" + tags: ["standalone", "local", "3.6", "auth"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "server" + AUTH: "auth" + MONGODB_VERSION: "3.6" + - func: "run tests" + + - name: "test-mongodb-3.6-standalone-ssl" + tags: ["standalone", "local", "3.6", "ssl"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "server" + SSL: "yes" + MONGODB_VERSION: "3.6" + - func: "run tests" + vars: + SSL: "yes" + + - name: "test-mongodb-3.6-replicaset-noauth-nossl" + tags: ["replicaset", "local", "3.6"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "replica_set" + MONGODB_VERSION: "3.6" + - func: "run tests" + + - name: "test-mongodb-3.6-replicaset-auth" + tags: ["replicaset", "local", "3.6", "auth"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "replica_set" + AUTH: "auth" + MONGODB_VERSION: "3.6" + - func: "run tests" + + - name: "test-mongodb-3.6-sharded-noauth-nossl" + tags: ["sharded", "local", "3.6"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "sharded_cluster" + MONGODB_VERSION: "3.6" + - func: "run tests" diff --git a/.evergreen/config/generated/test/local-4.0.yml b/.evergreen/config/generated/test/local-4.0.yml new file mode 100644 index 000000000..1ed849111 --- /dev/null +++ b/.evergreen/config/generated/test/local-4.0.yml @@ -0,0 +1,60 @@ +# This file is generated automatically - please edit the "templates/test/local.yml" template file instead. +tasks: + - name: "test-mongodb-4.0-standalone-noauth-nossl" + tags: ["standalone", "local", "4.0"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "server" + MONGODB_VERSION: "4.0" + - func: "run tests" + + - name: "test-mongodb-4.0-standalone-auth" + tags: ["standalone", "local", "4.0", "auth"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "server" + AUTH: "auth" + MONGODB_VERSION: "4.0" + - func: "run tests" + + - name: "test-mongodb-4.0-standalone-ssl" + tags: ["standalone", "local", "4.0", "ssl"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "server" + SSL: "yes" + MONGODB_VERSION: "4.0" + - func: "run tests" + vars: + SSL: "yes" + + - name: "test-mongodb-4.0-replicaset-noauth-nossl" + tags: ["replicaset", "local", "4.0"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "replica_set" + MONGODB_VERSION: "4.0" + - func: "run tests" + + - name: "test-mongodb-4.0-replicaset-auth" + tags: ["replicaset", "local", "4.0", "auth"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "replica_set" + AUTH: "auth" + MONGODB_VERSION: "4.0" + - func: "run tests" + + - name: "test-mongodb-4.0-sharded-noauth-nossl" + tags: ["sharded", "local", "4.0"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "sharded_cluster" + MONGODB_VERSION: "4.0" + - func: "run tests" diff --git a/.evergreen/config/generated/test/local-4.2.yml b/.evergreen/config/generated/test/local-4.2.yml new file mode 100644 index 000000000..0c690e4bc --- /dev/null +++ b/.evergreen/config/generated/test/local-4.2.yml @@ -0,0 +1,60 @@ +# This file is generated automatically - please edit the "templates/test/local.yml" template file instead. +tasks: + - name: "test-mongodb-4.2-standalone-noauth-nossl" + tags: ["standalone", "local", "4.2"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "server" + MONGODB_VERSION: "4.2" + - func: "run tests" + + - name: "test-mongodb-4.2-standalone-auth" + tags: ["standalone", "local", "4.2", "auth"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "server" + AUTH: "auth" + MONGODB_VERSION: "4.2" + - func: "run tests" + + - name: "test-mongodb-4.2-standalone-ssl" + tags: ["standalone", "local", "4.2", "ssl"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "server" + SSL: "yes" + MONGODB_VERSION: "4.2" + - func: "run tests" + vars: + SSL: "yes" + + - name: "test-mongodb-4.2-replicaset-noauth-nossl" + tags: ["replicaset", "local", "4.2"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "replica_set" + MONGODB_VERSION: "4.2" + - func: "run tests" + + - name: "test-mongodb-4.2-replicaset-auth" + tags: ["replicaset", "local", "4.2", "auth"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "replica_set" + AUTH: "auth" + MONGODB_VERSION: "4.2" + - func: "run tests" + + - name: "test-mongodb-4.2-sharded-noauth-nossl" + tags: ["sharded", "local", "4.2"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "sharded_cluster" + MONGODB_VERSION: "4.2" + - func: "run tests" diff --git a/.evergreen/config/generated/test/local-4.4.yml b/.evergreen/config/generated/test/local-4.4.yml new file mode 100644 index 000000000..081e09ee2 --- /dev/null +++ b/.evergreen/config/generated/test/local-4.4.yml @@ -0,0 +1,60 @@ +# This file is generated automatically - please edit the "templates/test/local.yml" template file instead. +tasks: + - name: "test-mongodb-4.4-standalone-noauth-nossl" + tags: ["standalone", "local", "4.4"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "server" + MONGODB_VERSION: "4.4" + - func: "run tests" + + - name: "test-mongodb-4.4-standalone-auth" + tags: ["standalone", "local", "4.4", "auth"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "server" + AUTH: "auth" + MONGODB_VERSION: "4.4" + - func: "run tests" + + - name: "test-mongodb-4.4-standalone-ssl" + tags: ["standalone", "local", "4.4", "ssl"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "server" + SSL: "yes" + MONGODB_VERSION: "4.4" + - func: "run tests" + vars: + SSL: "yes" + + - name: "test-mongodb-4.4-replicaset-noauth-nossl" + tags: ["replicaset", "local", "4.4"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "replica_set" + MONGODB_VERSION: "4.4" + - func: "run tests" + + - name: "test-mongodb-4.4-replicaset-auth" + tags: ["replicaset", "local", "4.4", "auth"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "replica_set" + AUTH: "auth" + MONGODB_VERSION: "4.4" + - func: "run tests" + + - name: "test-mongodb-4.4-sharded-noauth-nossl" + tags: ["sharded", "local", "4.4"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "sharded_cluster" + MONGODB_VERSION: "4.4" + - func: "run tests" diff --git a/.evergreen/config/generated/test/local-5.0.yml b/.evergreen/config/generated/test/local-5.0.yml new file mode 100644 index 000000000..80b8f8533 --- /dev/null +++ b/.evergreen/config/generated/test/local-5.0.yml @@ -0,0 +1,60 @@ +# This file is generated automatically - please edit the "templates/test/local.yml" template file instead. +tasks: + - name: "test-mongodb-5.0-standalone-noauth-nossl" + tags: ["standalone", "local", "5.0"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "server" + MONGODB_VERSION: "5.0" + - func: "run tests" + + - name: "test-mongodb-5.0-standalone-auth" + tags: ["standalone", "local", "5.0", "auth"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "server" + AUTH: "auth" + MONGODB_VERSION: "5.0" + - func: "run tests" + + - name: "test-mongodb-5.0-standalone-ssl" + tags: ["standalone", "local", "5.0", "ssl"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "server" + SSL: "yes" + MONGODB_VERSION: "5.0" + - func: "run tests" + vars: + SSL: "yes" + + - name: "test-mongodb-5.0-replicaset-noauth-nossl" + tags: ["replicaset", "local", "5.0"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "replica_set" + MONGODB_VERSION: "5.0" + - func: "run tests" + + - name: "test-mongodb-5.0-replicaset-auth" + tags: ["replicaset", "local", "5.0", "auth"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "replica_set" + AUTH: "auth" + MONGODB_VERSION: "5.0" + - func: "run tests" + + - name: "test-mongodb-5.0-sharded-noauth-nossl" + tags: ["sharded", "local", "5.0"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "sharded_cluster" + MONGODB_VERSION: "5.0" + - func: "run tests" diff --git a/.evergreen/config/generated/test/local-6.0.yml b/.evergreen/config/generated/test/local-6.0.yml new file mode 100644 index 000000000..a9be6fb98 --- /dev/null +++ b/.evergreen/config/generated/test/local-6.0.yml @@ -0,0 +1,60 @@ +# This file is generated automatically - please edit the "templates/test/local.yml" template file instead. +tasks: + - name: "test-mongodb-6.0-standalone-noauth-nossl" + tags: ["standalone", "local", "6.0"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "server" + MONGODB_VERSION: "6.0" + - func: "run tests" + + - name: "test-mongodb-6.0-standalone-auth" + tags: ["standalone", "local", "6.0", "auth"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "server" + AUTH: "auth" + MONGODB_VERSION: "6.0" + - func: "run tests" + + - name: "test-mongodb-6.0-standalone-ssl" + tags: ["standalone", "local", "6.0", "ssl"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "server" + SSL: "yes" + MONGODB_VERSION: "6.0" + - func: "run tests" + vars: + SSL: "yes" + + - name: "test-mongodb-6.0-replicaset-noauth-nossl" + tags: ["replicaset", "local", "6.0"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "replica_set" + MONGODB_VERSION: "6.0" + - func: "run tests" + + - name: "test-mongodb-6.0-replicaset-auth" + tags: ["replicaset", "local", "6.0", "auth"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "replica_set" + AUTH: "auth" + MONGODB_VERSION: "6.0" + - func: "run tests" + + - name: "test-mongodb-6.0-sharded-noauth-nossl" + tags: ["sharded", "local", "6.0"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "sharded_cluster" + MONGODB_VERSION: "6.0" + - func: "run tests" diff --git a/.evergreen/config/generated/test/local-7.0.yml b/.evergreen/config/generated/test/local-7.0.yml new file mode 100644 index 000000000..354723d6a --- /dev/null +++ b/.evergreen/config/generated/test/local-7.0.yml @@ -0,0 +1,60 @@ +# This file is generated automatically - please edit the "templates/test/local.yml" template file instead. +tasks: + - name: "test-mongodb-7.0-standalone-noauth-nossl" + tags: ["standalone", "local", "7.0"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "server" + MONGODB_VERSION: "7.0" + - func: "run tests" + + - name: "test-mongodb-7.0-standalone-auth" + tags: ["standalone", "local", "7.0", "auth"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "server" + AUTH: "auth" + MONGODB_VERSION: "7.0" + - func: "run tests" + + - name: "test-mongodb-7.0-standalone-ssl" + tags: ["standalone", "local", "7.0", "ssl"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "server" + SSL: "yes" + MONGODB_VERSION: "7.0" + - func: "run tests" + vars: + SSL: "yes" + + - name: "test-mongodb-7.0-replicaset-noauth-nossl" + tags: ["replicaset", "local", "7.0"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "replica_set" + MONGODB_VERSION: "7.0" + - func: "run tests" + + - name: "test-mongodb-7.0-replicaset-auth" + tags: ["replicaset", "local", "7.0", "auth"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "replica_set" + AUTH: "auth" + MONGODB_VERSION: "7.0" + - func: "run tests" + + - name: "test-mongodb-7.0-sharded-noauth-nossl" + tags: ["sharded", "local", "7.0"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "sharded_cluster" + MONGODB_VERSION: "7.0" + - func: "run tests" diff --git a/.evergreen/config/generated/test/local-latest.yml b/.evergreen/config/generated/test/local-latest.yml new file mode 100644 index 000000000..192fb6606 --- /dev/null +++ b/.evergreen/config/generated/test/local-latest.yml @@ -0,0 +1,60 @@ +# This file is generated automatically - please edit the "templates/test/local.yml" template file instead. +tasks: + - name: "test-mongodb-latest-standalone-noauth-nossl" + tags: ["standalone", "local", "latest"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "server" + MONGODB_VERSION: "latest" + - func: "run tests" + + - name: "test-mongodb-latest-standalone-auth" + tags: ["standalone", "local", "latest", "auth"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "server" + AUTH: "auth" + MONGODB_VERSION: "latest" + - func: "run tests" + + - name: "test-mongodb-latest-standalone-ssl" + tags: ["standalone", "local", "latest", "ssl"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "server" + SSL: "yes" + MONGODB_VERSION: "latest" + - func: "run tests" + vars: + SSL: "yes" + + - name: "test-mongodb-latest-replicaset-noauth-nossl" + tags: ["replicaset", "local", "latest"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "replica_set" + MONGODB_VERSION: "latest" + - func: "run tests" + + - name: "test-mongodb-latest-replicaset-auth" + tags: ["replicaset", "local", "latest", "auth"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "replica_set" + AUTH: "auth" + MONGODB_VERSION: "latest" + - func: "run tests" + + - name: "test-mongodb-latest-sharded-noauth-nossl" + tags: ["sharded", "local", "latest"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "sharded_cluster" + MONGODB_VERSION: "latest" + - func: "run tests" diff --git a/.evergreen/config/generated/test/local-rapid.yml b/.evergreen/config/generated/test/local-rapid.yml new file mode 100644 index 000000000..ed82b3527 --- /dev/null +++ b/.evergreen/config/generated/test/local-rapid.yml @@ -0,0 +1,60 @@ +# This file is generated automatically - please edit the "templates/test/local.yml" template file instead. +tasks: + - name: "test-mongodb-rapid-standalone-noauth-nossl" + tags: ["standalone", "local", "rapid"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "server" + MONGODB_VERSION: "rapid" + - func: "run tests" + + - name: "test-mongodb-rapid-standalone-auth" + tags: ["standalone", "local", "rapid", "auth"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "server" + AUTH: "auth" + MONGODB_VERSION: "rapid" + - func: "run tests" + + - name: "test-mongodb-rapid-standalone-ssl" + tags: ["standalone", "local", "rapid", "ssl"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "server" + SSL: "yes" + MONGODB_VERSION: "rapid" + - func: "run tests" + vars: + SSL: "yes" + + - name: "test-mongodb-rapid-replicaset-noauth-nossl" + tags: ["replicaset", "local", "rapid"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "replica_set" + MONGODB_VERSION: "rapid" + - func: "run tests" + + - name: "test-mongodb-rapid-replicaset-auth" + tags: ["replicaset", "local", "rapid", "auth"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "replica_set" + AUTH: "auth" + MONGODB_VERSION: "rapid" + - func: "run tests" + + - name: "test-mongodb-rapid-sharded-noauth-nossl" + tags: ["sharded", "local", "rapid"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "sharded_cluster" + MONGODB_VERSION: "rapid" + - func: "run tests" diff --git a/.evergreen/config/generated/test/ocsp-4.4.yml b/.evergreen/config/generated/test/ocsp-4.4.yml new file mode 100644 index 000000000..07809715b --- /dev/null +++ b/.evergreen/config/generated/test/ocsp-4.4.yml @@ -0,0 +1,413 @@ +# This file is generated automatically - please edit the "templates/test/ocsp.yml" template file instead. +tasks: + - name: "ocsp-test_1-rsa-delegate-4.4" + tags: ["ocsp", "4.4"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_1" + CERT_TYPE: "rsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "4.4" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_1-ecdsa-delegate-4.4" + tags: ["ocsp", "4.4"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_1" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "4.4" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-test_1-rsa-nodelegate-4.4" + tags: ["ocsp", "4.4"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_1" + CERT_TYPE: "rsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "4.4" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_1-ecdsa-nodelegate-4.4" + tags: ["ocsp", "4.4"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_1" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "4.4" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-test_2-rsa-delegate-4.4" + tags: ["ocsp", "4.4"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_2" + CERT_TYPE: "rsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "4.4" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_2-ecdsa-delegate-4.4" + tags: ["ocsp", "4.4"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_2" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "4.4" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-test_2-rsa-nodelegate-4.4" + tags: ["ocsp", "4.4"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_2" + CERT_TYPE: "rsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "4.4" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_2-ecdsa-nodelegate-4.4" + tags: ["ocsp", "4.4"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_2" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "4.4" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-test_3-rsa-delegate-4.4" + tags: ["ocsp", "4.4"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_3" + CERT_TYPE: "rsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "4.4" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_3-ecdsa-delegate-4.4" + tags: ["ocsp", "4.4"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_3" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "4.4" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-test_3-rsa-nodelegate-4.4" + tags: ["ocsp", "4.4"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_3" + CERT_TYPE: "rsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "4.4" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_3-ecdsa-nodelegate-4.4" + tags: ["ocsp", "4.4"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_3" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "4.4" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-test_4-rsa-delegate-4.4" + tags: ["ocsp", "4.4"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_4" + CERT_TYPE: "rsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "4.4" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_4-ecdsa-delegate-4.4" + tags: ["ocsp", "4.4"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_4" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "4.4" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-test_4-rsa-nodelegate-4.4" + tags: ["ocsp", "4.4"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_4" + CERT_TYPE: "rsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "4.4" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_4-ecdsa-nodelegate-4.4" + tags: ["ocsp", "4.4"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_4" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "4.4" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-soft_fail_test-rsa-4.4" + tags: ["ocsp", "4.4"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "4.4" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-soft_fail_test-ecdsa-4.4" + tags: ["ocsp", "4.4"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "4.4" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-malicious_server_test_1-rsa-delegate-4.4" + tags: ["ocsp", "4.4"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "MALICIOUS_SERVER_TEST_1" + CERT_TYPE: "rsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "4.4" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-malicious_server_test_1-ecdsa-delegate-4.4" + tags: ["ocsp", "4.4"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "MALICIOUS_SERVER_TEST_1" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "4.4" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-malicious_server_test_1-rsa-nodelegate-4.4" + tags: ["ocsp", "4.4"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "MALICIOUS_SERVER_TEST_1" + CERT_TYPE: "rsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "4.4" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-malicious_server_test_1-ecdsa-nodelegate-4.4" + tags: ["ocsp", "4.4"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "MALICIOUS_SERVER_TEST_1" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "4.4" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-malicious_server_test_2-rsa-4.4" + tags: ["ocsp", "4.4"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "4.4" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-malicious_server_test_2-ecdsa-4.4" + tags: ["ocsp", "4.4"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "4.4" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" diff --git a/.evergreen/config/generated/test/ocsp-5.0.yml b/.evergreen/config/generated/test/ocsp-5.0.yml new file mode 100644 index 000000000..38ecb5688 --- /dev/null +++ b/.evergreen/config/generated/test/ocsp-5.0.yml @@ -0,0 +1,413 @@ +# This file is generated automatically - please edit the "templates/test/ocsp.yml" template file instead. +tasks: + - name: "ocsp-test_1-rsa-delegate-5.0" + tags: ["ocsp", "5.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_1" + CERT_TYPE: "rsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "5.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_1-ecdsa-delegate-5.0" + tags: ["ocsp", "5.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_1" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "5.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-test_1-rsa-nodelegate-5.0" + tags: ["ocsp", "5.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_1" + CERT_TYPE: "rsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "5.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_1-ecdsa-nodelegate-5.0" + tags: ["ocsp", "5.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_1" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "5.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-test_2-rsa-delegate-5.0" + tags: ["ocsp", "5.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_2" + CERT_TYPE: "rsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "5.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_2-ecdsa-delegate-5.0" + tags: ["ocsp", "5.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_2" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "5.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-test_2-rsa-nodelegate-5.0" + tags: ["ocsp", "5.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_2" + CERT_TYPE: "rsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "5.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_2-ecdsa-nodelegate-5.0" + tags: ["ocsp", "5.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_2" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "5.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-test_3-rsa-delegate-5.0" + tags: ["ocsp", "5.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_3" + CERT_TYPE: "rsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "5.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_3-ecdsa-delegate-5.0" + tags: ["ocsp", "5.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_3" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "5.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-test_3-rsa-nodelegate-5.0" + tags: ["ocsp", "5.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_3" + CERT_TYPE: "rsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "5.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_3-ecdsa-nodelegate-5.0" + tags: ["ocsp", "5.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_3" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "5.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-test_4-rsa-delegate-5.0" + tags: ["ocsp", "5.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_4" + CERT_TYPE: "rsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "5.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_4-ecdsa-delegate-5.0" + tags: ["ocsp", "5.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_4" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "5.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-test_4-rsa-nodelegate-5.0" + tags: ["ocsp", "5.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_4" + CERT_TYPE: "rsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "5.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_4-ecdsa-nodelegate-5.0" + tags: ["ocsp", "5.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_4" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "5.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-soft_fail_test-rsa-5.0" + tags: ["ocsp", "5.0"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "5.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-soft_fail_test-ecdsa-5.0" + tags: ["ocsp", "5.0"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "5.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-malicious_server_test_1-rsa-delegate-5.0" + tags: ["ocsp", "5.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "MALICIOUS_SERVER_TEST_1" + CERT_TYPE: "rsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "5.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-malicious_server_test_1-ecdsa-delegate-5.0" + tags: ["ocsp", "5.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "MALICIOUS_SERVER_TEST_1" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "5.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-malicious_server_test_1-rsa-nodelegate-5.0" + tags: ["ocsp", "5.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "MALICIOUS_SERVER_TEST_1" + CERT_TYPE: "rsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "5.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-malicious_server_test_1-ecdsa-nodelegate-5.0" + tags: ["ocsp", "5.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "MALICIOUS_SERVER_TEST_1" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "5.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-malicious_server_test_2-rsa-5.0" + tags: ["ocsp", "5.0"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "5.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-malicious_server_test_2-ecdsa-5.0" + tags: ["ocsp", "5.0"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "5.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" diff --git a/.evergreen/config/generated/test/ocsp-6.0.yml b/.evergreen/config/generated/test/ocsp-6.0.yml new file mode 100644 index 000000000..ee41b63b5 --- /dev/null +++ b/.evergreen/config/generated/test/ocsp-6.0.yml @@ -0,0 +1,413 @@ +# This file is generated automatically - please edit the "templates/test/ocsp.yml" template file instead. +tasks: + - name: "ocsp-test_1-rsa-delegate-6.0" + tags: ["ocsp", "6.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_1" + CERT_TYPE: "rsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "6.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_1-ecdsa-delegate-6.0" + tags: ["ocsp", "6.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_1" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "6.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-test_1-rsa-nodelegate-6.0" + tags: ["ocsp", "6.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_1" + CERT_TYPE: "rsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "6.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_1-ecdsa-nodelegate-6.0" + tags: ["ocsp", "6.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_1" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "6.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-test_2-rsa-delegate-6.0" + tags: ["ocsp", "6.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_2" + CERT_TYPE: "rsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "6.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_2-ecdsa-delegate-6.0" + tags: ["ocsp", "6.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_2" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "6.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-test_2-rsa-nodelegate-6.0" + tags: ["ocsp", "6.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_2" + CERT_TYPE: "rsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "6.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_2-ecdsa-nodelegate-6.0" + tags: ["ocsp", "6.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_2" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "6.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-test_3-rsa-delegate-6.0" + tags: ["ocsp", "6.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_3" + CERT_TYPE: "rsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "6.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_3-ecdsa-delegate-6.0" + tags: ["ocsp", "6.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_3" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "6.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-test_3-rsa-nodelegate-6.0" + tags: ["ocsp", "6.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_3" + CERT_TYPE: "rsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "6.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_3-ecdsa-nodelegate-6.0" + tags: ["ocsp", "6.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_3" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "6.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-test_4-rsa-delegate-6.0" + tags: ["ocsp", "6.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_4" + CERT_TYPE: "rsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "6.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_4-ecdsa-delegate-6.0" + tags: ["ocsp", "6.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_4" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "6.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-test_4-rsa-nodelegate-6.0" + tags: ["ocsp", "6.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_4" + CERT_TYPE: "rsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "6.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_4-ecdsa-nodelegate-6.0" + tags: ["ocsp", "6.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_4" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "6.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-soft_fail_test-rsa-6.0" + tags: ["ocsp", "6.0"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "6.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-soft_fail_test-ecdsa-6.0" + tags: ["ocsp", "6.0"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "6.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-malicious_server_test_1-rsa-delegate-6.0" + tags: ["ocsp", "6.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "MALICIOUS_SERVER_TEST_1" + CERT_TYPE: "rsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "6.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-malicious_server_test_1-ecdsa-delegate-6.0" + tags: ["ocsp", "6.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "MALICIOUS_SERVER_TEST_1" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "6.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-malicious_server_test_1-rsa-nodelegate-6.0" + tags: ["ocsp", "6.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "MALICIOUS_SERVER_TEST_1" + CERT_TYPE: "rsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "6.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-malicious_server_test_1-ecdsa-nodelegate-6.0" + tags: ["ocsp", "6.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "MALICIOUS_SERVER_TEST_1" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "6.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-malicious_server_test_2-rsa-6.0" + tags: ["ocsp", "6.0"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "6.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-malicious_server_test_2-ecdsa-6.0" + tags: ["ocsp", "6.0"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "6.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" diff --git a/.evergreen/config/generated/test/ocsp-7.0.yml b/.evergreen/config/generated/test/ocsp-7.0.yml new file mode 100644 index 000000000..0d9515119 --- /dev/null +++ b/.evergreen/config/generated/test/ocsp-7.0.yml @@ -0,0 +1,413 @@ +# This file is generated automatically - please edit the "templates/test/ocsp.yml" template file instead. +tasks: + - name: "ocsp-test_1-rsa-delegate-7.0" + tags: ["ocsp", "7.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_1" + CERT_TYPE: "rsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "7.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_1-ecdsa-delegate-7.0" + tags: ["ocsp", "7.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_1" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "7.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-test_1-rsa-nodelegate-7.0" + tags: ["ocsp", "7.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_1" + CERT_TYPE: "rsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "7.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_1-ecdsa-nodelegate-7.0" + tags: ["ocsp", "7.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_1" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "7.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-test_2-rsa-delegate-7.0" + tags: ["ocsp", "7.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_2" + CERT_TYPE: "rsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "7.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_2-ecdsa-delegate-7.0" + tags: ["ocsp", "7.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_2" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "7.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-test_2-rsa-nodelegate-7.0" + tags: ["ocsp", "7.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_2" + CERT_TYPE: "rsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "7.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_2-ecdsa-nodelegate-7.0" + tags: ["ocsp", "7.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_2" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "7.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-test_3-rsa-delegate-7.0" + tags: ["ocsp", "7.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_3" + CERT_TYPE: "rsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "7.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_3-ecdsa-delegate-7.0" + tags: ["ocsp", "7.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_3" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "7.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-test_3-rsa-nodelegate-7.0" + tags: ["ocsp", "7.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_3" + CERT_TYPE: "rsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "7.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_3-ecdsa-nodelegate-7.0" + tags: ["ocsp", "7.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_3" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "7.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-test_4-rsa-delegate-7.0" + tags: ["ocsp", "7.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_4" + CERT_TYPE: "rsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "7.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_4-ecdsa-delegate-7.0" + tags: ["ocsp", "7.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_4" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "7.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-test_4-rsa-nodelegate-7.0" + tags: ["ocsp", "7.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_4" + CERT_TYPE: "rsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "7.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_4-ecdsa-nodelegate-7.0" + tags: ["ocsp", "7.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_4" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "7.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-soft_fail_test-rsa-7.0" + tags: ["ocsp", "7.0"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "7.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-soft_fail_test-ecdsa-7.0" + tags: ["ocsp", "7.0"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "7.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-malicious_server_test_1-rsa-delegate-7.0" + tags: ["ocsp", "7.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "MALICIOUS_SERVER_TEST_1" + CERT_TYPE: "rsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "7.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-malicious_server_test_1-ecdsa-delegate-7.0" + tags: ["ocsp", "7.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "MALICIOUS_SERVER_TEST_1" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "7.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-malicious_server_test_1-rsa-nodelegate-7.0" + tags: ["ocsp", "7.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "MALICIOUS_SERVER_TEST_1" + CERT_TYPE: "rsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "7.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-malicious_server_test_1-ecdsa-nodelegate-7.0" + tags: ["ocsp", "7.0"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "MALICIOUS_SERVER_TEST_1" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "7.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-malicious_server_test_2-rsa-7.0" + tags: ["ocsp", "7.0"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "7.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-malicious_server_test_2-ecdsa-7.0" + tags: ["ocsp", "7.0"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "7.0" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" diff --git a/.evergreen/config/generated/test/ocsp-latest.yml b/.evergreen/config/generated/test/ocsp-latest.yml new file mode 100644 index 000000000..7143fae35 --- /dev/null +++ b/.evergreen/config/generated/test/ocsp-latest.yml @@ -0,0 +1,413 @@ +# This file is generated automatically - please edit the "templates/test/ocsp.yml" template file instead. +tasks: + - name: "ocsp-test_1-rsa-delegate-latest" + tags: ["ocsp", "latest"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_1" + CERT_TYPE: "rsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "latest" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_1-ecdsa-delegate-latest" + tags: ["ocsp", "latest"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_1" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "latest" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-test_1-rsa-nodelegate-latest" + tags: ["ocsp", "latest"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_1" + CERT_TYPE: "rsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "latest" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_1-ecdsa-nodelegate-latest" + tags: ["ocsp", "latest"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_1" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "latest" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-test_2-rsa-delegate-latest" + tags: ["ocsp", "latest"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_2" + CERT_TYPE: "rsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "latest" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_2-ecdsa-delegate-latest" + tags: ["ocsp", "latest"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_2" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "latest" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-test_2-rsa-nodelegate-latest" + tags: ["ocsp", "latest"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_2" + CERT_TYPE: "rsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "latest" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_2-ecdsa-nodelegate-latest" + tags: ["ocsp", "latest"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_2" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "latest" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-test_3-rsa-delegate-latest" + tags: ["ocsp", "latest"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_3" + CERT_TYPE: "rsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "latest" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_3-ecdsa-delegate-latest" + tags: ["ocsp", "latest"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_3" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "latest" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-test_3-rsa-nodelegate-latest" + tags: ["ocsp", "latest"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_3" + CERT_TYPE: "rsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "latest" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_3-ecdsa-nodelegate-latest" + tags: ["ocsp", "latest"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_3" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "latest" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-test_4-rsa-delegate-latest" + tags: ["ocsp", "latest"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_4" + CERT_TYPE: "rsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "latest" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_4-ecdsa-delegate-latest" + tags: ["ocsp", "latest"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_4" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "latest" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-test_4-rsa-nodelegate-latest" + tags: ["ocsp", "latest"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_4" + CERT_TYPE: "rsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "latest" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_4-ecdsa-nodelegate-latest" + tags: ["ocsp", "latest"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_4" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "latest" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-soft_fail_test-rsa-latest" + tags: ["ocsp", "latest"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "latest" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-soft_fail_test-ecdsa-latest" + tags: ["ocsp", "latest"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "latest" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-malicious_server_test_1-rsa-delegate-latest" + tags: ["ocsp", "latest"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "MALICIOUS_SERVER_TEST_1" + CERT_TYPE: "rsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "latest" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-malicious_server_test_1-ecdsa-delegate-latest" + tags: ["ocsp", "latest"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "MALICIOUS_SERVER_TEST_1" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "latest" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-malicious_server_test_1-rsa-nodelegate-latest" + tags: ["ocsp", "latest"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "MALICIOUS_SERVER_TEST_1" + CERT_TYPE: "rsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "latest" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-malicious_server_test_1-ecdsa-nodelegate-latest" + tags: ["ocsp", "latest"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "MALICIOUS_SERVER_TEST_1" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "latest" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-malicious_server_test_2-rsa-latest" + tags: ["ocsp", "latest"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "latest" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-malicious_server_test_2-ecdsa-latest" + tags: ["ocsp", "latest"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "latest" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" diff --git a/.evergreen/config/generated/test/ocsp-rapid.yml b/.evergreen/config/generated/test/ocsp-rapid.yml new file mode 100644 index 000000000..e7a1a74d6 --- /dev/null +++ b/.evergreen/config/generated/test/ocsp-rapid.yml @@ -0,0 +1,413 @@ +# This file is generated automatically - please edit the "templates/test/ocsp.yml" template file instead. +tasks: + - name: "ocsp-test_1-rsa-delegate-rapid" + tags: ["ocsp", "rapid"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_1" + CERT_TYPE: "rsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "rapid" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_1-ecdsa-delegate-rapid" + tags: ["ocsp", "rapid"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_1" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "rapid" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-test_1-rsa-nodelegate-rapid" + tags: ["ocsp", "rapid"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_1" + CERT_TYPE: "rsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "rapid" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_1-ecdsa-nodelegate-rapid" + tags: ["ocsp", "rapid"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_1" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "rapid" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-test_2-rsa-delegate-rapid" + tags: ["ocsp", "rapid"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_2" + CERT_TYPE: "rsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "rapid" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_2-ecdsa-delegate-rapid" + tags: ["ocsp", "rapid"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_2" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "rapid" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-test_2-rsa-nodelegate-rapid" + tags: ["ocsp", "rapid"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_2" + CERT_TYPE: "rsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "rapid" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_2-ecdsa-nodelegate-rapid" + tags: ["ocsp", "rapid"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_2" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "rapid" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-test_3-rsa-delegate-rapid" + tags: ["ocsp", "rapid"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_3" + CERT_TYPE: "rsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "rapid" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_3-ecdsa-delegate-rapid" + tags: ["ocsp", "rapid"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_3" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "rapid" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-test_3-rsa-nodelegate-rapid" + tags: ["ocsp", "rapid"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_3" + CERT_TYPE: "rsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "rapid" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_3-ecdsa-nodelegate-rapid" + tags: ["ocsp", "rapid"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_3" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "rapid" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-test_4-rsa-delegate-rapid" + tags: ["ocsp", "rapid"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_4" + CERT_TYPE: "rsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "rapid" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_4-ecdsa-delegate-rapid" + tags: ["ocsp", "rapid"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_4" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "rapid" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-test_4-rsa-nodelegate-rapid" + tags: ["ocsp", "rapid"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_4" + CERT_TYPE: "rsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "rapid" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_4-ecdsa-nodelegate-rapid" + tags: ["ocsp", "rapid"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_4" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "rapid" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-soft_fail_test-rsa-rapid" + tags: ["ocsp", "rapid"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "rapid" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-soft_fail_test-ecdsa-rapid" + tags: ["ocsp", "rapid"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "rapid" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-malicious_server_test_1-rsa-delegate-rapid" + tags: ["ocsp", "rapid"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "MALICIOUS_SERVER_TEST_1" + CERT_TYPE: "rsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "rapid" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-malicious_server_test_1-ecdsa-delegate-rapid" + tags: ["ocsp", "rapid"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "MALICIOUS_SERVER_TEST_1" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "rapid" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-malicious_server_test_1-rsa-nodelegate-rapid" + tags: ["ocsp", "rapid"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "MALICIOUS_SERVER_TEST_1" + CERT_TYPE: "rsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "rapid" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-malicious_server_test_1-ecdsa-nodelegate-rapid" + tags: ["ocsp", "rapid"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "MALICIOUS_SERVER_TEST_1" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "rapid" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-malicious_server_test_2-rsa-rapid" + tags: ["ocsp", "rapid"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "rapid" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-malicious_server_test_2-ecdsa-rapid" + tags: ["ocsp", "rapid"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "rapid" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" diff --git a/.evergreen/config/generated/test/require-api-version-5.0.yml b/.evergreen/config/generated/test/require-api-version-5.0.yml new file mode 100644 index 000000000..903fbacaf --- /dev/null +++ b/.evergreen/config/generated/test/require-api-version-5.0.yml @@ -0,0 +1,14 @@ +# This file is generated automatically - please edit the "templates/test/require-api-version.yml" template file instead. +tasks: + - name: "test-requireApiVersion-5.0" + tags: [ "standalone", "local", "5.0", "versioned_api" ] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "server" + AUTH: "auth" + REQUIRE_API_VERSION: "yes" + MONGODB_VERSION: "5.0" + - func: "run tests" + vars: + API_VERSION: "1" diff --git a/.evergreen/config/generated/test/require-api-version-6.0.yml b/.evergreen/config/generated/test/require-api-version-6.0.yml new file mode 100644 index 000000000..30f7ae483 --- /dev/null +++ b/.evergreen/config/generated/test/require-api-version-6.0.yml @@ -0,0 +1,14 @@ +# This file is generated automatically - please edit the "templates/test/require-api-version.yml" template file instead. +tasks: + - name: "test-requireApiVersion-6.0" + tags: [ "standalone", "local", "6.0", "versioned_api" ] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "server" + AUTH: "auth" + REQUIRE_API_VERSION: "yes" + MONGODB_VERSION: "6.0" + - func: "run tests" + vars: + API_VERSION: "1" diff --git a/.evergreen/config/generated/test/require-api-version-7.0.yml b/.evergreen/config/generated/test/require-api-version-7.0.yml new file mode 100644 index 000000000..9a83ee346 --- /dev/null +++ b/.evergreen/config/generated/test/require-api-version-7.0.yml @@ -0,0 +1,14 @@ +# This file is generated automatically - please edit the "templates/test/require-api-version.yml" template file instead. +tasks: + - name: "test-requireApiVersion-7.0" + tags: [ "standalone", "local", "7.0", "versioned_api" ] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "server" + AUTH: "auth" + REQUIRE_API_VERSION: "yes" + MONGODB_VERSION: "7.0" + - func: "run tests" + vars: + API_VERSION: "1" diff --git a/.evergreen/config/generated/test/require-api-version-latest.yml b/.evergreen/config/generated/test/require-api-version-latest.yml new file mode 100644 index 000000000..16a07f156 --- /dev/null +++ b/.evergreen/config/generated/test/require-api-version-latest.yml @@ -0,0 +1,14 @@ +# This file is generated automatically - please edit the "templates/test/require-api-version.yml" template file instead. +tasks: + - name: "test-requireApiVersion-latest" + tags: [ "standalone", "local", "latest", "versioned_api" ] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "server" + AUTH: "auth" + REQUIRE_API_VERSION: "yes" + MONGODB_VERSION: "latest" + - func: "run tests" + vars: + API_VERSION: "1" diff --git a/.evergreen/config/generated/test/require-api-version-rapid.yml b/.evergreen/config/generated/test/require-api-version-rapid.yml new file mode 100644 index 000000000..abc74d406 --- /dev/null +++ b/.evergreen/config/generated/test/require-api-version-rapid.yml @@ -0,0 +1,14 @@ +# This file is generated automatically - please edit the "templates/test/require-api-version.yml" template file instead. +tasks: + - name: "test-requireApiVersion-rapid" + tags: [ "standalone", "local", "rapid", "versioned_api" ] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "server" + AUTH: "auth" + REQUIRE_API_VERSION: "yes" + MONGODB_VERSION: "rapid" + - func: "run tests" + vars: + API_VERSION: "1" diff --git a/.evergreen/config/generated/test/skip-crypt-shared-6.0.yml b/.evergreen/config/generated/test/skip-crypt-shared-6.0.yml new file mode 100644 index 000000000..e2e07bb8d --- /dev/null +++ b/.evergreen/config/generated/test/skip-crypt-shared-6.0.yml @@ -0,0 +1,12 @@ +# This file is generated automatically - please edit the "templates/test/skip-crypt-shared.yml" template file instead. +tasks: + - name: "test-skip_crypt_shared-6.0" + tags: [ "replicaset", "local", "6.0", "skip_crypt_shared" ] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "replica_set" + MONGODB_VERSION: "6.0" + - func: "run tests" + vars: + SKIP_CRYPT_SHARED: "yes" diff --git a/.evergreen/config/generated/test/skip-crypt-shared-7.0.yml b/.evergreen/config/generated/test/skip-crypt-shared-7.0.yml new file mode 100644 index 000000000..ad244fa84 --- /dev/null +++ b/.evergreen/config/generated/test/skip-crypt-shared-7.0.yml @@ -0,0 +1,12 @@ +# This file is generated automatically - please edit the "templates/test/skip-crypt-shared.yml" template file instead. +tasks: + - name: "test-skip_crypt_shared-7.0" + tags: [ "replicaset", "local", "7.0", "skip_crypt_shared" ] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "replica_set" + MONGODB_VERSION: "7.0" + - func: "run tests" + vars: + SKIP_CRYPT_SHARED: "yes" diff --git a/.evergreen/config/generated/test/skip-crypt-shared-latest.yml b/.evergreen/config/generated/test/skip-crypt-shared-latest.yml new file mode 100644 index 000000000..9f5c10eb9 --- /dev/null +++ b/.evergreen/config/generated/test/skip-crypt-shared-latest.yml @@ -0,0 +1,12 @@ +# This file is generated automatically - please edit the "templates/test/skip-crypt-shared.yml" template file instead. +tasks: + - name: "test-skip_crypt_shared-latest" + tags: [ "replicaset", "local", "latest", "skip_crypt_shared" ] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "replica_set" + MONGODB_VERSION: "latest" + - func: "run tests" + vars: + SKIP_CRYPT_SHARED: "yes" diff --git a/.evergreen/config/generated/test/skip-crypt-shared-rapid.yml b/.evergreen/config/generated/test/skip-crypt-shared-rapid.yml new file mode 100644 index 000000000..208ef05a3 --- /dev/null +++ b/.evergreen/config/generated/test/skip-crypt-shared-rapid.yml @@ -0,0 +1,12 @@ +# This file is generated automatically - please edit the "templates/test/skip-crypt-shared.yml" template file instead. +tasks: + - name: "test-skip_crypt_shared-rapid" + tags: [ "replicaset", "local", "rapid", "skip_crypt_shared" ] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "replica_set" + MONGODB_VERSION: "rapid" + - func: "run tests" + vars: + SKIP_CRYPT_SHARED: "yes" diff --git a/.evergreen/config/templates/build/build-libmongoc.yml b/.evergreen/config/templates/build/build-libmongoc.yml new file mode 100644 index 000000000..d5237272c --- /dev/null +++ b/.evergreen/config/templates/build/build-libmongoc.yml @@ -0,0 +1,34 @@ +# The following tasks are used to build with different libmongoc versions. +# If libmongoc is not set to a stable version, disable the first two builds and only leave the last one enabled. +# When updating libmongoc to a stable release, make sure all builds are enabled. +# These tasks are used in the build task group "build-php-libmongoc" defined in .evergreen/config/build-task-groups.yml, +# where the "max_hosts" setting must be set to the number of enabled tasks. +# Last but not least, make sure the corresponding test variants are enabled in .evergreen/config/test-variants.yml +tasks: + # TODO: Enable the following two builds once libmongoc 1.25.0 is released +# - name: "build-php-%phpVersion%-libmongoc-lowest-supported" +# tags: ["build-libmongoc", "php%phpVersion%"] +# commands: +# - func: "compile driver" +# vars: +# PHP_VERSION: "%phpVersion%" +# LIBMONGOC_VERSION: "1.25.0" +# - func: "upload build" + +# - name: "build-php-%phpVersion%-libmongoc-next-stable" +# tags: ["build-libmongoc", "php%phpVersion%"] +# commands: +# - func: "compile driver" +# vars: +# PHP_VERSION: "%phpVersion%" +# LIBMONGOC_VERSION: "r1.25" +# - func: "upload build" + + - name: "build-php-%phpVersion%-libmongoc-latest" + tags: ["build-libmongoc", "php%phpVersion%"] + commands: + - func: "compile driver" + vars: + PHP_VERSION: "%phpVersion%" + LIBMONGOC_VERSION: "master" + - func: "upload build" diff --git a/.evergreen/config/templates/build/build-php.yml b/.evergreen/config/templates/build/build-php.yml new file mode 100644 index 000000000..3cc65caeb --- /dev/null +++ b/.evergreen/config/templates/build/build-php.yml @@ -0,0 +1,8 @@ +tasks: + - name: "build-php-%phpVersion%" + tags: ["build", "php%phpVersion%"] + commands: + - func: "compile driver" + vars: + PHP_VERSION: "%phpVersion%" + - func: "upload build" diff --git a/.evergreen/config/templates/test/load-balanced.yml b/.evergreen/config/templates/test/load-balanced.yml new file mode 100644 index 000000000..a904c1679 --- /dev/null +++ b/.evergreen/config/templates/test/load-balanced.yml @@ -0,0 +1,15 @@ +tasks: + - name: "test-mongodb-%mongodbVersion%-loadbalanced" + tags: ["loadbalanced", "local", "%mongodbVersion%"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "sharded_cluster" + MONGODB_VERSION: "%mongodbVersion%" + LOAD_BALANCER: "true" + SSL: "yes" + - func: "start load balancer" + - func: "run tests" + vars: + MONGODB_URI: "${SINGLE_MONGOS_LB_URI}" + SSL: "yes" diff --git a/.evergreen/config/templates/test/local.yml b/.evergreen/config/templates/test/local.yml new file mode 100644 index 000000000..c2d5626d1 --- /dev/null +++ b/.evergreen/config/templates/test/local.yml @@ -0,0 +1,59 @@ +tasks: + - name: "test-mongodb-%mongodbVersion%-standalone-noauth-nossl" + tags: ["standalone", "local", "%mongodbVersion%"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "server" + MONGODB_VERSION: "%mongodbVersion%" + - func: "run tests" + + - name: "test-mongodb-%mongodbVersion%-standalone-auth" + tags: ["standalone", "local", "%mongodbVersion%", "auth"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "server" + AUTH: "auth" + MONGODB_VERSION: "%mongodbVersion%" + - func: "run tests" + + - name: "test-mongodb-%mongodbVersion%-standalone-ssl" + tags: ["standalone", "local", "%mongodbVersion%", "ssl"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "server" + SSL: "yes" + MONGODB_VERSION: "%mongodbVersion%" + - func: "run tests" + vars: + SSL: "yes" + + - name: "test-mongodb-%mongodbVersion%-replicaset-noauth-nossl" + tags: ["replicaset", "local", "%mongodbVersion%"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "replica_set" + MONGODB_VERSION: "%mongodbVersion%" + - func: "run tests" + + - name: "test-mongodb-%mongodbVersion%-replicaset-auth" + tags: ["replicaset", "local", "%mongodbVersion%", "auth"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "replica_set" + AUTH: "auth" + MONGODB_VERSION: "%mongodbVersion%" + - func: "run tests" + + - name: "test-mongodb-%mongodbVersion%-sharded-noauth-nossl" + tags: ["sharded", "local", "%mongodbVersion%"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "sharded_cluster" + MONGODB_VERSION: "%mongodbVersion%" + - func: "run tests" diff --git a/.evergreen/config/templates/test/ocsp.yml b/.evergreen/config/templates/test/ocsp.yml new file mode 100644 index 000000000..9c8226524 --- /dev/null +++ b/.evergreen/config/templates/test/ocsp.yml @@ -0,0 +1,412 @@ +tasks: + - name: "ocsp-test_1-rsa-delegate-%mongodbVersion%" + tags: ["ocsp", "%mongodbVersion%"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_1" + CERT_TYPE: "rsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "%mongodbVersion%" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_1-ecdsa-delegate-%mongodbVersion%" + tags: ["ocsp", "%mongodbVersion%"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_1" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "%mongodbVersion%" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-test_1-rsa-nodelegate-%mongodbVersion%" + tags: ["ocsp", "%mongodbVersion%"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_1" + CERT_TYPE: "rsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "%mongodbVersion%" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_1-ecdsa-nodelegate-%mongodbVersion%" + tags: ["ocsp", "%mongodbVersion%"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_1" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "%mongodbVersion%" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-test_2-rsa-delegate-%mongodbVersion%" + tags: ["ocsp", "%mongodbVersion%"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_2" + CERT_TYPE: "rsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "%mongodbVersion%" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_2-ecdsa-delegate-%mongodbVersion%" + tags: ["ocsp", "%mongodbVersion%"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_2" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "%mongodbVersion%" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-test_2-rsa-nodelegate-%mongodbVersion%" + tags: ["ocsp", "%mongodbVersion%"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_2" + CERT_TYPE: "rsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "%mongodbVersion%" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_2-ecdsa-nodelegate-%mongodbVersion%" + tags: ["ocsp", "%mongodbVersion%"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_2" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "%mongodbVersion%" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-test_3-rsa-delegate-%mongodbVersion%" + tags: ["ocsp", "%mongodbVersion%"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_3" + CERT_TYPE: "rsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "%mongodbVersion%" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_3-ecdsa-delegate-%mongodbVersion%" + tags: ["ocsp", "%mongodbVersion%"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_3" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "%mongodbVersion%" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-test_3-rsa-nodelegate-%mongodbVersion%" + tags: ["ocsp", "%mongodbVersion%"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_3" + CERT_TYPE: "rsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "%mongodbVersion%" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_3-ecdsa-nodelegate-%mongodbVersion%" + tags: ["ocsp", "%mongodbVersion%"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_3" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "%mongodbVersion%" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-test_4-rsa-delegate-%mongodbVersion%" + tags: ["ocsp", "%mongodbVersion%"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_4" + CERT_TYPE: "rsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "%mongodbVersion%" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_4-ecdsa-delegate-%mongodbVersion%" + tags: ["ocsp", "%mongodbVersion%"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_4" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "%mongodbVersion%" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-test_4-rsa-nodelegate-%mongodbVersion%" + tags: ["ocsp", "%mongodbVersion%"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_4" + CERT_TYPE: "rsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "%mongodbVersion%" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-test_4-ecdsa-nodelegate-%mongodbVersion%" + tags: ["ocsp", "%mongodbVersion%"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "TEST_4" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "%mongodbVersion%" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-soft_fail_test-rsa-%mongodbVersion%" + tags: ["ocsp", "%mongodbVersion%"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "%mongodbVersion%" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-soft_fail_test-ecdsa-%mongodbVersion%" + tags: ["ocsp", "%mongodbVersion%"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "%mongodbVersion%" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-success.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-malicious_server_test_1-rsa-delegate-%mongodbVersion%" + tags: ["ocsp", "%mongodbVersion%"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "MALICIOUS_SERVER_TEST_1" + CERT_TYPE: "rsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "%mongodbVersion%" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-malicious_server_test_1-ecdsa-delegate-%mongodbVersion%" + tags: ["ocsp", "%mongodbVersion%"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "MALICIOUS_SERVER_TEST_1" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "on" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "%mongodbVersion%" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-malicious_server_test_1-rsa-nodelegate-%mongodbVersion%" + tags: ["ocsp", "%mongodbVersion%"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "MALICIOUS_SERVER_TEST_1" + CERT_TYPE: "rsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "%mongodbVersion%" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-malicious_server_test_1-ecdsa-nodelegate-%mongodbVersion%" + tags: ["ocsp", "%mongodbVersion%"] + commands: + - func: "run OCSP responder" + vars: + TEST_COLUMN: "MALICIOUS_SERVER_TEST_1" + CERT_TYPE: "ecdsa" + USE_DELEGATE: "off" + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "%mongodbVersion%" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" + + - name: "ocsp-malicious_server_test_2-rsa-%mongodbVersion%" + tags: ["ocsp", "%mongodbVersion%"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "%mongodbVersion%" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "rsa-basic-tls-ocsp-mustStaple-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/rsa/ca.pem" + + - name: "ocsp-malicious_server_test_2-ecdsa-%mongodbVersion%" + tags: ["ocsp", "%mongodbVersion%"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + MONGODB_VERSION: "%mongodbVersion%" + TOPOLOGY: "server" + ORCHESTRATION_FILE: "ecdsa-basic-tls-ocsp-mustStaple-disableStapling.json" + - func: "run tests" + vars: + TESTS: "tests/ocsp-failure.phpt" + APPEND_URI: "/?tls=true&tlsCAFile=${DRIVERS_TOOLS}/.evergreen/ocsp/ecdsa/ca.pem" diff --git a/.evergreen/config/templates/test/require-api-version.yml b/.evergreen/config/templates/test/require-api-version.yml new file mode 100644 index 000000000..cf658833b --- /dev/null +++ b/.evergreen/config/templates/test/require-api-version.yml @@ -0,0 +1,13 @@ +tasks: + - name: "test-requireApiVersion-%mongodbVersion%" + tags: [ "standalone", "local", "%mongodbVersion%", "versioned_api" ] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "server" + AUTH: "auth" + REQUIRE_API_VERSION: "yes" + MONGODB_VERSION: "%mongodbVersion%" + - func: "run tests" + vars: + API_VERSION: "1" diff --git a/.evergreen/config/templates/test/skip-crypt-shared.yml b/.evergreen/config/templates/test/skip-crypt-shared.yml new file mode 100644 index 000000000..bc2cdff4a --- /dev/null +++ b/.evergreen/config/templates/test/skip-crypt-shared.yml @@ -0,0 +1,11 @@ +tasks: + - name: "test-skip_crypt_shared-%mongodbVersion%" + tags: [ "replicaset", "local", "%mongodbVersion%", "skip_crypt_shared" ] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "replica_set" + MONGODB_VERSION: "%mongodbVersion%" + - func: "run tests" + vars: + SKIP_CRYPT_SHARED: "yes" diff --git a/.evergreen/config/test-tasks.yml b/.evergreen/config/test-tasks.yml new file mode 100644 index 000000000..a3963ad2a --- /dev/null +++ b/.evergreen/config/test-tasks.yml @@ -0,0 +1,28 @@ +tasks: + - name: "test-atlas-connectivity" + tags: ["atlas", "nodb"] + commands: + - func: "decrypt atlas URI list" + - func: "run tests" + vars: + TESTS: "tests/atlas.phpt" + + # Test different storage engines + - name: "test-mongodb-4.0-standalone-inmemory" + tags: ["standalone", "local", "4.0", "storage-engines"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "server" + MONGODB_VERSION: "4.0" + STORAGE_ENGINE: "inmemory" + - func: "run tests" + - name: "test-mongodb-4.0-standalone-mmapv1" + tags: ["standalone", "local", "4.0", "storage-engines"] + commands: + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "server" + MONGODB_VERSION: "4.0" + STORAGE_ENGINE: "mmapv1" + - func: "run tests" diff --git a/.evergreen/config/test-variants.yml b/.evergreen/config/test-variants.yml new file mode 100644 index 000000000..c8c079143 --- /dev/null +++ b/.evergreen/config/test-variants.yml @@ -0,0 +1,136 @@ +# +# Test variants - only run for select platforms worth testing on +# +buildvariants: + # PHP 8.2: test all topologies on all versions of MongoDB + - name: test-debian11-php82-local + tags: ["test", "debian", "x64"] + display_name: "Test: Debian 11, PHP 8.2" + run_on: debian11-small + expansions: + FETCH_BUILD_VARIANT: "build-debian11" + FETCH_BUILD_TASK: "build-php-8.2" + depends_on: + - variant: "build-debian11" + name: "build-php-8.2" + tasks: + - ".standalone .local !.3.6 !.4.0 !.4.2 !.4.4 !.5.0" + - ".replicaset .local !.3.6 !.4.0 !.4.2 !.4.4 !.5.0" + - ".sharded .local !.3.6 !.4.0 !.4.2 !.4.4 !.5.0" + - ".loadbalanced .local !.3.6 !.4.0 !.4.2 !.4.4 !.5.0" + - "test-atlas-connectivity" + - ".ocsp !.4.4" + display_tasks: + - name: "test-ocsp-latest" + execution_tasks: + - ".ocsp .latest" + - name: "test-ocsp-rapid" + execution_tasks: + - ".ocsp .rapid" + - name: "test-ocsp-7.0" + execution_tasks: + - ".ocsp .7.0" + - name: "test-ocsp-6.0" + execution_tasks: + - ".ocsp .6.0" + - name: "test-ocsp-5.0" + execution_tasks: + - ".ocsp .5.0" + - name: test-debian92-php82-local + tags: ["test", "debian", "x64"] + display_name: "Test: Debian 9.2, PHP 8.2" + run_on: debian92-small + expansions: + FETCH_BUILD_VARIANT: "build-debian92" + FETCH_BUILD_TASK: "build-php-8.2" + depends_on: + - variant: "build-debian92" + name: "build-php-8.2" + tasks: + # Remember to add new major versions here as they are released + - ".standalone .local !.6.0 !.7.0 !.rapid !.latest" + - ".replicaset .local !.6.0 !.7.0 !.rapid !.latest" + - ".sharded .local !.6.0 !.7.0 !.rapid !.latest" + - ".loadbalanced .local !.6.0 !.7.0 !.rapid !.latest" + - ".ocsp !.6.0 !.7.0 !.rapid !.latest" + display_tasks: + - name: "test-ocsp-4.4" + execution_tasks: + - ".ocsp .4.4" + + # Test remaining PHP versions with replica sets on Debian 11 with MongoDB 7.0 + - name: test-debian11-php81-local + tags: ["test", "debian", "x64"] + display_name: "Test: Debian 11, PHP 8.1" + run_on: debian11-small + expansions: + FETCH_BUILD_VARIANT: "build-debian11" + FETCH_BUILD_TASK: "build-php-8.1" + depends_on: + - variant: "build-debian11" + name: "build-php-8.1" + tasks: + - ".replicaset .local .7.0 .auth" + - name: test-debian11-php80-local + tags: ["test", "debian", "x64"] + display_name: "Test: Debian 11, PHP 8.0" + run_on: debian11-small + expansions: + FETCH_BUILD_VARIANT: "build-debian11" + FETCH_BUILD_TASK: "build-php-8.0" + depends_on: + - variant: "build-debian11" + name: "build-php-8.0" + tasks: + - ".replicaset .local .7.0 .auth" + - name: test-debian11-php74-local + tags: ["test", "debian", "x64"] + display_name: "Test: Debian 11, PHP 7.4" + run_on: debian11-small + expansions: + FETCH_BUILD_VARIANT: "build-debian11" + FETCH_BUILD_TASK: "build-php-7.4" + depends_on: + - variant: "build-debian11" + name: "build-php-7.4" + tasks: + - ".replicaset .local .7.0 .auth" + + # Variants with different libmongoc + # TODO: Enable the following two builds once libmongoc 1.25.0 is released +# - name: test-debian11-php82-local-libmongoc-lowest-supported +# display_name: "Test: Debian 11, PHP 8.2, libmongoc lowest" +# tags: ["test", "libmongoc", "debian", "x64"] +# run_on: debian11-small +# expansions: +# FETCH_BUILD_VARIANT: "build-debian11" +# FETCH_BUILD_TASK: "build-php-8.2-libmongoc-lowest-supported" +# depends_on: +# - variant: "build-debian11" +# name: "build-php-8.2-libmongoc-lowest-supported" +# tasks: +# - ".replicaset .local .7.0 .auth" +# - name: test-debian11-php82-local-libmongoc-next-stable +# display_name: "Test: Debian 11, PHP 8.2, libmongoc next stable" +# tags: ["test", "libmongoc", "debian", "x64"] +# run_on: debian11-small +# expansions: +# FETCH_BUILD_VARIANT: "build-debian11" +# FETCH_BUILD_TASK: "build-php-8.2-libmongoc-next-stable" +# depends_on: +# - variant: "build-debian11" +# name: "build-php-8.2-libmongoc-next-stable" +# tasks: +# - ".replicaset .local .7.0 .auth" + - name: test-debian11-php82-local-libmongoc-latest + tags: ["test", "libmongoc", "debian", "x64"] + display_name: "Test: Debian 11, PHP 8.2, libmongoc latest" + run_on: debian11-small + expansions: + FETCH_BUILD_VARIANT: "build-debian11" + FETCH_BUILD_TASK: "build-php-8.2-libmongoc-latest" + depends_on: + - variant: "build-debian11" + name: "build-php-8.2-libmongoc-latest" + tasks: + - ".replicaset .local .7.0 .auth" diff --git a/.evergreen/run-tests.sh b/.evergreen/run-tests.sh index 996a022b4..662b974e3 100755 --- a/.evergreen/run-tests.sh +++ b/.evergreen/run-tests.sh @@ -45,4 +45,4 @@ SSL_DIR="${SSL_DIR}" \ TEST_PHP_JUNIT="${PROJECT_DIRECTORY}/test-results.xml" \ TEST_PHP_ARGS="-q -x --show-diff -g FAIL,XFAIL,BORK,WARN,LEAK,SKIP" \ TESTS="$TESTS" \ -make test +make test-no-build diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 000000000..309faa770 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +.evergreen/config/generated/** linguist-generated=true diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index d05269440..3d726a81f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -253,9 +253,10 @@ AC_MSG_ERROR(system libmongoc must be upgraded to version >= 1.20.0) #### Update tested versions in Evergreen configuration Evergreen tests against multiple versions of libmongoc. When updating to a newer -libmongoc version, make sure to update the `libmongoc-version` build axis in -`.evergreen/config.yml`. In general, we test against two additional versions of -libmongoc: +libmongoc version, make sure to update the libmongoc build tasks in `.evergreen/config/templates/build/build-libmongoc.yml` +and regenerate the build configuration. The template file contains additional +information about the build tasks and where they are used. In general, we test +against two additional versions of libmongoc: - The upcoming patch release of the current libmongoc minor version (e.g. the `r1.x` branch) diff --git a/Makefile.frag b/Makefile.frag index 6c69049b1..4800ffe6b 100644 --- a/Makefile.frag +++ b/Makefile.frag @@ -88,3 +88,27 @@ generate-function-map: all else \ echo "ERROR: Cannot generate function maps without CLI sapi."; \ fi + +test-no-build: + @if test ! -z "$(PHP_EXECUTABLE)" && test -x "$(PHP_EXECUTABLE)"; then \ + INI_FILE=`$(PHP_EXECUTABLE) -d 'display_errors=stderr' -r 'echo php_ini_loaded_file();' 2> /dev/null`; \ + if test "$$INI_FILE"; then \ + $(EGREP) -h -v $(PHP_DEPRECATED_DIRECTIVES_REGEX) "$$INI_FILE" > $(top_builddir)/tmp-php.ini; \ + else \ + echo > $(top_builddir)/tmp-php.ini; \ + fi; \ + INI_SCANNED_PATH=`$(PHP_EXECUTABLE) -d 'display_errors=stderr' -r '$$a = explode(",\n", trim(php_ini_scanned_files())); echo $$a[0];' 2> /dev/null`; \ + if test "$$INI_SCANNED_PATH"; then \ + INI_SCANNED_PATH=`$(top_srcdir)/build/shtool path -d $$INI_SCANNED_PATH`; \ + $(EGREP) -h -v $(PHP_DEPRECATED_DIRECTIVES_REGEX) "$$INI_SCANNED_PATH"/*.ini >> $(top_builddir)/tmp-php.ini; \ + fi; \ + TEST_PHP_EXECUTABLE=$(PHP_EXECUTABLE) \ + TEST_PHP_SRCDIR=$(top_srcdir) \ + CC="$(CC)" \ + $(PHP_EXECUTABLE) -n -c $(top_builddir)/tmp-php.ini $(PHP_TEST_SETTINGS) $(top_srcdir)/run-tests.php -n -c $(top_builddir)/tmp-php.ini -d extension_dir=$(top_builddir)/modules/ $(PHP_TEST_SHARED_EXTENSIONS) $(TESTS); \ + TEST_RESULT_EXIT_CODE=$$?; \ + rm $(top_builddir)/tmp-php.ini; \ + exit $$TEST_RESULT_EXIT_CODE; \ + else \ + echo "ERROR: Cannot run tests without CLI sapi."; \ + fi diff --git a/tests/smoketest.phpt b/tests/smoketest.phpt new file mode 100644 index 000000000..160a44241 --- /dev/null +++ b/tests/smoketest.phpt @@ -0,0 +1,11 @@ +--TEST-- +Smoke test to make sure compilation succeeded +--FILE-- + +===DONE=== + +--EXPECT-- +bool(true) +===DONE===