-
Type: Improvement
-
Resolution: Unresolved
-
Priority: Minor - P4
-
None
-
Affects Version/s: None
-
Component/s: Evergreen
-
v5.x
Use Case
As a driver engineer,
I want our CI setup scripts to be easy to run locally,
So that I can easily debug CI failures and set up special environment testing locally.
The goal of this work is to streamline local environment setup and the running of tests. For example, a hypothetical workflow which runs our serverless tests locally:
bash .evergreen/setup-serverless-environment.sh
// repeat as many times as needed
bash .evergreen/run-serverless-tests.sh
bash .evergreen/teardown-serverless-environment.sh
User Impact
- n/a
Dependencies
- n/a
Unknowns
- n/a
Acceptance Criteria
Implementation Requirements
- Audit the evergreen config to identify tasks which perform environment setup by calling multiple evergreen functions and identify which functions are shared.
- Move the logic contained in the shared evergreen functions into standalone bash scripts / bash functions.
- Add tooling that replaces the setup tasks identified in step 1) with bash scripts / bash functions.
- Ensure all tests pass and scripts can be run locally.
Testing Requirements
- All tests pass.
Documentation Requirements
- This work will replace the need for the "special environments" section of our testing readme. Update the readme with instructions to run the setup / teardown scripts we use in CI when running special environment tests locally.
Follow Up Requirements
- n/a
- backported by
-
NODE-6105 [v5.x BACKPORT] Move CI logic out of evergreen config yml and into bash scripts
- Backlog