Skip to content

Add report-green AzDO pipeline so Build Analysis completes on build-excluded PRs#7623

Open
kotlarmilos wants to merge 5 commits into
mainfrom
fix/pr-gate-always-complete
Open

Add report-green AzDO pipeline so Build Analysis completes on build-excluded PRs#7623
kotlarmilos wants to merge 5 commits into
mainfrom
fix/pr-gate-always-complete

Conversation

@kotlarmilos

@kotlarmilos kotlarmilos commented Jun 10, 2026

Copy link
Copy Markdown
Member

Problem

PRs that touch only build-excluded paths (.github/*, docs/*, **.md, LICENSE, THIRD-PARTY-NOTICES.TXT) queue no AzDO build, because MachineLearning-CI and MachineLearning-CodeCoverage exclude those paths from PR validation. Build Analysis waits for an AzDO build.completed event that never arrives and stays in_progress indefinitely, blocking merge. Tracked upstream in dotnet/arcade-services#6311.

Fix

Mirrors dotnet/runtime's eng/pipelines/report-green.yml. Adds build/report-green.yml, an AzDO pipeline with the inverse path filter (it triggers only on the paths the main pipelines exclude) and an agentless no-op job (pool: server, Delay@1). It produces a real AzDO build whose build.completed event lets Build Analysis report green.

This is the mechanism Build Analysis actually uses. A GitHub Actions check posting a same-named Build Analysis run does not work, because Build Analysis is driven by the AzDO event, not by a check run.

Required AzDO setup

The YAML alone is inert until the pipeline is registered in dnceng-public:

  1. Create a new pipeline pointing at build/report-green.yml (e.g. MachineLearning-Report-Green).
  2. Add it to the PR build validation for main/feature/*/release/* so it runs on PRs.

After that, build-excluded PRs trigger report-green, emit build.completed, and Build Analysis goes green automatically. Build Analysis stays a required check.

PRs that only touch .github/* skip the AzDO MachineLearning-CI and
MachineLearning-CodeCoverage pipelines, so Build Analysis never receives a
build.completed event and stays in_progress indefinitely, blocking merge
(dotnet/arcade-services#6311). Add a GitHub Actions check that always
completes to serve as a stable required merge gate.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings June 10, 2026 12:31

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

Adds a minimal GitHub Actions workflow to provide an always-completing required check for PRs that only touch .github/*, avoiding indefinite “in_progress” Build Analysis states when AzDO PR validations don’t run.

Changes:

  • Introduces a new .github/workflows/pr-gate.yml workflow triggered on pull_request to main, feature/*, and release/*.
  • Adds a single pr-gate job that performs a no-op command (echo) and succeeds.
Show a summary per file
File Description
.github/workflows/pr-gate.yml Adds a lightweight PR workflow intended to always succeed so branch protection can rely on a stable, always-completing check.

Copilot's findings

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

@kotlarmilos kotlarmilos self-assigned this Jun 10, 2026
When every changed file is excluded from AzDO PR build validation
(.github/*, **.md, docs/*, LICENSE, THIRD-PARTY-NOTICES.TXT), no build
runs and the Arcade Build Analysis check hangs in_progress, blocking merge
(dotnet/arcade-services#6311). Post a successful Build Analysis check run in
that case so the required check completes; real PRs are untouched.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@kotlarmilos kotlarmilos changed the title Add always-completing PR Gate check for workflow-only PRs PR Gate: satisfy required Build Analysis on build-excluded PRs Jun 10, 2026
Mirror dotnet/runtime's eng/pipelines/report-green.yml. The main AzDO
pipelines exclude .github/*, docs/*, **.md, LICENSE and THIRD-PARTY-NOTICES.TXT
from PR validation, so PRs touching only those paths queue no build and the
Arcade Build Analysis check hangs in_progress, blocking merge
(dotnet/arcade-services#6311).

report-green.yml has the inverse path filter and an agentless no-op job
(pool: server, Delay@1). It produces a real AzDO build whose build.completed
event lets Build Analysis report green. A GitHub Actions check cannot do this
because Build Analysis listens for the AzDO event, not a same-named check run.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@kotlarmilos kotlarmilos changed the title PR Gate: satisfy required Build Analysis on build-excluded PRs Add report-green AzDO pipeline so Build Analysis completes on build-excluded PRs Jun 10, 2026
kotlarmilos and others added 2 commits June 10, 2026 14:52
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@codecov

codecov Bot commented Jun 10, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 69.59%. Comparing base (548d4d0) to head (6dd98f1).
⚠️ Report is 3 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #7623   +/-   ##
=======================================
  Coverage   69.59%   69.59%           
=======================================
  Files        1484     1484           
  Lines      273606   273606           
  Branches    27949    27949           
=======================================
+ Hits       190410   190415    +5     
+ Misses      75832    75829    -3     
+ Partials     7364     7362    -2     
Flag Coverage Δ
Debug 69.59% <ø> (+<0.01%) ⬆️
production 63.84% <ø> (+<0.01%) ⬆️
test 89.63% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.
see 3 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

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.

3 participants