Uploaded image for project: 'Evergreen'
  1. Evergreen
  2. EVG-6545

Globs with ignore patterns should be consistent with globs with no ignore

    XMLWordPrintable

    Details

    • Type: New Feature
    • Status: Open
    • Priority: Major - P3
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: Backlog
    • Component/s: app
    • Labels:

      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.

        Attachments

          Activity

            People

            Assignee:
            backlog-server-evg Backlog - Evergreen Team
            Reporter:
            mathew.robinson Mathew Robinson (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated: