mirror of
https://github.com/saymrwulf/pytorch.git
synced 2026-05-14 20:57:59 +00:00
Check for both workflow and job names from Dr.CI (#110661)
In https://github.com/pytorch/pytorch/pull/110362, the failure was flaky but merge bot treated it as an actual failure. This is a regression after https://github.com/pytorch/test-infra/pull/4604 where the name returned by Dr.CI now includes workflow name. For example, the name is `trunk / macos-12-py3-arm64 / test (default, 2, 3, macos-m1-12)` in the JSON response: ``` {"FAILED": [], "FLAKY": [{"workflowId": 6372581477, "id": 17297638807, "name": "trunk / macos-12-py3-arm64 / test (default, 2, 3, macos-m1-12)", "jobName": "macos-12-py3-arm64 / test (default, 2, 3, macos-m1-12)", "conclusion": "failure", "completed_at": "2023-10-01T22:18:28Z", "html_url": "https://github.com/pytorch/pytorch/actions/runs/6372581477/job/17297638807", "head_branch": "ciflow/trunk/110362", "pr_number": 110362, "head_sha": "03f51e36dedf234931006d1db61677b229c9a119", "failure_captures": ["Failure: There is only 4671284KB free space left in /, which is less than the minimum requirement of"], "failure_line": "Failure: There is only 4671284KB free space left in /, which is less than the minimum requirement of 6291456KB for macOS", "time": "2023-10-01T22:17:53.847751Z"}], "BROKEN_TRUNK": [], "UNSTABLE": []} ``` I update merge bot to handle this better by considering both workflow name, job name, and the combination full name. Pull Request resolved: https://github.com/pytorch/pytorch/pull/110661 Approved by: https://github.com/clee2000
This commit is contained in:
parent
64583c4d04
commit
26bfb0fc21
5 changed files with 21 additions and 2 deletions
BIN
.github/scripts/drci_mocks.json.gz
vendored
BIN
.github/scripts/drci_mocks.json.gz
vendored
Binary file not shown.
BIN
.github/scripts/gql_mocks.json.gz
vendored
BIN
.github/scripts/gql_mocks.json.gz
vendored
Binary file not shown.
BIN
.github/scripts/rockset_mocks.json.gz
vendored
BIN
.github/scripts/rockset_mocks.json.gz
vendored
Binary file not shown.
16
.github/scripts/test_trymerge.py
vendored
16
.github/scripts/test_trymerge.py
vendored
|
|
@ -735,6 +735,22 @@ class TestBypassFailures(TestCase):
|
|||
self.assertTrue(len(ignorable["FLAKY"]) == 2)
|
||||
self.assertTrue(len(ignorable["BROKEN_TRUNK"]) == 4)
|
||||
|
||||
def test_get_classifications_flaky_fullname(self, *args: Any) -> None:
|
||||
pr = GitHubPR("pytorch", "pytorch", 110362)
|
||||
checks = pr.get_checkrun_conclusions()
|
||||
checks = get_classifications(
|
||||
pr.pr_num,
|
||||
pr.project,
|
||||
checks,
|
||||
pr.last_commit()["oid"],
|
||||
pr.get_merge_base(),
|
||||
[],
|
||||
)
|
||||
pending, failed, ignorable = categorize_checks(checks, list(checks.keys()))
|
||||
self.assertTrue(len(pending) == 0)
|
||||
self.assertTrue(len(failed) == 0)
|
||||
self.assertTrue(len(ignorable["FLAKY"]) == 1)
|
||||
|
||||
def test_get_classifications_similar_failures(self, *args: Any) -> None:
|
||||
pr = GitHubPR("pytorch", "pytorch", 109750)
|
||||
checks = pr.get_checkrun_conclusions()
|
||||
|
|
|
|||
7
.github/scripts/trymerge.py
vendored
7
.github/scripts/trymerge.py
vendored
|
|
@ -1588,10 +1588,13 @@ def is_flaky(
|
|||
if not head_job or not drci_classifications:
|
||||
return False
|
||||
|
||||
workflow_name = head_job.get("workflow_name", "")
|
||||
job_name = head_job.get("name", "")
|
||||
full_name = f"{workflow_name} / {job_name}"
|
||||
|
||||
# Consult the list of flaky failures from Dr.CI
|
||||
return any(
|
||||
head_job["name"] == flaky["name"]
|
||||
for flaky in drci_classifications.get("FLAKY", [])
|
||||
full_name == flaky["name"] for flaky in drci_classifications.get("FLAKY", [])
|
||||
)
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue