Skip to content

Skip expensive PR pipelines for doc-only and metadata-only changes - #69004

Open
javiercn with Copilot wants to merge 2 commits into
mainfrom
copilot/limit-ci-configurations
Open

Skip expensive PR pipelines for doc-only and metadata-only changes#69004
javiercn with Copilot wants to merge 2 commits into
mainfrom
copilot/limit-ci-configurations

Conversation

Copilot AI commented Sep 2, 2026

Copy link
Copy Markdown
Contributor
  • You've read the Contributor Guide and Code of Conduct.
  • You've included unit or integration tests for your change, where applicable.
  • You've included inline docs for your change, where applicable.
  • There's an open issue for the PR that you are making. If you'd like to propose a new feature or change, please open an issue to discuss the change or find an existing issue.

Stop queueing expensive PR validation when every changed file is documentation or repo metadata.

Description

The non-code path filters were already in place for aspnetcore-ci, aspnetcore-quarantined-pr, and aspnetcore-always-green, but two gaps meant they didn't fully take effect.

  • License filename casing (ci-public.yml, quarantined-pr.yml, report-green.yml): the filters listed LICENSE.TXT / THIRD-PARTY-NOTICES.TXT, which don't match the files on disk. Corrected to LICENSE.txt / THIRD-PARTY-NOTICES.txt so those edits actually skip CI and instead trigger the always-green job that Build Analysis depends on.

    paths:
      exclude:
      ...
      - LICENSE.txt
      - THIRD-PARTY-NOTICES.txt
  • Template tests (template-tests-pr.yml): include-only filters meant a markdown edit under src/ProjectTemplates, src/Components, or src/Mvc still queued Helix template tests. Added exclude: '**/*.md', matching what components-e2e-tests.yml already does.

  • Stale comment (ci-public.yml): the header still claimed the pipeline has no path exclusions. Replaced with a note describing the doc-only skip and the report-green.yml fallback.

components-e2e-tests.yml needed no change — its include list plus existing **/*.md exclusion already prevents the proposed non-code paths from triggering it.

Verification is static: the pipeline YAML was parsed and the resolved pr.paths filters were compared against the list in the issue and the actual filenames in the repo. Azure Pipelines evaluates these filters service-side, so end-to-end behavior can only be confirmed after merge.

Co-authored-by: javiercn <6995051+javiercn@users.noreply.github.com>
Copilot AI changed the title [WIP] Limit CI configurations running on non-code changes Skip expensive PR pipelines for doc-only and metadata-only changes Sep 2, 2026
Copilot AI requested a review from javiercn September 2, 2026 17:06
@javiercn
javiercn marked this pull request as ready for review September 2, 2026 17:07
Copilot AI lite review requested due to automatic review settings September 2, 2026 17:07
@javiercn
javiercn requested review from a team and wtgodbe as code owners September 2, 2026 17:07

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.

🟢 Approval recommended

The YAML changes are small, consistent with Azure Pipelines path-matching rules, and the corrected filenames match the actual repo casing.

Pull request overview

This PR tightens Azure Pipelines PR path filtering so expensive validation pipelines are skipped when a PR only changes documentation or selected repository-metadata files, while still ensuring the required “always green” pipeline runs for Build Analysis.

Changes:

  • Fixes license file path exclusions to match on-disk casing (LICENSE.txt, THIRD-PARTY-NOTICES.txt) so doc/metadata-only changes actually skip the expensive PR pipelines.
  • Prevents template-tests-pr.yml from running Helix template tests for markdown-only changes by excluding **/*.md.
  • Updates ci-public.yml header comments to accurately describe the doc/metadata-only skip behavior and the report-green.yml fallback.
File summaries
File Description
.azure/pipelines/template-tests-pr.yml Adds pr.paths.exclude: '**/*.md' so markdown-only edits don’t queue template Helix tests.
.azure/pipelines/report-green.yml Corrects excluded license filenames’ casing so report-green can reliably cover doc/metadata-only PRs.
.azure/pipelines/quarantined-pr.yml Corrects excluded license filenames’ casing so quarantined PR validation can be skipped for doc/metadata-only PRs.
.azure/pipelines/ci-public.yml Corrects excluded license filenames’ casing and updates comments to reflect the doc/metadata-only skip + report-green fallback behavior.
Review details
  • Files reviewed: 4/4 changed files
  • Comments generated: 0
  • Review effort level: Lite

💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.

@Youssef1313 Youssef1313 added the area-infrastructure Includes: MSBuild projects/targets, build scripts, CI, Installers and shared framework label Sep 2, 2026
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Hey @dotnet/aspnet-build, looks like this PR is something you want to take a look at.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-infrastructure Includes: MSBuild projects/targets, build scripts, CI, Installers and shared framework

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Infrastructure] Limit the CI configurations that run when not making code changes

6 participants