From bcad270aaa6004a590032725b88d0f7fe531923b Mon Sep 17 00:00:00 2001 From: RaidMax Date: Sat, 29 Jun 2024 14:38:06 -0500 Subject: [PATCH] update nuget action to require approval and set specific suffix depending on pr or push --- .github/workflows/build_application.yml | 4 ++ .github/workflows/shared_library_nuget.yml | 44 +++++++++++++++------- 2 files changed, 35 insertions(+), 13 deletions(-) diff --git a/.github/workflows/build_application.yml b/.github/workflows/build_application.yml index 23a45f55..8c3b4c49 100644 --- a/.github/workflows/build_application.yml +++ b/.github/workflows/build_application.yml @@ -14,6 +14,10 @@ on: branches: [ develop ] paths: - Application/** + - WebfrontCore/** + - Data/** + - SharedLibraryCore/** + - Plugins/** env: releaseType: prerelease diff --git a/.github/workflows/shared_library_nuget.yml b/.github/workflows/shared_library_nuget.yml index d4ef51c9..2956a48b 100644 --- a/.github/workflows/shared_library_nuget.yml +++ b/.github/workflows/shared_library_nuget.yml @@ -2,23 +2,23 @@ name: SharedLibraryCore NuGet on: push: - branches: [ develop ] + branches: [ develop, release/pre, master ] paths: - SharedLibraryCore/** + - Data/** - .github/workflows/shared_library_nuget.yml pull_request: branches: [ develop ] paths: - SharedLibraryCore/** + - Data/** env: outputDirectory: ${{ github.workspace}}/nuget - buildConfiguration: Prerelease jobs: - build_pack: + make_version: runs-on: ubuntu-latest - outputs: build_num: ${{ steps.generate_build_number.outputs.build_num }} @@ -27,38 +27,56 @@ jobs: id: generate_build_number run: | build_num=$(date +'%Y.%-m.%-d').$(date +'%3N' | sed 's/^0*//') - echo "build_num=$build_num" >> $GITHUB_ENV echo "build_num=$build_num" >> $GITHUB_OUTPUT + echo "Build number is $build_num" + + build_pack: + runs-on: ubuntu-latest + needs: [ make_version ] + + env: + buildNumber: ${{ needs.make_version.outputs.build_num }} + packageTag: ${{ github.event_name == 'pull_request' && -beta || -preview }} + buildConfiguration: Prerelease + + steps: - uses: actions/checkout@v4 + - name: Setup .NET uses: actions/setup-dotnet@v4 with: dotnet-version: 8.0.x + - name: Restore dependencies run: dotnet restore - - name: Build Data - run: dotnet build **/Data.csproj -c ${{env.buildConfiguration}} /p:Version=${{ env.build_num }} --no-restore + + - name: Build data + run: dotnet build **/Data.csproj -c ${{env.buildConfiguration}} /p:Version=${{ env.buildNumber }} --no-restore + - name: Build SLC - run: dotnet build **/SharedLibraryCore.csproj -c ${{env.buildConfiguration}} /p:Version=${{ env.build_num }} --no-restore + run: dotnet build **/SharedLibraryCore.csproj -c ${{env.buildConfiguration}} /p:Version=${{ env.buildNumber }} --no-restore + - name: Pack SLC - run: dotnet pack **/SharedLibraryCore.csproj -c ${{env.buildConfiguration}} -p:PackageVersion=${{ env.build_num }} -o ${{ env.outputDirectory }} + run: dotnet pack **/SharedLibraryCore.csproj -c ${{env.buildConfiguration}} -p:PackageVersion=${{ env.buildNumber }}${{ env.packageTag }} -o ${{ env.outputDirectory }} --no-restore - name: Publish nuget package artifact uses: actions/upload-artifact@v4 with: - name: SharedLibraryCore-${{ steps.generate_build_number.outputs.build_num }} + name: SharedLibraryCore-${{ env.buildNumber }} path: ${{ env.outputDirectory }}/*.nupkg publish: runs-on: ubuntu-latest - needs: [ build_pack ] + needs: [ make_version, build_pack ] + environment: prerelease + if: ${{ github.ref == 'refs/heads/master' || github.ref == 'refs/heads/release/pre' || github.ref == 'refs/heads/release/develop' }} steps: - - name: Download Artifact + - name: Download artifact uses: actions/download-artifact@v4 with: - name: SharedLibraryCore-${{ needs.build_pack.outputs.build_num }} + name: SharedLibraryCore-${{ needs.make_version.outputs.build_num }} path: ${{ env.outputDirectory }} - name: Setup .NET