Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot
AI
requested
a balanced review from Copilot
and removed request for
Copilot
August 27, 2026 19:06
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
The new retry contract test does not verify job-scoped eligibility, the retry API call, or the fallback dependency.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
Adds one guarded retry for failed rolling main CI builds and coordinates red-main issue reporting with that retry.
Changes:
- Retries failed jobs once when the failed commit is still current.
- Defers or falls back to red-main issue reporting.
- Updates workflow tests and CI documentation.
File summaries
| File | Description |
|---|---|
.github/workflows/auto-rerun-transient-ci-failures.yml |
Adds rolling retry and reporting fallback jobs. |
.github/workflows/ci.yml |
Defers first-attempt main failure reporting. |
.github/workflows/report-ci-failure.js |
Updates reporter documentation. |
tests/Infrastructure.Tests/WorkflowScripts/AutoRerunTransientCiFailuresTests.cs |
Adds retry workflow contract coverage. |
tests/Infrastructure.Tests/WorkflowScripts/ExtensionReleaseFastPathWorkflowTests.cs |
Verifies deferred tracker behavior. |
docs/ci/auto-rerun-transient-ci-failures.md |
Documents rolling retries. |
docs/ci/auto-rerun-outerloop-failures.md |
Clarifies workflow responsibilities. |
docs/ci/ci-failure-issues.md |
Documents retry/reporting coordination. |
Review details
- Files reviewed: 8/8 changed files
- Comments generated: 1
- Review effort level: Balanced
Comment on lines
+949
to
+953
| Assert.Contains("rerun-rolling-ci-failure:", workflowText); | ||
| Assert.Contains("github.event.workflow_run.event == 'push'", workflowText); | ||
| Assert.Contains("github.event.workflow_run.head_branch == 'main'", workflowText); | ||
| Assert.Contains("github.event.workflow_run.conclusion == 'failure'", workflowText); | ||
| Assert.Contains("github.event.workflow_run.run_attempt == 1", workflowText); |
Member
|
fyi Ankit Jain (@radical) since you said you would take a look at this. This is the PR that we started last week when we prompted copilot into addressing this. |
Member
|
[automated] Closing in favor of #20345, which covers current-main failed-job retries and defers failure analysis until the final failed attempt. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Rolling CI builds on
mainare frequently red because the aggregate probability of at least one low-frequency test flake is high. This change gives the first failed attempt for the currentmaincommit one automatic rerun of failed jobs.The rolling retry is a separate job in the existing auto-rerun workflow, leaving the PR failure-analysis path unchanged. Before requesting the retry, it verifies that
mainstill points at the failed run's commit so a stale retry cannot replace a newer pending build in the CI concurrency group. Only attempt 1 is eligible.Red-main issue reporting is coordinated with the retry:
Validation:
Infrastructure.Testscoverage for the workflow and issue-reporting contracts. The local test run was blocked because the configured Arcade SDK feed returned HTTP 403; PR CI will run these tests.Fixes # (issue)
Checklist
<remarks />and<code />elements on your triple slash comments?Created from a Microsoft Teams conversation.