Details
-
New Feature
-
Status: Open
-
Major - P3
-
Resolution: Unresolved
-
None
Description
Given an evergreen project config with two variants: A and B, and tasks 1, 2, 3, 4, and push
The variants and tasks matrix is configured such that:
A runs 1, 2, and push
B runs 1, 2, 3, and push
If the definition of push has a depends_on like:
- name: push
|
depends_on:
|
- name: "*"
|
push will depend on 1 and 2 when it's run on variant A and will depend on 1, 2, and 3 when run on variant B. If we add a the new task "4" to both variants with a depends_on like:
- name: 4
|
depends_on:
|
- name: "push"
|
then we will get a cyclic dependency error because 4 depends on push and push depends on 4. If we change the glob depends_on for push:
- name: push
|
depends_on:
|
- name: "* !4"
|
evergreen validate will complain that task 3 is not satisfiable as a dependency on variant A.
Globs seem to ignore tasks not on the variant as long as there is no ignore pattern so this behavior should still be observed when using an ignore pattern.