From 1b4d0d82510a1e69f1fde38a2edc9d83ab088e01 Mon Sep 17 00:00:00 2001 From: Stuart Ferguson Date: Fri, 28 Jan 2022 06:22:22 +0000 Subject: [PATCH] release process updates --- .github/workflows/createrelease.yml | 22 ++++++++++++++----- .../{prereleasenuget.yml => pushtomaster.yml} | 10 +++++++-- 2 files changed, 25 insertions(+), 7 deletions(-) rename .github/workflows/{prereleasenuget.yml => pushtomaster.yml} (78%) diff --git a/.github/workflows/createrelease.yml b/.github/workflows/createrelease.yml index dd9f774..eb6118b 100644 --- a/.github/workflows/createrelease.yml +++ b/.github/workflows/createrelease.yml @@ -31,20 +31,26 @@ jobs: dotnet test "TransactionProcessorACL.Tests\TransactionProcessorACL.Tests.csproj" dotnet test "TransactionProcessorACL.BusinessLogic.Tests\TransactionProcessorACL.BusinessLogic.Tests.csproj" - - name: Build Docker Images + - name: Publish Images to Docker Hub - Pre Release + if: ${{ github.event.release.prerelease == true }} run: | - docker build . --file TransactionProcessorACL/Dockerfile --tag stuartferguson/transactionprocessoracl:latest --tag stuartferguson/transactionprocessoracl:${{ steps.get_version.outputs.VERSION }} - - - name: Publish Images to Docker Hub + docker build . --file TransactionProcessorACL/Dockerfile --tag stuartferguson/transactionprocessoracl:dev + docker login --username=${{ secrets.DOCKER_USERNAME }} --password=${{ secrets.DOCKER_PASSWORD }} + docker push stuartferguson/transactionprocessoracl:dev + + - name: Publish Images to Docker Hub - Formal Release + if: ${{ github.event.release.prerelease == false }} run: | + docker build . --file TransactionProcessorACL/Dockerfile --tag stuartferguson/transactionprocessoracl:latest docker login --username=${{ secrets.DOCKER_USERNAME }} --password=${{ secrets.DOCKER_PASSWORD }} docker push stuartferguson/transactionprocessoracl:latest - docker push stuartferguson/transactionprocessoracl:${{ steps.get_version.outputs.VERSION }} - name: Publish API + if: ${{ github.event.release.prerelease == false }} run: dotnet publish "TransactionProcessorACL\TransactionProcessorACL.csproj" --configuration Release --output publishOutput - name: Install Octopus CLI + if: ${{ github.event.release.prerelease == false }} run: | sudo apt update && sudo apt install --no-install-recommends gnupg curl ca-certificates apt-transport-https && \ curl -sSfL https://apt.octopus.com/public.key | sudo apt-key add - && \ @@ -52,6 +58,7 @@ jobs: sudo apt update && sudo apt install octopuscli - name: Pack Files for Octopus + if: ${{ github.event.release.prerelease == false }} run: >- octo pack --outFolder /home/runner/work/TransactionProcessorACL/TransactionProcessorACL @@ -63,6 +70,7 @@ jobs: --logLevel=verbose - name: Push Package to Octopus + if: ${{ github.event.release.prerelease == false }} run: >- octo push --server ${{ secrets.OCTOPUS_URL }} @@ -71,6 +79,7 @@ jobs: --overwrite-mode IgnoreIfExists - name: Get Release + if: ${{ github.event.release.prerelease == false }} id: getrelease uses: octokit/request-action@v2.0.17 with: @@ -79,6 +88,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Build Release Notes + if: ${{ github.event.release.prerelease == false }} id: buildreleasenotes uses: gr2m/get-json-paths-action@v1.0.4 with: @@ -86,6 +96,7 @@ jobs: releasenote: "body" - name: Create & Deploy Release in Octopus + if: ${{ github.event.release.prerelease == false }} run: >- octo create-release --server ${{ secrets.OCTOPUS_URL }} @@ -99,6 +110,7 @@ jobs: --releasenotes "${{ steps.buildreleasenotes.outputs.releasenote }}" - name: Build and Publish Nuget Packages + if: ${{ github.event.release.prerelease == false }} run: | dotnet pack "TransactionProcessorACL.DataTransferObjects\TransactionProcessorACL.DataTransferObjects.csproj" /p:PackageVersion=${{ steps.get_version.outputs.VERSION }} --output Nugets dotnet nuget push Nugets/TransactionProcessorACL.DataTransferObjects.${{ steps.get_version.outputs.VERSION }}.nupkg --api-key ${{ secrets.MYGET_APIKEY }} --source https://www.myget.org/F/transactionprocessing/api/v2/package diff --git a/.github/workflows/prereleasenuget.yml b/.github/workflows/pushtomaster.yml similarity index 78% rename from .github/workflows/prereleasenuget.yml rename to .github/workflows/pushtomaster.yml index 20a2bd9..750f5a6 100644 --- a/.github/workflows/prereleasenuget.yml +++ b/.github/workflows/pushtomaster.yml @@ -1,4 +1,4 @@ -name: Publish Pre-Release Nuget +name: Publish Pre-Release Nuget and Docker on: push: @@ -8,7 +8,7 @@ on: jobs: build: - name: "Publish Pre-Release Nugets" + name: "Publish Pre-Release Nuget and Docker" env: ASPNETCORE_ENVIRONMENT: "Production" @@ -44,4 +44,10 @@ jobs: dotnet pack "TransactionProcessorACL.DataTransferObjects\TransactionProcessorACL.DataTransferObjects.csproj" /p:PackageVersion=${{ steps.next_version.outputs.VERSION }} --output Nugets dotnet nuget push Nugets/TransactionProcessorACL.DataTransferObjects.${{ steps.next_version.outputs.VERSION }}.nupkg --api-key ${{ secrets.MYGET_APIKEY }} --source https://www.myget.org/F/transactionprocessing/api/v2/package + - name: Publish Images to Docker Hub + run: | + docker build . --file TransactionProcessorACL/Dockerfile --tag stuartferguson/transactionprocessoracl:master + docker login --username=${{ secrets.DOCKER_USERNAME }} --password=${{ secrets.DOCKER_PASSWORD }} + docker push stuartferguson/transactionprocessoracl:master +