Skip to content

[release/v7.6.10] Fix module-only vPack build feed credentials - #28362

Merged
Dongbo Wang (daxian-dbw) merged 1 commit into
PowerShell:release/v7.6.10from
daxian-dbw:backport/release/v7.6.10/28356-1aac7f5e3
Nov 5, 2026
Merged

Dongbo Wang (daxian-dbw) merged 1 commit into
PowerShell:release/v7.6.10from
daxian-dbw:backport/release/v7.6.10/28356-1aac7f5e3

Conversation

@daxian-dbw

Copy link
Copy Markdown
Member

Backport of #28356 to release/v7.6.10

Triggered by Dongbo Wang (@daxian-dbw) on behalf of Aditya Patwardhan (@adityapatwardhan)

Original CL Label: CL-BuildPackaging

/cc @PowerShell/powershell-maintainers

Impact

REQUIRED: Choose either Tooling Impact or Customer Impact (or both). At least one checkbox must be selected.

Tooling Impact

  • Required tooling change
  • Optional tooling change (include reasoning)

Fixes authenticated bundled-module restores in vPack and MSIX builds when UseEarlyAccessModules is enabled without IsEarlyAccess. Both build steps explicitly map the secret VSS_NUGET_EXTERNAL_FEED_ENDPOINTS variable into their environment, since Azure Pipelines does not automatically export secret variables.

Customer Impact

  • Customer reported
  • Found internally

Regression

REQUIRED: Check exactly one box.

  • Yes
  • No

Fixes credential mapping omitted when the internal module-feed feature from #28326 was backported to release/v7.6.10 via #28355.

Testing

Includes the original PR's regression coverage requiring direct secret credential mappings in both build-step environment blocks. Independent review confirmed the intended mappings, preservation of release runtime-key behavior, documentation and regression additions, no remaining YAML conflict markers, and a passing git diff --check HEAD. Local YAML parsing was skipped at the user's request; local Pester tests were not run. Cherry-pick completed as 3a91ff5 and the worktree is clean. Backport CI, including Azure Pipelines authentication validation, must pass before merge.

Risk

REQUIRED: Check exactly one box.

  • High
  • Medium
  • Low

Changes shared build pipeline authentication, but the fix is limited to explicit environment mappings for the existing secret variable. Release-specific runtime-key behavior is unchanged, and regression tests cover both mappings. CI validation is required before merge.

Merge Conflicts

Resolved conflicts in .pipelines/MSIXBundle-vPack-Official.yml and .pipelines/templates/stages/PowerShell-vPack-Stages.yml. In both files, added a direct VSS_NUGET_EXTERNAL_FEED_ENDPOINTS environment mapping to the Build Windows Universal step. Preserved the release vPack template's existing unconditional __DOTNET_RUNTIME_FEED_KEY mapping. The release MSIX pipeline has no IsEarlyAccess parameter or runtime-feed-key mapping, so did not import master's unrelated conditional runtime-key block. Documentation and regression tests applied without conflicts.

@daxian-dbw Dongbo Wang (daxian-dbw) added the CL-BuildPackaging Indicates that a PR should be marked as a build or packaging change in the Change Log label Nov 5, 2026
Copilot AI balanced review requested due to automatic review settings November 5, 2026 19:34
@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.

🔵 Needs a closer look

Module-only vPack and MSIX restores require Azure Pipelines runtime validation because static review cannot confirm secret propagation, credential-provider authentication, or service-connection feed access.

No open issues 🎉

What changed in this PR

Backports #28356 to release/v7.6.10, fixing authenticated bundled-module restores in vPack and MSIX builds when UseEarlyAccessModules is enabled without IsEarlyAccess.

Changes:

  • Explicitly maps secret feed credentials into both build-step environments while preserving release-specific runtime-feed-key behavior.
  • Adds regression coverage for both direct credential mappings.
  • Documents the requirement to explicitly export secret variables.
File Description
test/​infrastructure/​NugetConfig.Tests.ps1 Adds checks for direct credential mappings in both build steps.
docs/​building/​internals.md Documents explicit secret environment mapping requirements.
.pipelines/​templates/​stages/​PowerShell-vPack-Stages.yml Maps feed credentials into the vPack build environment.
.pipelines/​MSIXBundle-vPack-Official.yml Maps feed credentials into the MSIX build environment.

Review effort: Balanced

@daxian-dbw
Dongbo Wang (daxian-dbw) merged commit ac0b83b into PowerShell:release/v7.6.10 Nov 5, 2026
35 checks passed
@daxian-dbw
Dongbo Wang (daxian-dbw) deleted the backport/release/v7.6.10/28356-1aac7f5e3 branch November 5, 2026 21:26
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