| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
|
Azure Pipelines: There may be pipelines that require an authorized user to comment /azp run to run. |
Sorry, something went wrong.
There was a problem hiding this comment.
Linux/macOS packages built on Windows use incorrect platform implementations, while missing PSMaml schemas break XML help installation and the preparation step lacks required restore-phase configuration.
3 open issuesThis PR aligns PowerShell global-tool packaging with the repository’s .NET 11 dependencies and supplies credentials for authenticated Azure Artifacts restores.
Changes:
| File | Description |
|---|---|
| src/GlobalTools/PowerShell/PowerShell.csproj | Defines the .NET 11 global tool and its platform-specific dependencies and content. |
| .pipelines/templates/step/globaltool-rid-pack.yml | Publishes, signs, and packs runtime-specific tools with explicit feed credentials. |
Review effort: Balanced
Sorry, something went wrong.
| Start-TypeGen | ||
| Write-Verbose -Verbose "Publishing PowerShell global tool for RID: $rid" | ||
| dotnet publish -r $rid --no-self-contained --artifacts-path $artifactsPath /property:PackageVersion=$(Version) --configuration Release /property:ReleaseTag=$ReleaseTagToUse |
| displayName: 'Publish PowerShell global tool (${{ parameters.Rid }})' | ||
| env: | ||
| __DOTNET_RUNTIME_FEED_KEY: $(RUNTIME_SOURCEFEED_KEY) | ||
| VSS_NUGET_EXTERNAL_FEED_ENDPOINTS: $(VSS_NUGET_EXTERNAL_FEED_ENDPOINTS) |
|
|
||
| <ItemGroup> | ||
| <Compile Include="..\..\powershell\Program.cs" Exclude="bin\**;obj\**;**\*.xproj;packages\**" /> | ||
| <None Include="..\PowerShell.Windows.x64\Powershell_64.png" Pack="true" PackagePath="" /> |
Replace GlobalTool.Shim with RID-specific .NET tool (PowerShell#238) Backport of https://github.com/azure-core-compute/PowerShell-MSRC/commit/ff175e3cb7c041549b4170099e4340d0468be54f Related work items: #164793
## Summary - update `src/GlobalTools/PowerShell/PowerShell.csproj` from `net10.0` to `net11.0` - align the cross-platform Global Tool with `Microsoft.PowerShell.SDK` and the Windows Global Tool - fix Release Branch Prep vulnerability-scanner restore failures after moving release/v7.7.0 to .NET 11 ## Validation - `dotnet restore src\GlobalTools\PowerShell\PowerShell.csproj --runtime win-x64 /p:NuGetAudit=false`
<!-- Anything that looks like this is a comment and can't be seen after the Pull Request is created. -->
# PR Summary
Explicitly maps `VSS_NUGET_EXTERNAL_FEED_ENDPOINTS` into the environment of both global-tool steps that invoke `dotnet`: the restore/publish step and the later pack step.
## PR Context
Packaging build 738142 failed in all eight global-tool RID matrix jobs with NU1301 / HTTP 401 while restoring from the `powershell-net-11-early-access` Azure Artifacts feed.
`.pipelines/templates/insert-nuget-config-azfeed.yml` creates `VSS_NUGET_EXTERNAL_FEED_ENDPOINTS` as a secret pipeline variable, but Azure Pipelines does not automatically export secret variables into subsequent task environments. The global-tool publish step only mapped `__DOTNET_RUNTIME_FEED_KEY`, so the Azure Artifacts Credential Provider could not read the endpoint credentials. This change explicitly exports the secret variable to restore/publish and pack for consistent authenticated NuGet access.
Validation:
- `git diff --check` — passed
- `python -c "import pathlib, yaml; p=pathlib.Path(r'.pipelines\\templates\\step\\globaltool-rid-pack.yml'); yaml.safe_load(p.read_text(encoding='utf-8')); print('YAML parsed successfully')"` — passed (`YAML parsed successfully`)
## PR Checklist
- [x] [PR has a meaningful title](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#pull-request---submission)
- Use the present tense and imperative mood when describing your changes
- [x] [Summarized changes](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#pull-request---submission)
- [x] [Make sure all `.h`, `.cpp`, `.cs`, `.ps1` and `.psm1` files have the correct copyright header](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#pull-request---submission)
- [x] This PR is ready to merge. If this PR is a work in progress, please open this as a [Draft Pull Request and mark it as Ready to Review when it is ready to merge](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests#draft-pull-requests).
- **[Breaking changes](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#making-breaking-changes)**
- [x] None
- **OR**
- [ ] [Experimental feature(s) needed](https://github.com/MicrosoftDocs/PowerShell-Docs/blob/main/reference/7.5/Microsoft.PowerShell.Core/About/about_Experimental_Features.md)
- [ ] Experimental feature name(s):
- **User-facing changes**
- [x] Not Applicable
- **OR**
- [ ] [Documentation needed](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#pull-request---submission)
- [ ] Issue filed:
- **Testing - New and feature**
- [x] N/A or can only be tested interactively
- **OR**
- [ ] [Make sure you've added a new test if existing tests do not effectively test the code changed](https://github.com/PowerShell/PowerShell/blob/master/.githu...
| Back | FazBrowse Home | New Git URL |
PR Summary
PR Context
The previous global tool bundled Windows and Unix payloads behind a custom runtime-selection shim. This change adopts the .NET SDK's RID-specific tool packaging model: each supported RID is built and signed independently, while a lightweight pointer package maps installations to the correct RID package.
The project targets .NET 11 to align with the repository SDK dependencies. The packaging tasks also explicitly map the secret Azure Artifacts endpoint credentials into each dotnet task environment because Azure Pipelines does not automatically export secret variables.
Azure DevOps source commits, preserved in chronological order:
Validation:
PR Checklist