Repository navigation
Add PowerShell support to update-dependencies - #7381
Merged
Merged
Conversation
Add a per-.NET-version powershell|<X>|base-url variable pointing at the directory containing the PowerShell nupkgs and SHA512SUMS, instead of hardcoding public/internal URLs in the sdk templates. PowerShell's internal/public state is now independent of .NET's, so the sdk templates request ACCESSTOKEN when either one is internal. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: ae5811c9-20e9-4453-916d-fe73b50582d5
Substitute the version in powershell|<X>|base-url with \ (or \ for the dashed internal layout) so generated Dockerfiles only write the version once, like the .NET downloads. Use the real internal storage layout in the internal Dockerfile baseline test. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: ae5811c9-20e9-4453-916d-fe73b50582d5
Updaters that implement IVersionSourceUpdater get --internal, --base-url, and --dotnet-version options on their version command. Other updaters are unchanged. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: ae5811c9-20e9-4453-916d-fe73b50582d5
Move version source handling out of FromVersionCommand into a separate FromVersionSourceCommand that DependencyCommand adds based on the updater's interfaces, like the other update sources. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: ae5811c9-20e9-4453-916d-fe73b50582d5
Move --internal, --base-url, and --dotnet-version onto FromVersionOptions and pass them as parameters to IVersionUpdater.ResolveFromVersionAsync. This removes the separate VersionSource record, VersionSourceOptions helper, IVersionSourceUpdater interface, and FromVersionSourceCommand. MonitorUpdater rejects these options. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: ae5811c9-20e9-4453-916d-fe73b50582d5
Adds a 'powershell version' command that updates PowerShell versions, base URLs, and checksums from the SHA512SUMS file for public or internal builds. Internal downloads authenticate with the staging service connection through AzurePipelinesCredential. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: ae5811c9-20e9-4453-916d-fe73b50582d5
lbussell
marked this pull request as ready for review
October 1, 2026 18:37
mthalman
reviewed
Oct 1, 2026
mthalman
approved these changes
Oct 1, 2026
Member
Author
|
/azp run dotnet-docker-nightly-pr |
Member
Author
|
/azp run dotnet-docker-nightly-pr-no-cache |
|
Azure Pipelines: Successfully started running 1 pipeline(s). |
1 similar comment
|
Azure Pipelines: Successfully started running 1 pipeline(s). |
This was referenced Oct 5, 2026
lbussell
added a commit
that referenced
this pull request
Oct 9, 2026
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: ae5811c9-20e9-4453-916d-fe73b50582d5
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.
Previously, PowerShell versions and checksums in
manifest.versions.jsonwere updated by hand. SDK Dockerfile templates also hardcoded the public and internal download URLs.This PR moves the PowerShell download location into the manifest and adds a
powershellcommand to update-dependencies that can manage PowerShell updates.Changes to templates
Added
powershell|base-url|public,powershell|base-url|internal, and a per-.NET-versionpowershell|<version>|base-urlvariable. PowerShell can be internal independently of .NET.Changes to update-dependencies
powershell version <version> (--internal) (--base-url <url>)--internalautomatically handles updating to internal versions.powershell latest (--dotnet-version <version>)Changes to other commands
Updated Monitor command and updater to match the one-off style of the PowerShell command. The generic
IVersionUpdaterandIPipelineBuildUpdaterinterfaces were not serving these commands well - they are each unique. Themonitor pipeline-buildandmonitor versioncommands and behavior are unchanged.