芝麻web文件管理V1.00
编辑当前文件:/home/mgatv524/cms.mgaplay.com.br/vendor/mongodb/mongodb/.evergreen/config.yml
######################################## # Evergreen Template for MongoDB Drivers ######################################## # 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. # 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" # Make an evergreen exapanstion 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" 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" 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 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}" 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 git://github.com/mongodb-labs/drivers-evergreen-tools.git $DRIVERS_TOOLS fi echo "{ \"releases\": { \"default\": \"$MONGODB_BINARIES\" }}" > $MONGO_ORCHESTRATION_HOME/orchestration.config "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" "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} MONGODB_VERSION=${VERSION} ORCHESTRATION_FILE=${ORCHESTRATION_FILE} TOPOLOGY=${TOPOLOGY} AUTH=${AUTH} SSL=${SSL} STORAGE_ENGINE=${STORAGE_ENGINE} REQUIRE_API_VERSION=${REQUIRE_API_VERSION} sh ${DRIVERS_TOOLS}/.evergreen/run-orchestration.sh # run-orchestration generates expansion file with the MONGODB_URI for the cluster - 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 "bootstrap mongohoused": - command: shell.exec params: script: | DRIVERS_TOOLS="${DRIVERS_TOOLS}" sh ${DRIVERS_TOOLS}/.evergreen/atlas_data_lake/build-mongohouse-local.sh - command: shell.exec params: background: true script: | DRIVERS_TOOLS="${DRIVERS_TOOLS}" sh ${DRIVERS_TOOLS}/.evergreen/atlas_data_lake/run-mongohouse-local.sh "create serverless instance": - command: shell.exec params: working_dir: "src" shell: bash script: |- ${PREPARE_SHELL} export PROJECT=${PROJECT} export SERVERLESS_DRIVERS_GROUP=${SERVERLESS_DRIVERS_GROUP} export SERVERLESS_API_PUBLIC_KEY=${SERVERLESS_API_PUBLIC_KEY} export SERVERLESS_API_PRIVATE_KEY=${SERVERLESS_API_PRIVATE_KEY} export SERVERLESS_ATLAS_USER=${SERVERLESS_ATLAS_USER} export SERVERLESS_ATLAS_PASSWORD=${SERVERLESS_ATLAS_PASSWORD} sh ${PROJECT_DIRECTORY}/.evergreen/serverless/create-instance.sh - command: expansions.update params: file: src/serverless-expansion.yml "delete serverless instance": - command: shell.exec params: shell: bash script: |- set -o errexit export SERVERLESS_DRIVERS_GROUP=${SERVERLESS_DRIVERS_GROUP} export SERVERLESS_API_PUBLIC_KEY=${SERVERLESS_API_PUBLIC_KEY} export SERVERLESS_API_PRIVATE_KEY=${SERVERLESS_API_PRIVATE_KEY} export SERVERLESS_ATLAS_USER=${SERVERLESS_ATLAS_USER} export SERVERLESS_ATLAS_PASSWORD=${SERVERLESS_ATLAS_PASSWORD} export SERVERLESS_INSTANCE_NAME=${SERVERLESS_INSTANCE_NAME} sh ${PROJECT_DIRECTORY}/.evergreen/serverless/delete-instance.sh "run tests": - command: shell.exec type: test params: working_dir: "src" script: | ${PREPARE_SHELL} export AWS_ACCESS_KEY_ID="${client_side_encryption_aws_access_key_id}" export AWS_SECRET_ACCESS_KEY="${client_side_encryption_aws_secret_access_key}" export AZURE_TENANT_ID="${client_side_encryption_azure_tenant_id}" export AZURE_CLIENT_ID="${client_side_encryption_azure_client_id}" export AZURE_CLIENT_SECRET="${client_side_encryption_azure_client_secret}" export GCP_EMAIL="${client_side_encryption_gcp_email}" export GCP_PRIVATEKEY="${client_side_encryption_gcp_privatekey}" export PATH="${PHP_PATH}/bin:$PATH" MOCK_SERVICE_ID=${MOCK_SERVICE_ID} API_VERSION=${API_VERSION} PHP_VERSION=${PHP_VERSION} AUTH=${AUTH} SSL=${SSL} MONGODB_URI="${MONGODB_URI}" sh ${PROJECT_DIRECTORY}/.evergreen/run-tests.sh "run atlas data lake test": - command: shell.exec type: test params: working_dir: "src" script: | ${PREPARE_SHELL} export PATH="${PHP_PATH}/bin:$PATH" PHP_VERSION=${PHP_VERSION} TESTS="atlas-data-lake" AUTH=${AUTH} SSL=${SSL} MONGODB_URI="${MONGODB_URI}" sh ${PROJECT_DIRECTORY}/.evergreen/run-tests.sh "run serverless tests": - command: shell.exec type: test params: working_dir: "src" shell: bash script: |- ${PREPARE_SHELL} export MONGODB_IS_SERVERLESS=on export MONGODB_USERNAME=${SERVERLESS_ATLAS_USER} export MONGODB_PASSWORD=${SERVERLESS_ATLAS_PASSWORD} export PATH="${PHP_PATH}/bin:$PATH" PHP_VERSION=${PHP_VERSION} TESTS="serverless" MONGODB_URI="${MONGODB_URI}" 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 # Copy client certificate because symlinks do not work on Windows. cp ${DRIVERS_TOOLS}/.evergreen/x509gen/client.pem ${MONGO_ORCHESTRATION_HOME}/lib/client.pem "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 "install dependencies": - command: shell.exec params: working_dir: "src" script: | ${PREPARE_SHELL} file="${PROJECT_DIRECTORY}/.evergreen/install-dependencies.sh" # Don't use ${file} syntax here because evergreen treats it as an empty expansion. [ -f "$file" ] && PHP_VERSION=${PHP_VERSION} EXTENSION_VERSION=${EXTENSION_VERSION} EXTENSION_REPO=${EXTENSION_REPO} EXTENSION_BRANCH=${EXTENSION_BRANCH} DEPENDENCIES=${DEPENDENCIES} sh $file || echo "$file not available, skipping" # install-dependencies generates expansion file with the PHP_PATH for the chosen PHP version - command: expansions.update params: file: src/php-expansion.yml "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 pre: - func: "fetch source" - func: "prepare resources" - func: "windows fix" - func: "fix absolute paths" - func: "make files executable" - func: "install dependencies" post: # Skip: uploading the full working directory is not needed by drivers-evergreen-tools. # - func: "upload working dir" - func: "upload mo artifacts" - func: "upload test results" - func: "stop load balancer" - func: "stop mongo-orchestration" - 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: "bootstrap mongo-orchestration" vars: TOPOLOGY: "server" - func: "run tests" - name: "test-replica_set" tags: ["replica_set"] commands: - func: "bootstrap mongo-orchestration" vars: TOPOLOGY: "replica_set" - func: "run tests" - name: "test-sharded_cluster" tags: ["sharded_cluster"] commands: - func: "bootstrap mongo-orchestration" vars: TOPOLOGY: "sharded_cluster" - func: "run tests" - name: "test-atlas-data-lake" commands: - func: "bootstrap mongohoused" - func: "run atlas data lake test" - name: "test-requireApiVersion" tags: ["versioned-api"] commands: - func: "bootstrap mongo-orchestration" vars: TOPOLOGY: "server" AUTH: "auth" REQUIRE_API_VERSION: "yes" - func: "run tests" vars: API_VERSION: "1" - name: "test-acceptApiVersion2" tags: ["versioned-api"] commands: - func: "bootstrap mongo-orchestration" vars: TOPOLOGY: "server" ORCHESTRATION_FILE: "versioned-api-testing.json" - func: "run tests" vars: TESTS: "versioned-api" - name: "test-serverless" tags: ["serverless"] commands: - func: "create serverless instance" vars: PROJECT: "mongo-php-library" - func: "run serverless tests" - func: "delete serverless instance" - name: "test-loadBalanced" tags: ["loadbalanced"] commands: - func: "bootstrap mongo-orchestration" vars: TOPOLOGY: "sharded_cluster" SSL: "yes" - func: "start load balancer" - func: "run tests" vars: # Testing with HAProxy requires service ID mocking MOCK_SERVICE_ID: 1 # 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" # }}} axes: - id: php-versions display_name: PHP Version values: - id: "7.4" display_name: "7.4" variables: PHP_VERSION: "7.4.7" - id: "7.3" display_name: "7.3" variables: PHP_VERSION: "7.3.8" - id: "7.2" display_name: "7.2" variables: PHP_VERSION: "7.2.21" - id: "7.1" display_name: "7.1" variables: PHP_VERSION: "7.1.31" - id: php-edge-versions display_name: PHP Version values: - id: "latest-stable" display_name: "7.4" variables: PHP_VERSION: "7.4.7" - id: "oldest-supported" display_name: "7.1" variables: PHP_VERSION: "7.1.31" - id: versions display_name: MongoDB Version values: - id: "latest" display_name: "latest" variables: VERSION: "latest" - id: "5.0" display_name: "5.0" variables: VERSION: "5.0" - id: "4.4" display_name: "4.4" variables: VERSION: "4.4" - id: "4.2" display_name: "4.2" variables: VERSION: "4.2" - id: "4.0" display_name: "4.0" variables: VERSION: "4.0" - id: "3.6" display_name: "3.6" variables: VERSION: "3.6" - id: "3.4" display_name: "3.4" variables: VERSION: "3.4" - id: "3.2" display_name: "3.2" variables: VERSION: "3.2" - id: "3.0" display_name: "3.0" variables: VERSION: "3.0" - id: edge-versions display_name: MongoDB Version values: - id: "latest-stable" display_name: "4.4" variables: VERSION: "4.4" - id: "oldest-supported" display_name: "3.0" variables: VERSION: "3.0" - id: driver-versions display_name: Driver Version values: # * lowest-supported can be enabled once a 1.10 patch release has been tagged # - id: "lowest-supported" # display_name: "1.10.0" # variables: # EXTENSION_VERSION: "1.10.0" # - id: "latest-stable" # display_name: "Latest Stable (1.10.x)" # variables: # EXTENSION_VERSION: "stable" # - id: "upcoming-stable" # display_name: "1.10-dev" # variables: # EXTENSION_BRANCH: "v1.10" - id: "latest-dev" display_name: "1.11-dev (master)" variables: EXTENSION_BRANCH: "master" - id: os-php7 display_name: OS values: - id: debian92-test display_name: "Debian 9.2" run_on: debian92-test - id: rhel70-test display_name: "RHEL 7.0" run_on: rhel70 - id: rhel71-power8 display_name: "RHEL 7.1 Power 8" run_on: rhel71-power8-test - id: rhel74-zseries display_name: "RHEL 7.4 zSeries" run_on: rhel74-zseries-test - id: ubuntu1804-arm64-test display_name: "Ubuntu 18.04 ARM64" run_on: ubuntu1804-arm64-test - id: topology display_name: Topology values: - id: standalone display_name: Standalone variables: TOPOLOGY: "server" - id: replicaset display_name: Replica Set variables: TOPOLOGY: "replica_set" - id: sharded-cluster display_name: Sharded Cluster variables: TOPOLOGY: "sharded_cluster" - id: auth display_name: Authentication values: - id: auth display_name: Auth variables: AUTH: "auth" - id: noauth display_name: NoAuth variables: AUTH: "noauth" - id: ssl display_name: SSL values: - id: ssl display_name: SSL variables: SSL: "ssl" - id: nossl display_name: NoSSL variables: SSL: "nossl" - 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: dependencies display_name: Dependencies values: - id: lowest display_name: Lowest variables: DEPENDENCIES: "lowest" buildvariants: # Tests all PHP versions on all operating systems. # Only tests against latest MongoDB and ext-mongodb versions - matrix_name: "test-php-versions" matrix_spec: {"os-php7": "*", "php-versions": "*", "edge-versions": "latest-stable", "driver-versions": "latest-dev" } exclude_spec: # rhel71-power8 fails due to not reaching pecl - { "os-php7": "rhel71-power8", "php-versions": "*", edge-versions: "*", "driver-versions": "*" } # rhel74-zseries doesn't start in a timely fashion - most likely missing executors - { "os-php7": "rhel74-zseries", "php-versions": "*", edge-versions: "*", "driver-versions": "*" } display_name: "* ${os-php7}, PHP ${php-versions}, MongoDB ${edge-versions}, ext-mongodb ${driver-versions}" tasks: - name: "test-standalone" - name: "test-replica_set" - name: "test-sharded_cluster" # Tests all driver versions on all PHP versions # Only tests on Ubuntu 18.04 and latest MongoDB - matrix_name: "test-driver-versions" matrix_spec: {"os-php7": "ubuntu1804-arm64-test", "php-versions": "*", "edge-versions": "latest-stable", "driver-versions": "*" } display_name: "ext-mongodb ${driver-versions}, PHP ${php-versions}, ${os-php7}, MongoDB ${edge-versions}" tasks: - name: "test-standalone" - name: "test-replica_set" - name: "test-sharded_cluster" # Tests all MongoDB versions # Only tests on Ubuntu 18.04, with latest stable PHP and driver versions # Tests against various topologies - matrix_name: "test-mongodb-versions" matrix_spec: {"os-php7": "rhel70-test", "php-edge-versions": "latest-stable", "versions": "*", "driver-versions": "latest-dev" } display_name: "MongoDB ${versions}, PHP ${php-edge-versions}, ${os-php7}, ext-mongodb ${driver-versions}" tasks: - name: "test-standalone" - name: "test-replica_set" - name: "test-sharded_cluster" # Tests oldest supported version # Enables --prefer-lowest for composer to test oldest dependencies against all server versions # TODO: driver-versions can be changed back to lowest-supported when that version is enabled in the axis - matrix_name: "test-dependencies" matrix_spec: { "dependencies": "lowest", "os-php7": "rhel70-test", "php-edge-versions": "oldest-supported", "versions": "*", "driver-versions": "latest-dev" } display_name: "Dependencies: ${dependencies}, MongoDB ${versions}, PHP ${php-edge-versions}, ${os-php7}, ext-mongodb ${driver-versions}" tasks: - name: "test-standalone" - name: "test-replica_set" - name: "test-sharded_cluster" - matrix_name: "atlas-data-lake-test" matrix_spec: { "php-edge-versions": "latest-stable", "driver-versions": "latest-dev" } display_name: "Atlas Data Lake test" run_on: rhel70 tasks: - name: "test-atlas-data-lake" - matrix_name: "test-versioned-api" matrix_spec: { "php-edge-versions": "latest-stable", "versions": ["5.0", "latest"], "driver-versions": "latest-dev" } display_name: "Versioned API - ${versions}" run_on: rhel70 tasks: - .versioned-api - matrix_name: "serverless" matrix_spec: { "php-edge-versions": "latest-stable", "driver-versions": "latest-dev" } display_name: "Serverless" run_on: rhel70 tasks: - .serverless - matrix_name: "test-loadBalanced" matrix_spec: { "os-php7": "debian92-test", "php-versions": "7.3", "versions": ["5.0", "latest"], "driver-versions": "latest-dev" } display_name: "Load balanced - ${versions}" tasks: - name: "test-loadBalanced"