From 45ff4b509cd49ae4d73ccdd9d2b99231d29e8b85 Mon Sep 17 00:00:00 2001 From: "Nuno \"Omega Leo\" Diogo" Date: Wed, 3 Jul 2024 22:00:43 +0100 Subject: [PATCH] Create nuget-publish.yml --- .github/workflows/nuget-publish.yml | 42 +++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 .github/workflows/nuget-publish.yml diff --git a/.github/workflows/nuget-publish.yml b/.github/workflows/nuget-publish.yml new file mode 100644 index 0000000..cc99ff0 --- /dev/null +++ b/.github/workflows/nuget-publish.yml @@ -0,0 +1,42 @@ +name: Publish Nuget Packages +on: + release: + types: [created] +jobs: + get-release: + name: Get Release + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v2 + - name: Get release + id: get_release + uses: bruceadams/get-release@v1.2.3 + env: + GITHUB_TOKEN: ${{ secrets.TOKEN }} + outputs: + upload_url: ${{ steps.get_release.outputs.upload_url }} + publish_doc_helper: + runs-on: ubuntu-latest + needs: [get-release] + steps: + - uses: actions/checkout@v2 + - name: Setup .Net Core + uses: actions/setup-dotnet@v1 + with: + dotnet-version: '7.0.x' + - name: Update Project Version + run: sed -i "s/\(\([0-9]\+\.\)\{2\}\)\([0-9]\+\)/\1${{ github.event.release.tag_name }}/" "./NetFlow.DocumentationHelper.Library/NetFlow.DocumentationHelper.Library.csproj" + - name: Create Nuget Package + run: dotnet pack "./NetFlow.DocumentationHelper.Library/NetFlow.DocumentationHelper.Library.csproj" -c Release /p:Version=${{ github.event.release.tag_name }} /p:PackageReleaseNotes="See https://github.com/omegaleo/Netflow.DocumentationHelper/releases/tag/${{ github.event.release.tag_name }}" + - name: Publish Nuget Package + run: dotnet nuget push ./NetFlow.DocumentationHelper.Library/bin/Release/NetFlow.DocumentationHelper.Library.${{ github.event.release.tag_name }}.nupkg --api-key ${{ secrets.nuget_api_key }} --source https://api.nuget.org/v3/index.json --skip-duplicate + - name: Upload assets to release + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.TOKEN }} + with: + upload_url: ${{ needs.get-release.outputs.upload_url }} + asset_path: ./NetFlow.DocumentationHelper.Library/bin/Release/NetFlow.DocumentationHelper.Library.${{ github.event.release.tag_name }}.nupkg + asset_name: NetFlow.DocumentationHelper.Library.${{ github.event.release.tag_name }}.nupkg + asset_content_type: application/zip