From 4cbbc06668f888538c62f87069d37efb5bf61bbf Mon Sep 17 00:00:00 2001 From: Stuart Ferguson Date: Thu, 27 Jan 2022 17:00:59 +0000 Subject: [PATCH] Release process updates --- .github/workflows/createrelease.yml | 18 ++++++++++++++++-- .../{prereleasenuget.yml => pushtomaster.yml} | 10 ++++++++-- 2 files changed, 24 insertions(+), 4 deletions(-) rename .github/workflows/{prereleasenuget.yml => pushtomaster.yml} (86%) diff --git a/.github/workflows/createrelease.yml b/.github/workflows/createrelease.yml index 6c16cd00..74ca9999 100644 --- a/.github/workflows/createrelease.yml +++ b/.github/workflows/createrelease.yml @@ -36,16 +36,24 @@ jobs: run: | docker build . --file TransactionProcessor/Dockerfile --tag stuartferguson/transactionprocessor:latest --tag stuartferguson/transactionprocessor:${{ steps.get_version.outputs.VERSION }} - - name: Publish Images to Docker Hub + - name: Publish Images to Docker Hub - Pre Release + if: ${{ github.event.release.prerelease == true }} + run: | + docker login --username=${{ secrets.DOCKER_USERNAME }} --password=${{ secrets.DOCKER_PASSWORD }} + docker push stuartferguson/transactionprocessor:dev + + - name: Publish Images to Docker Hub - Formal Release + if: ${{ github.event.release.prerelease == false }} run: | docker login --username=${{ secrets.DOCKER_USERNAME }} --password=${{ secrets.DOCKER_PASSWORD }} docker push stuartferguson/transactionprocessor:latest - docker push stuartferguson/transactionprocessor:${{ steps.get_version.outputs.VERSION }} - name: Publish API + if: ${{ github.event.release.prerelease == false }} run: dotnet publish "TransactionProcessor\TransactionProcessor.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 - && \ @@ -53,6 +61,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/TransactionProcessor/TransactionProcessor @@ -64,6 +73,7 @@ jobs: --logLevel=verbose - name: Push Package to Octopus + if: ${{ github.event.release.prerelease == false }} run: >- octo push --server ${{ secrets.OCTOPUS_URL }} @@ -72,6 +82,7 @@ jobs: --overwrite-mode IgnoreIfExists - name: Get Release + if: ${{ github.event.release.prerelease == false }} id: getrelease uses: octokit/request-action@v2.0.17 with: @@ -80,6 +91,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: @@ -87,6 +99,7 @@ jobs: releasenote: "body" - name: Create & Deploy Release in Octopus + if: ${{ github.event.release.prerelease == false }} run: >- octo create-release --server ${{ secrets.OCTOPUS_URL }} @@ -100,6 +113,7 @@ jobs: --releasenotes "${{ steps.buildreleasenotes.outputs.releasenote }}" - name: Build and Publish Nuget Packages + if: ${{ github.event.release.prerelease == false }} run: | dotnet pack "TransactionProcessor.Client\TransactionProcessor.Client.csproj" /p:PackageVersion=${{ steps.get_version.outputs.VERSION }} --output Nugets dotnet nuget push Nugets/TransactionProcessor.Client.${{ 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 86% rename from .github/workflows/prereleasenuget.yml rename to .github/workflows/pushtomaster.yml index 6fd8c87c..30d2c944 100644 --- a/.github/workflows/prereleasenuget.yml +++ b/.github/workflows/pushtomaster.yml @@ -1,4 +1,4 @@ -name: Publish Pre-Release Nuget +name: Publish Pre-Release Nugets and Docker on: push: @@ -8,7 +8,7 @@ on: jobs: build: - name: "Publish Pre-Release Nugets" + name: "Publish Pre-Release Nugets and Docker" env: ASPNETCORE_ENVIRONMENT: "Production" @@ -53,4 +53,10 @@ jobs: dotnet pack "TransactionProcessor.Settlement.DomainEvents\TransactionProcessor.Settlement.DomainEvents.csproj" /p:PackageVersion=${{ steps.next_version.outputs.VERSION }} --output Nugets dotnet nuget push Nugets/TransactionProcessor.Settlement.DomainEvents.${{ 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 TransactionProcessor/Dockerfile --tag stuartferguson/transactionprocessor:master + docker login --username=${{ secrets.DOCKER_USERNAME }} --password=${{ secrets.DOCKER_PASSWORD }} + docker push stuartferguson/transactionprocessor:master +