Add report-green AzDO pipeline so Build Analysis completes on build-excluded PRs#7623
Open
kotlarmilos wants to merge 5 commits into
Open
Add report-green AzDO pipeline so Build Analysis completes on build-excluded PRs#7623kotlarmilos wants to merge 5 commits into
kotlarmilos wants to merge 5 commits into
Conversation
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>
Contributor
There was a problem hiding this comment.
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.ymlworkflow triggered onpull_requesttomain,feature/*, andrelease/*. - Adds a single
pr-gatejob 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
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>
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>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
rosebyte
approved these changes
Jun 10, 2026
Codecov Report✅ All modified and coverable lines are covered by tests. 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
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
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.
Problem
PRs that touch only build-excluded paths (
.github/*,docs/*,**.md,LICENSE,THIRD-PARTY-NOTICES.TXT) queue no AzDO build, becauseMachineLearning-CIandMachineLearning-CodeCoverageexclude those paths from PR validation. Build Analysis waits for an AzDObuild.completedevent that never arrives and staysin_progressindefinitely, blocking merge. Tracked upstream in dotnet/arcade-services#6311.Fix
Mirrors dotnet/runtime's
eng/pipelines/report-green.yml. Addsbuild/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 whosebuild.completedevent lets Build Analysis report green.This is the mechanism Build Analysis actually uses. A GitHub Actions check posting a same-named
Build Analysisrun 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:build/report-green.yml(e.g.MachineLearning-Report-Green).main/feature/*/release/*so it runs on PRs.After that, build-excluded PRs trigger
report-green, emitbuild.completed, and Build Analysis goes green automatically. Build Analysis stays a required check.