summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorRobert Guo <robert.guo@10gen.com>2022-03-27 20:35:41 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2022-03-27 21:03:48 +0000
commit9223710d1b8c3f97a6f7a18c1ba567c2b96a9a1f (patch)
treeaa7473350b19a37d0f1e16190f18d154192f29a2 /docs
parent57b670b4df8b5ad731306a811500b46c9e71a0e9 (diff)
downloadmongo-9223710d1b8c3f97a6f7a18c1ba567c2b96a9a1f.tar.gz
SERVER-64802 Split up evergreen.yml into a release project and a dev project
Diffstat (limited to 'docs')
-rw-r--r--docs/evergreen-testing/README.md (renamed from docs/evergreen-testing/index.md)1
-rw-r--r--docs/evergreen-testing/configuration.md53
2 files changed, 54 insertions, 0 deletions
diff --git a/docs/evergreen-testing/index.md b/docs/evergreen-testing/README.md
index f57692ade9a..75cf24eafa1 100644
--- a/docs/evergreen-testing/index.md
+++ b/docs/evergreen-testing/README.md
@@ -3,3 +3,4 @@
Documentation about how MongoDB is tested in Evergreen.
* [Task Timeouts](task_timeouts.md)
+* [Configuration for Evergreen Integration](configuration.md) \ No newline at end of file
diff --git a/docs/evergreen-testing/configuration.md b/docs/evergreen-testing/configuration.md
new file mode 100644
index 00000000000..0aa811bdc2e
--- /dev/null
+++ b/docs/evergreen-testing/configuration.md
@@ -0,0 +1,53 @@
+# Evergreen configuration
+
+This document describes the continuous integration (CI) configuration for MongoDB.
+
+
+## Projects
+
+There are a number of Evergreen projects supporting MongoDB's CI. For more information on
+Evergreen-specific terminology used in this document, please refer to the
+[Project Configuration](https://github.com/evergreen-ci/evergreen/wiki/Project-Configuration-Files)
+section of the Evergreen wiki.
+
+### `mongodb-mongo-master`
+The main project for testing MongoDB's dev environments with a number build variants,
+each one corresponding to a particular compile or testing environment to support development.
+Each build variant runs a set of tasks; each task ususally runs one or more tests.
+
+### `mongodb-mongo-master-nightly
+Tracks the same branch as `mongodb-mongo-master`, each build variant corresponds to a
+(version, OS, architecure) triplet for a supported MongoDB nightly release.
+
+### `sys_perf`
+The system performance project.
+
+### `microbenchmarks`
+Performance unittests, used mainly for validating areas related to the Query system.
+
+
+## Project configurations
+
+The above Evergreen projects are defined in the following files:
+
+* `etc/evergreen_yml_components/**.yml`. YAML files containing definitions for tasks, functions, buildvariants, etc.
+They are copied from the existing evergreen.yml file.
+
+* `etc/evergreen.yml`. Imports components from above and serves as the project config for mongodb-mongo-master,
+containing all build variants for development, including all feature-specific, patch build required, and suggested
+variants.
+
+* `etc/evergreen_nightly.yml`. The project configuration for mongodb-mongo-master-nightly, containing only build
+variants for public nightly builds, imports similar components as evergreen.yml to ensure consistency.
+
+* `etc/sys_perf.yml`. Configuration file for the system performance project.
+
+* `etc/perf.yml`. Configuration for the microbenchmark project.
+
+
+## Release Branching Process
+Only the `mongodb-mongo-master-nightly` project will be branched with required and other
+necessary variants (e.g. sanitizers) added back in. Most variants in `mongodb-mongo-master`
+would be dropped by default but can be re-introduced to the release branches manually on an
+as-needed basis. For Rapid releases, all but the variants relevant to Atlas in
+`mongodb-mongo-master-nightly` may be dropped as well.