Skip to content

[release/10.0.4xx] Restrict CI package publishing to Windows Release - #10501

Merged
mmitche merged 1 commit into
release/10.0.4xxfrom
mmitche-publishing-backport-10-0-4xx
Sep 23, 2026
Merged

mmitche merged 1 commit into
release/10.0.4xxfrom
mmitche-publishing-backport-10-0-4xx

Conversation

@mmitche

@mmitche mmitche commented Sep 21, 2026

Copy link
Copy Markdown
Member

Problem

Backport of #10496 to release/10.0.4xx. Multiple OS/configuration legs can publish the same packages to shared PackageArtifacts/BlobArtifacts containers.

Solution

Semantically adapt the publishing restriction to this release branch rather than blindly cherry-picking main:

  • In azure-pipelines-pr.yml, add the Windows Debug publishing suppression missing from this branch and disable publishing for every Linux/macOS configuration. Windows Release remains the publisher.
  • In azure-pipelines.yml, append /p:Publish=false for every non-Release Windows configuration on both PR and non-PR paths, and for every Linux/macOS configuration.
  • Preserve this branch's older official product pipeline structure, signing, source-build settings, build/test/integration-test coverage, package creation, diagnostic artifact/test-result publishing, and localization. Do not introduce main's newer assetless official-pipeline routing.

CI wrappers enable publishing before caller arguments; the trailing Publish=false override suppresses package publishing without changing legacy DotNetPublishUsingPipelines settings.

Checks:

  • Added unit tests

YAML-only change. Reused the existing release validator, scoped exclusively to release/10.0.4xx: 96 local scenarios and 388 build legs passed, covering public/internal, PR/non-PR, pipeline names, source branches, and Release/Debug/Checked configurations (including Debug-only). Exactly one publisher, Windows Release, remains when a Release leg exists; Debug-only parameterized scenarios have none. The validator confirmed identical build-leg coverage and non-publishing YAML structure, plus caller-property ordering in both CI wrappers/build scripts. Independent YAML parsing and structural comparison confirmed only the intended publishing overrides changed. Scoped git diff --check passed.

Refreshed origin/release/10.0.4xx and confirmed the existing backport commit remains based on its current head. Validation is a local expression-subset evaluation, not Azure server expansion; external templates were not expanded. No dependency installs, full builds, live CI runs, or CI retries were performed.

Adapt main commit 44cea09, including Debug suppression missing from this release branch. Preserve build and test coverage, signing, and per-leg diagnostic artifacts.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@mmitche
mmitche requested a review from a team as a code owner September 21, 2026 21:15
@mmitche
mmitche merged commit cb1c435 into release/10.0.4xx Sep 23, 2026
9 checks passed
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