31 lines
964 B
YAML
31 lines
964 B
YAML
name: 'publish-nuget'
|
|
description: 'Publishes a NuGet package.'
|
|
|
|
inputs:
|
|
api-key:
|
|
description: 'The API key to use for publishing the package.'
|
|
required: true
|
|
package-name:
|
|
description: 'The name of the NuGet package contains (contains check).'
|
|
default: ''
|
|
source-url:
|
|
description: 'The URL of the NuGet server to publish to. Defaults to https://api.nuget.org/v3/index.json.'
|
|
default: 'https://api.nuget.org/v3/index.json'
|
|
|
|
runs:
|
|
using: 'composite'
|
|
steps:
|
|
- name: Publish NuGet package(s)
|
|
shell: bash
|
|
run: |
|
|
files=$(find . -type f -name "*.nupkg")
|
|
name="${{ inputs.package-name }}"
|
|
|
|
if [ -n "$name" ]; then
|
|
files=$(echo "$files" | grep "$name")
|
|
fi
|
|
|
|
for file in $files; do
|
|
echo "Publishing package: $(basename "$file")"
|
|
dotnet nuget push --api-key "${{ inputs.api-key }}" --source "${{ inputs.source-url }}" --skip-duplicate "$file"
|
|
done |