[SERVER-59451] Evergreen-aware bisect Created: 19/Aug/21  Updated: 13/Oct/21  Resolved: 13/Oct/21

Status: Closed
Project: Core Server
Component/s: Testing Infrastructure
Affects Version/s: None
Fix Version/s: None

Type: Task Priority: Major - P3
Reporter: Robert Guo (Inactive) Assignee: Tausif Rahman (Inactive)
Resolution: Done Votes: 0
Labels: tig-bisect
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-59449 Add resmoke.py `bisect` command Closed
Issue split
split from SERVER-57730 Resmoke.py should bisect non-multiver... Closed
Sprint: STM 2021-09-20, STM 2021-10-04, STM 2021-10-18
Participants:
Story Points: 3

 Description   

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.



 Comments   
Comment by Githook User [ 13/Oct/21 ]

Author:

{'name': 'trahman1318', 'email': 'tausif.rahman@mongodb.com', 'username': 'trahman1318'}

Message: SERVER-59451 Evergreen-aware bisect
Branch: master
https://github.com/mongodb/mongo/commit/914b9146ec1a4aec5633f4828f4610315c786914

Comment by Brooke Miller [ 13/Sep/21 ]

As discussed in Standup, users that run the bisect command will not need to specify the binaries and artifacts when running the bisection. Also, we do not ned to download the debug symbols since those are only relevant for failures that result in a hang and need to be used for the hang analyzer.

Generated at Thu Feb 08 05:47:17 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.