{"id":18855497,"url":"https://github.com/springhgui/publish-nuget","last_synced_at":"2026-02-05T23:30:20.546Z","repository":{"id":65158483,"uuid":"490916090","full_name":"SpringHgui/publish-nuget","owner":"SpringHgui","description":null,"archived":false,"fork":false,"pushed_at":"2022-05-11T03:19:11.000Z","size":33,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-20T02:37:17.966Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SpringHgui.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-05-11T01:28:20.000Z","updated_at":"2022-05-11T01:28:46.000Z","dependencies_parsed_at":"2023-01-05T04:49:39.930Z","dependency_job_id":null,"html_url":"https://github.com/SpringHgui/publish-nuget","commit_stats":{"total_commits":31,"total_committers":11,"mean_commits":"2.8181818181818183","dds":0.7741935483870968,"last_synced_commit":"8009c8f6525d6ca4ebc37651265558830acb1f75"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpringHgui%2Fpublish-nuget","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpringHgui%2Fpublish-nuget/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpringHgui%2Fpublish-nuget/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpringHgui%2Fpublish-nuget/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SpringHgui","download_url":"https://codeload.github.com/SpringHgui/publish-nuget/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239793063,"owners_count":19697893,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-08T03:54:06.037Z","updated_at":"2026-02-05T23:30:20.474Z","avatar_url":"https://github.com/SpringHgui.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ✨ Publish NuGet\r\nGitHub action to build, pack \u0026 publish nuget packages automatically when a project version is updated\r\n\r\n## Usage\r\nCreate new `.github/workflows/publish.yml` file:\r\n\r\n```yml\r\nname: publish to nuget\r\non:\r\n  push:\r\n    branches:\r\n      - main # Default release branch, may also be named 'master' or 'develop'\r\njobs:\r\n  publish:\r\n    name: build, pack \u0026 publish\r\n    runs-on: ubuntu-latest\r\n    steps:\r\n      - uses: actions/checkout@v2\r\n\r\n      # - name: Setup dotnet\r\n      #   uses: actions/setup-dotnet@v1\r\n      #   with:\r\n      #     dotnet-version: 3.1.200\r\n\r\n      # Publish\r\n      - name: publish on version change\r\n        id: publish_nuget\r\n        uses: SpringHgui/publish-nuget@1.0.1\r\n        with:\r\n          # Filepath of the project to be packaged, relative to root of repository\r\n          PROJECT_FILE_PATH: Core/Core.csproj\r\n          \r\n          # NuGet package id, used for version detection \u0026 defaults to project name\r\n          # PACKAGE_NAME: Core\r\n          \r\n          # Filepath with version info, relative to root of repository \u0026 defaults to PROJECT_FILE_PATH\r\n          # VERSION_FILE_PATH: Directory.Build.props\r\n\r\n          # Regex pattern to extract version info in a capturing group\r\n          # VERSION_REGEX: ^\\s*\u003cVersion\u003e(.*)\u003c\\/Version\u003e\\s*$\r\n          \r\n          # Useful with external providers like Nerdbank.GitVersioning, ignores VERSION_FILE_PATH \u0026 VERSION_REGEX\r\n          # VERSION_STATIC: 1.0.0\r\n\r\n          # Flag to toggle git tagging, enabled by default\r\n          # TAG_COMMIT: true\r\n\r\n          # Format of the git tag, [*] gets replaced with actual version\r\n          # TAG_FORMAT: v*\r\n\r\n          # API key to authenticate with NuGet server\r\n          # NUGET_KEY: ${{secrets.NUGET_API_KEY}}\r\n\r\n          # NuGet server uri hosting the packages, defaults to https://api.nuget.org\r\n          # NUGET_SOURCE: https://api.nuget.org\r\n\r\n          # Flag to toggle pushing symbols along with nuget package to the server, disabled by default\r\n          # INCLUDE_SYMBOLS: false\r\n```\r\n\r\n- Project gets published only if there's a `NUGET_KEY` configured in the repository\r\n\r\n## Inputs\r\n\r\nInput | Default Value | Description\r\n--- | --- | ---\r\nPROJECT_FILE_PATH | | Filepath of the project to be packaged, relative to root of repository\r\nPACKAGE_NAME | | NuGet package id, used for version detection \u0026 defaults to project name\r\nVERSION_FILE_PATH | `[PROJECT_FILE_PATH]` | Filepath with version info, relative to root of repository \u0026 defaults to PROJECT_FILE_PATH\r\nVERSION_REGEX | `^\\s*\u003cVersion\u003e(.*)\u003c\\/Version\u003e\\s*$` | Regex pattern to extract version info in a capturing group\r\nVERSION_STATIC| | Useful with external providers like Nerdbank.GitVersioning, ignores VERSION_FILE_PATH \u0026 VERSION_REGEX\r\nTAG_COMMIT | `true` | Flag to toggle git tagging, enabled by default\r\nTAG_FORMAT | `v*` | Format of the git tag, `[*]` gets replaced with actual version\r\nNUGET_KEY | | API key to authenticate with NuGet server\r\nNUGET_SOURCE | `https://api.nuget.org` | NuGet server uri hosting the packages, defaults to https://api.nuget.org\r\nINCLUDE_SYMBOLS | `false` | Flag to toggle pushing symbols along with nuget package to the server, disabled by default\r\n\r\n## Outputs\r\n\r\nOutput | Description\r\n--- | ---\r\nVERSION | Version of the associated git tag\r\nPACKAGE_NAME | Name of the NuGet package generated\r\nPACKAGE_PATH | Path to the generated NuGet package\r\nSYMBOLS_PACKAGE_NAME | Name of the symbols package generated\r\nSYMBOLS_PACKAGE_PATH | Path to the generated symbols package\r\n\r\n**FYI:**\r\n- Outputs may or may not be set depending on the action inputs or if the action failed\r\n- `NUGET_SOURCE` must support `/v3-flatcontainer/PACKAGE_NAME/index.json` for version change detection to work\r\n- Multiple projects can make use of steps to configure each project individually, common inputs between steps can be given as `env` for [job / workflow](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#env)\r\n\r\n## License\r\n[MIT](LICENSE)\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspringhgui%2Fpublish-nuget","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspringhgui%2Fpublish-nuget","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspringhgui%2Fpublish-nuget/lists"}