From 970a5f22fa566d207c69ac71662d6a7f0379cbac Mon Sep 17 00:00:00 2001 From: Dmitri Shimanski Date: Wed, 19 Mar 2025 15:19:27 +0200 Subject: [PATCH] Create nuget.yml --- .github/workflows/nuget.yml | 46 +++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 .github/workflows/nuget.yml diff --git a/.github/workflows/nuget.yml b/.github/workflows/nuget.yml new file mode 100644 index 0000000..7613c87 --- /dev/null +++ b/.github/workflows/nuget.yml @@ -0,0 +1,46 @@ +name: CI/CD NuGet Package + +on: + release: + types: [created] + +env: + NUGET_SOURCE: https://api.nuget.org/v3/index.json + GITHUB_SOURCE: https://nuget.pkg.github.com/${{ github.repository_owner }}/index.json + +jobs: + build-and-publish: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - name: Setup .NET + uses: actions/setup-dotnet@v3 + with: + dotnet-version: 7.0.x + + - name: Extract Package Version + id: get_version + run: | + VERSION=${GITHUB_REF#refs/tags/v} + echo "PACKAGE_VERSION=$VERSION" >> $GITHUB_ENV + echo "Using version: $VERSION" + + - name: Restore dependencies + run: dotnet restore + + - name: Build + run: dotnet build --no-restore --configuration Release + + - name: Test + run: dotnet test --no-build --verbosity normal --configuration Release + + - name: Pack + run: dotnet pack --no-build --configuration Release -p:PackageVersion=${{ env.PACKAGE_VERSION }} + + - name: Publish to GitHub Packages + run: dotnet nuget push "**/*.nupkg" --source ${{ env.GITHUB_SOURCE }} --api-key ${{ github.token }} + + - name: Publish to NuGet + run: dotnet nuget push "**/*.nupkg" --source ${{ env.NUGET_SOURCE }} --api-key ${{ secrets.NUGET_API_KEY }}