Open
Description
Description:
When NuGet.Config
contains a package source that matches source-url
, automatically auth that source correctly.
Justification:
Currently a user may have the following step in their Action:
- uses: actions/setup-dotnet@v4
with:
dotnet-version: 8.x.x
source-url: https://nuget.pkg.github.com/example/index.json
env:
NUGET_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}
And a NuGet.Config
with the following:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
<add key="github" value="https://nuget.pkg.github.com/example/index.json" />
</packageSources>
<packageSourceMapping>
<packageSource key="nuget.org">
<package pattern="*" />
</packageSource>
<packageSource key="github">
<package pattern="Example.*" />
</packageSource>
</packageSourceMapping>
</configuration>
Nuget restore will fail with authorization errors, which is unexpected since they provided a source-url
and NUGET_AUTH_TOKEN
.
They have to manually auth the mapping:
- name: dotnet
run: dotnet ...
env:
NuGetPackageSourceCredentials_github: Username=${{ github.actor }};Password=${{ secrets.GITHUB_TOKEN }}
The setup-dotnet
should automatically fixup the auth for mappings that match the provided source-url