-
Type:
Improvement
-
Resolution: Fixed
-
Priority:
Minor - P4
-
Affects Version/s: None
-
Component/s: None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
Our config.yml is over 8k lines, which makes it a bit painful to navigate and make changes.
It might be worth taking advantage of the Evergreen matrix variant definition to remove duplicate definitions of tasks that are common to many variants.
Consider splitting config.yml into multiple files.
Consider generating parts of the config.yml with scripts.
Consider defining a RELEASED variable that is set to the last released MongoDB version. It will save us the pain of replacing "4.0" with "4.2" next year for every task we want to run on only the last release.
Consider using features of YAML to avoid duplication, e.g. anchors and references.
------------
Step 1: generate the list of tasks from a Python file and Jinja2 template, so that the tasks are defined by a short Python data structure instead of handwritten.
1. Write a Python script and some templates to generate config.yml identical to the current one.
2. Simplify the script by allowing its output to differ slightly to the current config.yml.