[SERVER-29645] Create script to commit changes to etc/test_lifecycle.yml after running buildscripts/update_test_lifecycle.py Created: 14/Jun/17  Updated: 30/Oct/23  Resolved: 31/Jul/17

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

Type: New Feature Priority: Major - P3
Reporter: Max Hirschhorn Assignee: Yves Duhem
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
Backwards Compatibility: Fully Compatible
Sprint: TIG 2017-07-10, TIG 2017-07-31, TIG 2017-08-21
Participants:

 Description   

A new Evergreen build variant and task should be added to the etc/evergreen.yml project configuration that runs the update_test_lifecycle.py script once a day (batchtime=86400, stepback=false). The update_test_lifecycle.py script should have a mode where it does the following.

1. Clones a fresh copy of the mongodb/mongo test-metadata repository using the project name as the branch name

git clone --branch=${project} https://github.com/mongodb/mongo-test-metadata

2. Sets up the author name and email.

git config --local user.name "Test Lifecycle"
git config --local user.email <email>

3. Update the etc/test_lifecycle.yml in the mongo-test-metadata repository

4. Checks the references.yml file in the mongo-test-metadata repository to ensure that the metadata is not more recent that the current task's commit.

  • This is done by checking that the revision referenced in references.yml is an ancestor of the current task revision.
    (a) if so, then sys.exit(0).
    (b) if not, then continue to step #5.

5. Update the references.yml file to specify the current revision

6. Create a TIGBOT ticket with description including the changed tags and corresponding failure rates

7. Commit the changes in mongo-test-metada with a reference to the newly created TIGBOT ticket

8. Attempt to push the changes to GitHub
(a) If the push succeeds, then continue to step #9.
(b) If the push fails, then for up to 10 times, try the following:

  • Fetch the branch from GitHub

    git fetch origin ${project}
    

  • Check that the local etc/test_lifecycle.yml is different from the one in the fetched branch. If not, then sys.exit(0).
  • Perform step #4 on the fetched branch
  • Rebase

    git rebase origin/${project} --ignore-date
    

  • Run step #8 again

(c) If push still fails, then close the TIGBOT ticket as "Won't fix" and sys.exit(1)

9. Resolves the TIGBOT ticket as "Fixed".



 Comments   
Comment by Githook User [ 27/Jul/17 ]

Author:

{'email': 'yves.duhem@mongodb.com', 'username': 'syev', 'name': 'Yves Duhem'}

Message: SERVER-29645 Task to update and commit test lifecycle tags
Branch: master
https://github.com/mongodb/mongo/commit/6f65258f63856bf6a607b088f67e32fce40b7f3e

Generated at Thu Feb 08 04:21:26 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.