Version 0.9.0 Alpha
Evergreen is a distributed continuous integration system built by MongoDB. It utilizes multi-platform cloud computing to run tasks as quickly as possible.
Using Evergreen, we've significantly enhanced the productivity of our engineers. We hope you can get something out of it as well!
Use only the computing resources you need
Easily navigate and explore the state of your tests
Run jobs on any operating system supported by the Go compiler
Test your changes before your commit
Automatically run past commits to pinpoint the origin of a test failure
See the documentation for a full feature list!
Evergreen requires the configuration of a main server along with a cloud provider or static servers. Please refer to our tutorial for full installation instructions.
The Evergreen Agent and Command Line Tool are supported on Linux, OSX, Windows, and Solaris operating systems. However, the Evergreen API Server, UI Server, and Runner program are currently only supported and tested on Linux and OSX.
Our dependencies live in the vendor subdirectory of the repo.
The specifications for what version of each dependency is used resides in the Godeps file in the root of the repo.
If you add a new dependency, or change the version of an existing one, run the vendor.sh script to refresh the downloaded versions in vendor.
build.sh script in the root of the repo. This will
install the binaries into the bin subdirectory.build_agent.sh script in the root of the repo. This will use goxc (located in
vendor/src/github.com/laher/goxc) to cross-compile the agent binary into the executables subdirectory. Before doing
this, you have to run go run vendor/src/github.com/laher/goxc/goxc.go -t once on the machine where you are building
the binaries.. setgopath.sh in your shell.distro: A platform type (e.g. Windows or OSX) plus large-scale architectural details. One of the targets that we produce executables for.host: One of the machines used to run tasks on; typically an instance of a distro that does the actual work (see task). Equivalently, any machine in our system other than MOTU.revision: A revision SHA; e.g. ad8a1d4678122bada9d4479b114cf68d39c27724.branch: A branch in a given repository. e.g. master in the mongodb/mongo repositoryversion: (branch + revision). A version of a branch.buildvariant: build specific information.build: (version + buildvariant) = (branch + revision + buildvariant).task: “compile”, “test”, or “push”. The kinds of things that we want to do on a host.A single configuration (settings) file drives most of how Evergreen works. Each Evergreen process must be supplied this settings file to run properly. For development, tweak the sample configuration fil here.
All Evergreen programs accept a configuration file with the -conf flag.
$ claude mcp add evergreen \
-- python -m otcore.mcp_server <graph>