betalgo/Betalgo-Nuget-Publisher
Publish .NET projects to NuGet and GitHub Packages with a dedicated .NET runner.
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Maintainedlast commit Nov 28, 2025
- License
- MIT
Pinned Snippet
uses: betalgo/nugetpublisher@5943dd14cb0aac3c9e9e542d1061d46eb18eb080 # v1.3.0tags can be moved; commit SHAs can't. why a SHA?
Inputs
| name | description | required | default |
|---|---|---|---|
| project-file | Relative path to the .csproj file that should be packed. | yes | — |
| package-name | Optional override for the NuGet package ID. | no | — |
| version-file | Optional path to the file that contains the version (defaults to the project file). | no | — |
| version-regex | Optional regex with a capture group for extracting the version when XML parsing is not applicable. | no | — |
| version-regex-options | RegexOptions flags separated by '|' (e.g. IgnoreCase|Multiline). | no | — |
| version-static | Explicit version value. When provided no file parsing is performed. | no | — |
| tag-commit | Create and push a git tag that uses tag-format. | no | true |
| tag-format | Template for the git tag. The '*' placeholder is replaced with the calculated version. | no | v* |
| nuget-source | Base NuGet service URL used for version discovery. | no | https://api.nuget.org |
| nuget-push-source | Full NuGet server index used for dotnet nuget push. | no | https://api.nuget.org/v3/index.json |
| nuget-api-key | API key/token for the primary NuGet source. Required to publish. | no | — |
| include-symbols | Include symbol packages when packing. | no | false |
| configuration | Build configuration passed to dotnet (e.g. Release or Debug). | no | Release |
| output-directory | Directory for generated nupkg/snupkg files (defaults to a 'nupkg' folder next to the project file). | no | — |
| clean | Run 'dotnet clean' before packing. | no | true |
| publish-to-github-packages | Also push the artifact to GitHub Packages. | no | false |
| github-packages-owner | Owner/organization for GitHub Packages (defaults to GITHUB_REPOSITORY_OWNER when empty). | no | — |
| github-packages-source | Fully qualified GitHub Packages feed URL. When empty a URL is derived from the owner. | no | — |
| github-packages-api-key | GitHub Packages token (often GITHUB_TOKEN with packages:write scope). | no | — |
| github-packages-include-symbols | Push symbol packages to GitHub Packages too. | no | false |
| dotnet-version | .NET SDK version used to run the single-file publisher. | no | 10.0.x |
| git-user-name | Git user.name configured before tagging. | no | github-actions |
| git-user-email | Git user.email configured before tagging. | no | actions@github.com |
| dry-run | Execute all checks but skip packing and pushing. | no | false |
| skip-when-version-exists | Stop early when the target version already exists on the NuGet source. | no | true |
| extra-pack-arguments | Additional arguments appended to 'dotnet pack'. | no | — |
| no-restore | Skip the 'dotnet restore' step (pass --no-restore to pack). | no | false |
| continuous-integration-build | Set the ContinuousIntegrationBuild property to true. | no | true |
Outputs
| name | description |
|---|---|
| package-name | Final package ID that was evaluated. |
| version | Version that was used for packing/publishing. |
| should-publish | Indicates whether the version was missing from the NuGet feed. |
| published | True when the action pushed to at least one feed. |
| package-path | Full path to the generated .nupkg file. |
| symbols-package-path | Full path to the generated .snupkg file when available. |
| tag | Git tag that was created/pushed (when enabled). |
| github-packages-source | GitHub Packages feed URL that received the push. |