Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-59451

Evergreen-aware bisect

    • STM 2021-09-20, STM 2021-10-04, STM 2021-10-18
    • 3

      Write a binary search function on Evergreen version history that simulates what git bisect does, but treat Evergreen versions as git commits if the build in a version for a particular variant has valid artifacts and binaries.

      0. Ask the user for the branch to bisect as a cmdline arg and find the corresponding Evergreen projects for that branch (It should just all be "mongodb-mongo-" + branch name)
      1. Count all commits in the branch and store them in memory up to lookbackDays,
      2. update multiversion_setup to allow users to specific a variant on the command line which supersedes the --platform, --edition, and --architecture options. Code is here. The variant name gets used here
      3. Find the middle Evergreen version
      4. Set up the dev environment using setup-multiversion, optionally pip install buildscripts/dev-requirements.txt if there isn't an existing python virtualenv from Evergreen (which there isn't for commits older than a few months).
      5. function to run a script that checks if the commit is good or bad ("git bisect run my_script arguments")
      6. based on result of function in step 4, bisect to the right or left accordingly.
      7. Tell the user that the problem is within a certain commit range, where the range is contains two consecutive Evergreen runs, with the earlier one passing and later one failing.

            Assignee:
            tausif.rahman@mongodb.com Tausif Rahman (Inactive)
            Reporter:
            robert.guo@mongodb.com Robert Guo (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: