Skip to content

Enable .NET 11 early access across release pipelines - #28024

Merged
Justin Chung (jshigetomi) merged 2 commits into
PowerShell:masterfrom
jshigetomi:jshigetomi-early-access-pipelines
Sep 21, 2026
Merged

Justin Chung (jshigetomi) merged 2 commits into
PowerShell:masterfrom
jshigetomi:jshigetomi-early-access-pipelines

Conversation

@jshigetomi

@jshigetomi Justin Chung (jshigetomi) commented Sep 17, 2026 •

Copy link
Copy Markdown
Collaborator

PR Summary

  • Add net11 to the early-access feed contract and all three feed selectors.
  • Propagate the selected feed through the Windows, macOS, and Linux SDK validation jobs.
  • Add IsEarlyAccess, EarlyAccessFeed, DOTNET_RUNTIME_VERSION, and DOTNET_SDK_VERSION to both official vPack pipelines.
  • Reuse the existing early-access download, SDK installation, and authenticated NuGet feed templates while preserving the normal SDK path when IsEarlyAccess=false.

Affected Azure DevOps definitions:

  • 3261 - APIScan / generate notice
  • 2903 - coordinated binaries
  • 2973 - packages
  • 3157 - release
  • 3160 - PowerShell-vPack-Official
  • 3775 - PowerShell-MSIXBundle-VPack

PR Context

The release agent asks whether a PowerShell release is sim-shipping with .NET. For a sim-ship release, it supplies the same exact runtime version, SDK version, and early-access feed to every downstream definition. These changes complete that contract in PowerShell/PowerShell, including preview-qualified versions such as 11.0.0-rc.1.26425.128 and 11.0.100-rc.1.26425.128.

The net11 mapping follows the confirmed powershell-net-<major>-early-access convention. Feed naming is not availability proof: the release orchestration must block early-access queues until powershell-net-11-early-access is provisioned with the intended upstream and every pipeline identity has read access.

Validation

  • Parsed all 64 files under .pipelines as YAML.
  • Verified all 12 feed enums, all 3 feed URL selectors, all 3 SDK-validation forwarding paths, and both vPack contracts.
  • Exercised Switch-PSNugetConfig -Source EarlyAccess with net11.
  • Exercised Get-DotnetEarlyAccess with preview-qualified and stable .NET 11 runtime/SDK strings and confirmed exact preservation.
  • Parsed build.psm1, ran targeted PSScriptAnalyzer error rules, and ran git diff --check.
  • Passed repository Infrastructure Tests and the relevant GitHub checks.

PR Checklist

Extend the shared early-access feed contract and wire both official vPack definitions through the existing download, SDK installation, and authenticated restore templates.

Co-authored-by: Copilot App <[email protected]>
Copilot AI lite review requested due to automatic review settings September 17, 2026 21:47
@jshigetomi
Justin Chung (jshigetomi) requested a review from a team as a code owner September 17, 2026 21:47
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
There may be pipelines that require an authorized user to comment /azp run to run.

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.

🟡 Changes recommended

Critical vPack and MSIX template invocations pass undeclared parameters and must be corrected.

Get a fresh assessment by requesting another Copilot review.

Pull request overview

Enables .NET 11 early-access feeds across release, package, validation, API scan, vPack, and MSIX pipelines.

Changes:

  • Adds net11 feed mappings and parameter contracts.
  • Propagates early-access SDK versions and credentials.
  • Reuses existing download, installation, and NuGet templates.
  • Preserves standard SDK behavior.
File summaries
File Summary
build.psm1 Adds the .NET 11 feed mapping.
.pipelines/templates/variables/PowerShell-vPack-Variables.yml Extends vPack feed parameters.
.pipelines/templates/variables/PowerShell-Packages-Variables.yml Extends package feed parameters.
.pipelines/templates/variables/PowerShell-Coordinated_Packages-Variables.yml Extends coordinated package parameters.
.pipelines/templates/stages/PowerShell-vPack-Stages.yml Adds early-access setup; contains a critical template-parameter mismatch.
.pipelines/templates/stages/PowerShell-Release-Stages.yml Propagates early-access configuration.
.pipelines/templates/release-validate-sdk.yml Supports .NET 11 SDK validation.
.pipelines/templates/insert-nuget-config-azfeed.yml Adds .NET 11 credential endpoint mapping.
.pipelines/PowerShell-vPack-Official.yml Exposes and forwards early-access parameters.
.pipelines/PowerShell-Release-Official.yml Extends official release configuration.
.pipelines/PowerShell-Packages-Official.yml Extends official package configuration.
.pipelines/PowerShell-Coordinated_Packages-Official.yml Extends coordinated package configuration.
.pipelines/NonOfficial/PowerShell-Release-NonOfficial.yml Extends non-official release parameters.
.pipelines/NonOfficial/PowerShell-Packages-NonOfficial.yml Extends non-official package parameters.
.pipelines/NonOfficial/PowerShell-Coordinated_Packages-NonOfficial.yml Extends non-official coordinated package parameters.
.pipelines/MSIXBundle-vPack-Official.yml Adds early-access setup; contains a critical template-parameter mismatch.
.pipelines/apiscan-gen-notice.yml Adds the .NET 11 feed option.
Review details
  • Files reviewed: 17/17 changed files
  • Comments generated: 2
  • Review effort level: Lite

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

Comment thread .pipelines/MSIXBundle-vPack-Official.yml
Comment thread .pipelines/templates/stages/PowerShell-vPack-Stages.yml
Comment thread .pipelines/templates/stages/PowerShell-vPack-Stages.yml Outdated
Comment thread .pipelines/templates/variables/PowerShell-vPack-Variables.yml Outdated
Comment thread .pipelines/MSIXBundle-vPack-Official.yml Outdated
Comment thread .pipelines/PowerShell-vPack-Official.yml Outdated
@microsoft-github-policy-service microsoft-github-policy-service Bot added the Waiting on Author The PR was reviewed and requires changes or comments from the author before being accept label Sep 17, 2026
@adityapatwardhan

Copy link
Copy Markdown
Member

Removing backport labels

@microsoft-github-policy-service microsoft-github-policy-service Bot removed the Waiting on Author The PR was reviewed and requires changes or comments from the author before being accept label Sep 20, 2026
@jshigetomi
Justin Chung (jshigetomi) merged commit b4831e5 into PowerShell:master Sep 21, 2026
40 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CL-BuildPackaging Indicates that a PR should be marked as a build or packaging change in the Change Log

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants