diff --git a/.github/workflows/createrelease.yml b/.github/workflows/createrelease.yml index 1db5a36..b399cfc 100644 --- a/.github/workflows/createrelease.yml +++ b/.github/workflows/createrelease.yml @@ -33,20 +33,26 @@ jobs: dotnet test "FileProcessor.FileImportLogAggregate.Tests\FileProcessor.FileImportLogAggregate.Tests.csproj" dotnet test "FileProcessor.DomainEvents.Tests\FileProcessor.DomainEvents.Tests.csproj" - - name: Build Docker Images + - name: Publish Images to Docker Hub - Pre Release + if: ${{ github.event.release.prerelease == true }} run: | - docker build . --file FileProcessor/Dockerfile --tag stuartferguson/fileprocessor:latest --tag stuartferguson/fileprocessor:${{ steps.get_version.outputs.VERSION }} + docker build . --file FileProcessor/Dockerfile --tag stuartferguson/fileprocessor:dev + docker login --username=${{ secrets.DOCKER_USERNAME }} --password=${{ secrets.DOCKER_PASSWORD }} + docker push stuartferguson/fileprocessor:dev - - name: Publish Images to Docker Hub + - name: Publish Images to Docker Hub - Formal Release + if: ${{ github.event.release.prerelease == false }} run: | + docker build . --file FileProcessor/Dockerfile --tag stuartferguson/fileprocessor:latest docker login --username=${{ secrets.DOCKER_USERNAME }} --password=${{ secrets.DOCKER_PASSWORD }} docker push stuartferguson/fileprocessor:latest - docker push stuartferguson/fileprocessor:${{ steps.get_version.outputs.VERSION }} - name: Publish API + if: ${{ github.event.release.prerelease == false }} run: dotnet publish "FileProcessor\FileProcessor.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 - && \ @@ -54,6 +60,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/FileProcessor/FileProcessor @@ -65,6 +72,7 @@ jobs: --logLevel=verbose - name: Push Package to Octopus + if: ${{ github.event.release.prerelease == false }} run: >- octo push --server ${{ secrets.OCTOPUS_URL }} @@ -73,6 +81,7 @@ jobs: --overwrite-mode IgnoreIfExists - name: Get Release + if: ${{ github.event.release.prerelease == false }} id: getrelease uses: octokit/request-action@v2.0.17 with: @@ -81,6 +90,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.x with: @@ -88,6 +98,7 @@ jobs: releasenote: "body" - name: Create & Deploy Release in Octopus + if: ${{ github.event.release.prerelease == false }} run: >- octo create-release --server ${{ secrets.OCTOPUS_URL }} @@ -101,6 +112,7 @@ jobs: --releasenotes "${{ steps.buildreleasenotes.outputs.releasenote }}" - name: Build and Publish Nuget Packages + if: ${{ github.event.release.prerelease == false }} run: | dotnet pack "FileProcessor.File.DomainEvents\FileProcessor.File.DomainEvents.csproj" /p:PackageVersion=${{ steps.get_version.outputs.VERSION }} --output Nugets -c Release dotnet nuget push Nugets/FileProcessor.File.DomainEvents.${{ 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/pushtomain.yml similarity index 85% rename from .github/workflows/prereleasenuget.yml rename to .github/workflows/pushtomain.yml index 84709df..3102829 100644 --- a/.github/workflows/prereleasenuget.yml +++ b/.github/workflows/pushtomain.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 Nugets and Docker" env: ASPNETCORE_ENVIRONMENT: "Production" @@ -50,3 +50,9 @@ jobs: dotnet nuget push Nugets/FileProcessor.FileImportLog.DomainEvents.${{ steps.next_version.outputs.VERSION }}.nupkg --api-key ${{ secrets.MYGET_APIKEY }} --source https://www.myget.org/F/transactionprocessing/api/v2/package dotnet pack "FileProcessor.Client\FileProcessor.Client.csproj" /p:PackageVersion=${{ steps.next_version.outputs.VERSION }} --output Nugets -c Release dotnet nuget push Nugets/FileProcessor.Client.${{ 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 FileProcessor/Dockerfile --tag stuartferguson/fileprocessor:master + docker login --username=${{ secrets.DOCKER_USERNAME }} --password=${{ secrets.DOCKER_PASSWORD }} + docker push stuartferguson/fileprocessor:master