dotnet / dotnet/arcade-services

Reconcile builds stuck after missed completion events

Open
#6,691 0 comments 0 reactions 1 assignee Claimed by @premun View on GitHub
Dominant language
C#
Stars
86
Forks
86
Avg merge
1d 8h
Merged PRs (30d)
35

Description

## Intent
Add a scheduled action that reconciles builds whose persisted state or GitHub check status is stale because an Azure DevOps completion event was missed.

## Requirements
- Periodically find a bounded set of builds that remain in a non-terminal state beyond an appropriate age threshold.
- Query Azure DevOps for authoritative completion state and repair the corresponding Build Insights state and GitHub check when needed.
- Make reconciliation idempotent and safe to retry.
- Configure a conservative frequency, lookback window, batch size, and query limits.
- Avoid unnecessary Azure DevOps and GitHub requests by filtering locally where possible and skipping already-terminal builds.
- Emit enough telemetry to measure scanned, reconciled, skipped, and failed builds.

## Goal
Ensure missed Azure DevOps completion events cannot leave GitHub checks in progress indefinitely, without introducing an expensive polling workload against Azure DevOps or GitHub.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.