Skip to content

Auto-rerun transient Docker startup failures in .NET CI#1360

Merged
aaronpowell merged 3 commits into
mainfrom
aaronpowell/auto-rerun-failures
May 26, 2026
Merged

Auto-rerun transient Docker startup failures in .NET CI#1360
aaronpowell merged 3 commits into
mainfrom
aaronpowell/auto-rerun-failures

Conversation

@aaronpowell

Copy link
Copy Markdown
Member

N/A

Adds an automated recovery path for transient GitHub Actions failures in PR runs where Docker startup is the root cause.

A new workflow listens for completed .NET CI runs and selectively reruns only failed jobs when they match known transient Docker signatures:

  • Verify Docker is running failed
  • Setup Runtimes, Caching, and Tools failed with failed to bind host port ... address already in use

To avoid retry loops and preserve signal for legitimate failures, reruns are limited to the first attempt only (run_attempt == 1) and non-matching failures are skipped.

PR Checklist

  • Created a feature/dev branch in your fork (vs. submitting directly from a commit on main)
  • Based off latest main branch of toolkit
  • PR doesn't include merge commits (always rebase on top of our main, if needed)
  • New integration
    • Docs are written
    • Added description of major feature to project description for NuGet package (4000 total character limit, so don't push entire description over that)
  • Tests for the changes have been added (for bug fixes / features) (if applicable)
  • Contains NO breaking changes
  • Every new API (including internal ones) has full XML docs
  • Code follows all style conventions

Other information

This change is intentionally narrow so it does not rerun all failed jobs. It only retries jobs with the two Docker-related transient failure patterns observed in recent CI failures.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings May 26, 2026 01:11
@github-actions

github-actions Bot commented May 26, 2026

Copy link
Copy Markdown
Contributor

🚀 Dogfood this PR with:

⚠️ WARNING: Do not do this without first carefully reviewing the code of this PR to satisfy yourself it is safe.

curl -fsSL https://raw.githubusercontent.com/CommunityToolkit/Aspire/main/eng/scripts/dogfood-pr.sh | bash -s -- 1360

Or

  • Run remotely in PowerShell:
iex "& { $(irm https://raw.githubusercontent.com/CommunityToolkit/Aspire/main/eng/scripts/dogfood-pr.ps1) } 1360"

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds a GitHub Actions workflow that automatically reruns only those failed .NET CI jobs whose failure matches known transient Docker-startup issues, reducing manual intervention and CI noise for PRs.

Changes:

  • Introduces a new workflow_run-triggered workflow that listens for completed .NET CI runs and inspects failed jobs.
  • Reruns only failed jobs that match either a failed “Verify Docker is running” step or a port-binding “address already in use” signature during setup.
  • Guards against retry loops by only acting on the first run attempt (run_attempt == 1).
Show a summary per file
File Description
.github/workflows/auto-rerun-transient-failures.yml New automation workflow to selectively rerun failed .NET CI jobs when failures match transient Docker startup signatures.

Copilot's findings

  • Files reviewed: 1/1 changed files
  • Comments generated: 1

Comment thread .github/workflows/auto-rerun-transient-failures.yml
aaronpowell and others added 2 commits May 26, 2026 11:24
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@aaronpowell aaronpowell merged commit cab79a6 into main May 26, 2026
122 of 129 checks passed
@aaronpowell aaronpowell deleted the aaronpowell/auto-rerun-failures branch May 26, 2026 01:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants