diff --git a/.github/scripts/drci_mocks.json.gz b/.github/scripts/drci_mocks.json.gz index f51610515dc..14cc3e859fd 100644 Binary files a/.github/scripts/drci_mocks.json.gz and b/.github/scripts/drci_mocks.json.gz differ diff --git a/.github/scripts/gql_mocks.json.gz b/.github/scripts/gql_mocks.json.gz index cc020705c46..7d7b2557652 100644 Binary files a/.github/scripts/gql_mocks.json.gz and b/.github/scripts/gql_mocks.json.gz differ diff --git a/.github/scripts/rockset_mocks.json.gz b/.github/scripts/rockset_mocks.json.gz index e4c237ef30b..45eadee86b6 100644 Binary files a/.github/scripts/rockset_mocks.json.gz and b/.github/scripts/rockset_mocks.json.gz differ diff --git a/.github/scripts/test_trymerge.py b/.github/scripts/test_trymerge.py index fec7afc9174..a4c9080f351 100755 --- a/.github/scripts/test_trymerge.py +++ b/.github/scripts/test_trymerge.py @@ -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() diff --git a/.github/scripts/trymerge.py b/.github/scripts/trymerge.py index e15b0356b21..40431eb3b30 100755 --- a/.github/scripts/trymerge.py +++ b/.github/scripts/trymerge.py @@ -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", []) )