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

Evergreen tries to execute tests after patch application fails

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Works as Designed
    • Affects Version/s: None
    • Fix Version/s: current_quarter
    • Component/s: app
    • Labels:

      Description

      In https://evergreen.mongodb.com/build/drivers_atlas_testing_tests_ruby__driver~ruby_master_platform~ubuntu_18.04_ruby_runtime~ruby_2.7_patch_f5b2e104b02ab7bbf3e2c268219a3da11001f342_5eb37cab30661578cb5299a9_20_05_07_03_12_43 we have a task to fetch the source and apply the patch:

        "install astrolabe":
          # Clone astrolabe.
          - command: git.get_project
            params:
              directory: astrolabe-src
      

      This task failed:

      [2020/05/07 03:16:18.704] + git apply --stat /tmp/mcipatch_035249567
      [2020/05/07 03:16:18.704] + git apply --binary --index
      [2020/05/07 03:16:18.704] <stdin>:542: trailing whitespace.
      [2020/05/07 03:16:18.704] <stdin>:622: trailing whitespace.
      [2020/05/07 03:16:18.704] <stdin>:644: trailing whitespace.
      [2020/05/07 03:16:18.704] <stdin>:655: trailing whitespace.
      [2020/05/07 03:16:18.704] error: patch failed: docs/source/conf.py:44
      [2020/05/07 03:16:18.704] error: docs/source/conf.py: patch does not apply
      [2020/05/07 03:16:18.706] [branch='master' message='cloning failed' num_attempts='5' operation='git.get_project' owner='mongodb-labs' repo='drivers-atlas-testing']: after 5 retries, operation failed: Failed to apply patch: error waiting on process '43544cde-a347-4b20-a212-6f3c39e6e665': exit status 1
      [2020/05/07 03:16:18.706] Command failed: after 5 retries, operation failed: Failed to apply patch: error waiting on process '43544cde-a347-4b20-a212-6f3c39e6e665': exit status 1
      

      Evergreen then continued with the following tasks, as far as I can tell it attempted to run the tasks defined in the config from the patch using the tree from the base (i.e. master).

      In this particular case I had to go through several subsequent failures (whose failure status was also ignored, for other reasons) to identify this root cause. However, what if the build succeeded? Then evergreen would've given a green light to a patch that it did not actually test.

      As an Evergreen user I expect that if Evergreen fails to apply the patch, it would fail the build and do so immediately.

      Also, why is patch being attempted 5 times? I understand fetching more than once but surely patching is not subject to intermittent problems.

        Attachments

          Activity

            People

            Assignee:
            backlog-server-evg Backlog - Evergreen Team
            Reporter:
            oleg.pudeyev Oleg Pudeyev
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: