From c15759fa842bc4bd40b12e09a540f60c8f736f7a Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Tue, 24 Jan 2023 17:30:56 +0330 Subject: [PATCH 01/73] ci: Add publish to github registry and docker hub --- .github/workflows/build-publish.yml | 53 +++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 .github/workflows/build-publish.yml diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml new file mode 100644 index 00000000..44cc8245 --- /dev/null +++ b/.github/workflows/build-publish.yml @@ -0,0 +1,53 @@ +name: build-publish + +on: + # run it on push to the default repository branch + push: + branches: [develop] + # run it during pull request + pull_request: + +jobs: + # define job to build and publish docker image + build-and-push-docker-image: + name: Build Docker image and push to repositories + # run only when code is compiling and tests are passing + runs-on: ubuntu-latest + + # steps to perform in job + steps: + - name: Checkout code + uses: actions/checkout@v3 + + # setup Docker buld action + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@v2 + + - name: Login to DockerHub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + + - name: Login to Github Packages + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build image and push to Docker Hub and GitHub Container Registry + uses: docker/build-push-action@v2 + with: + # relative path to the place where source code with Dockerfile is located + context: ./src/samples/simple + # Note: tags has to be all lower-case + tags: | + meysamhadeli/booking-microservices:latest + ghcr.io/meysamhadeli/booking-microservices:latest + # build on feature branches, push only on develop branch + push: ${{ github.ref == 'refs/heads/develop' }} + + - name: Image digest + run: echo ${{ steps.docker_build.outputs.digest }} From 45a70ac8681549b9877c2565e4ab952de1c935de Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Tue, 24 Jan 2023 17:33:53 +0330 Subject: [PATCH 02/73] fix: Fix context path --- .github/workflows/build-publish.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index 44cc8245..10afdec2 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -41,11 +41,11 @@ jobs: uses: docker/build-push-action@v2 with: # relative path to the place where source code with Dockerfile is located - context: ./src/samples/simple + context: ./src/Services/Flight # Note: tags has to be all lower-case tags: | - meysamhadeli/booking-microservices:latest - ghcr.io/meysamhadeli/booking-microservices:latest + meysamhadeli/booking-microservices/flight:latest + ghcr.io/meysamhadeli/booking-microservices/flight:latest # build on feature branches, push only on develop branch push: ${{ github.ref == 'refs/heads/develop' }} From 892717417ad00d4ea61a1a452ea3f1894cb20516 Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Tue, 24 Jan 2023 18:04:07 +0330 Subject: [PATCH 03/73] refactor: Change location of dockerfile --- .github/workflows/build-publish.yml | 56 +++++++---------------------- 1 file changed, 13 insertions(+), 43 deletions(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index 10afdec2..34d6e004 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -1,53 +1,23 @@ -name: build-publish - +name: Build and Push Docker Image on: - # run it on push to the default repository branch push: - branches: [develop] - # run it during pull request - pull_request: + branches: + - main jobs: - # define job to build and publish docker image - build-and-push-docker-image: - name: Build Docker image and push to repositories - # run only when code is compiling and tests are passing + build_and_push: runs-on: ubuntu-latest - # steps to perform in job steps: - - name: Checkout code - uses: actions/checkout@v3 - - # setup Docker buld action - - name: Set up Docker Buildx - id: buildx - uses: docker/setup-buildx-action@v2 - - - name: Login to DockerHub - uses: docker/login-action@v2 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_PASSWORD }} + - name: Checkout + uses: actions/checkout@v2 - - name: Login to Github Packages - uses: docker/login-action@v2 - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} + - name: Build Docker Image + run: | + docker build -t myimage:${{ github.sha }} -f ./src/Services/Flight/Dockerfile . - - name: Build image and push to Docker Hub and GitHub Container Registry - uses: docker/build-push-action@v2 - with: - # relative path to the place where source code with Dockerfile is located - context: ./src/Services/Flight - # Note: tags has to be all lower-case - tags: | - meysamhadeli/booking-microservices/flight:latest - ghcr.io/meysamhadeli/booking-microservices/flight:latest - # build on feature branches, push only on develop branch - push: ${{ github.ref == 'refs/heads/develop' }} + - name: Login to Docker Hub + run: echo ${{ secrets.DOCKERHUB_PASSWORD }} | docker login -u ${{ secrets.DOCKERHUB_USERNAME }} --password-stdin - - name: Image digest - run: echo ${{ steps.docker_build.outputs.digest }} + - name: Push to Docker Hub + run: docker push myimage:${{ github.sha }} From 198256dfda48dfbba7d10f39c8511455bfb76137 Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Tue, 24 Jan 2023 18:06:47 +0330 Subject: [PATCH 04/73] refactor: change branches --- .github/workflows/build-publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index 34d6e004..e4babc34 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -2,7 +2,7 @@ name: Build and Push Docker Image on: push: branches: - - main + - develop jobs: build_and_push: From af3ec2e2ab37f947941820b131959f1a9e135397 Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Tue, 24 Jan 2023 18:46:07 +0330 Subject: [PATCH 05/73] try for build-publish --- .github/workflows/build-publish.yml | 56 ++++++++++++++----- .github/workflows/dotnet.yml | 40 ++++++++----- .../Data/PersistMessageDbContext.cs | 31 +++++++--- 3 files changed, 93 insertions(+), 34 deletions(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index e4babc34..45409fe3 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -1,23 +1,53 @@ -name: Build and Push Docker Image +name: build-publish + on: + # run it on push to the default repository branch push: - branches: - - develop + branches: [develop] + # run it during pull request + pull_request: [develop] jobs: - build_and_push: + # define job to build and publish docker image + build-and-push-docker-image: + name: Build Docker image and push to repositories + # run only when code is compiling and tests are passing runs-on: ubuntu-latest + # steps to perform in job steps: - - name: Checkout - uses: actions/checkout@v2 + - name: Checkout code + uses: actions/checkout@v3 + + # setup Docker buld action + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@v2 + + - name: Login to DockerHub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} - - name: Build Docker Image - run: | - docker build -t myimage:${{ github.sha }} -f ./src/Services/Flight/Dockerfile . + - name: Login to Github Packages + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} - - name: Login to Docker Hub - run: echo ${{ secrets.DOCKERHUB_PASSWORD }} | docker login -u ${{ secrets.DOCKERHUB_USERNAME }} --password-stdin + - name: Build image and push to Docker Hub and GitHub Container Registry + uses: docker/build-push-action@v2 + with: + # relative path to the place where source code with Dockerfile is located + context: ./src/Services/Flight + # Note: tags has to be all lower-case + tags: | + meysamhadeli/booking-microservices/flight:latest + ghcr.io/meysamhadeli/booking-microservices/flight:latest + # build on feature branches, push only on develop branch + push: ${{ github.ref == 'refs/heads/develop' }} - - name: Push to Docker Hub - run: docker push myimage:${{ github.sha }} + - name: Image digest + run: echo ${{ steps.docker_build.outputs.digest }} diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml index 731b8af8..efda479d 100644 --- a/.github/workflows/dotnet.yml +++ b/.github/workflows/dotnet.yml @@ -2,9 +2,9 @@ name: Build-Test on: push: - branches: [ "main" , "develop"] + branches: [ "main" , "develop" ] paths-ignore: - - "README.md" + - "README.md" pull_request: branches: [ "main" , "develop" ] @@ -14,15 +14,29 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - name: Setup .NET - uses: actions/setup-dotnet@v2 - with: - dotnet-version: 7.0.x - - name: Restore dependencies - run: dotnet restore - - name: Build - run: dotnet build -c Release --no-restore - - name: Test - run: dotnet test -c Release --no-restore + - uses: actions/checkout@v3 + - name: Setup .NET + uses: actions/setup-dotnet@v2 + with: + dotnet-version: 7.0.x + + - name: Setup Node.js + uses: actions/setup-node@v2 + with: + node-version: 'lts/*' + + - name: Cache NuGet Packages + uses: actions/cache@v3 + with: + key: ${{ runner.os }}-dotnet-nuget + path: ~/.nuget/packages + + - name: Restore dependencies + run: dotnet restore + + - name: Build + run: dotnet build -c Release --no-restore + + - name: Test + run: dotnet test -c Release --no-restore diff --git a/src/BuildingBlocks/PersistMessageProcessor/Data/PersistMessageDbContext.cs b/src/BuildingBlocks/PersistMessageProcessor/Data/PersistMessageDbContext.cs index 0b4df065..37a45cf2 100644 --- a/src/BuildingBlocks/PersistMessageProcessor/Data/PersistMessageDbContext.cs +++ b/src/BuildingBlocks/PersistMessageProcessor/Data/PersistMessageDbContext.cs @@ -12,9 +12,17 @@ namespace BuildingBlocks.PersistMessageProcessor.Data; public class PersistMessageDbContext : DbContext, IPersistMessageDbContext { + private readonly Lazy> _logger; + public PersistMessageDbContext(DbContextOptions options) : base(options) { + _logger = new Lazy>(() => + { + var factory = LoggerFactory.Create(b => b.AddConsole()); + var logger = factory.CreateLogger(); + return logger; + }); } public DbSet PersistMessages => Set(); @@ -37,10 +45,7 @@ public override async Task SaveChangesAsync(CancellationToken cancellationT { if (exception != null) { - var factory = LoggerFactory.Create(b => b.AddConsole()); - var logger = factory.CreateLogger(); - - logger.LogError(exception, + _logger.Value.LogError(exception, "Request failed with {StatusCode}. Waiting {TimeSpan} before next retry. Retry attempt {RetryCount}.", HttpStatusCode.Conflict, timeSpan, @@ -55,12 +60,22 @@ public override async Task SaveChangesAsync(CancellationToken cancellationT { foreach (var entry in ex.Entries) { - var currentEntity = entry.Entity; // we can use it for specific merging - var databaseValues = await entry.GetDatabaseValuesAsync(cancellationToken); + var currentValue = entry.Entity; // we can use it for specific merging + var databaseValue = await entry.GetDatabaseValuesAsync(cancellationToken); - if (databaseValues != null) + _logger.Value.LogInformation( + "Entry to entity with type: {Type}, database-value: {DatabaseValue} and current-value: {CurrentValue}", + entry.GetType().Name, + databaseValue, + currentValue); + + if (databaseValue != null) + { + entry.OriginalValues.SetValues(databaseValue); + } + else { - entry.OriginalValues.SetValues(databaseValues); + entry.OriginalValues.SetValues(currentValue); } } From b123e2e770d911d85d3c28fef3eaf0a265ef6147 Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Tue, 24 Jan 2023 18:48:27 +0330 Subject: [PATCH 06/73] . --- .github/workflows/build-publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index 45409fe3..10afdec2 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -5,7 +5,7 @@ on: push: branches: [develop] # run it during pull request - pull_request: [develop] + pull_request: jobs: # define job to build and publish docker image From 1d1b0ae04aa665b0a6e831ce6cd1d482ca131842 Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Tue, 24 Jan 2023 18:53:08 +0330 Subject: [PATCH 07/73] . --- .dockerignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.dockerignore b/.dockerignore index 2d3bcd3b..0b57c2ae 100644 --- a/.dockerignore +++ b/.dockerignore @@ -22,6 +22,7 @@ **/.tye/ **/secrets.dev.yaml **/values.dev.yaml +!dist/ LICENSE README.md CHANGELOG.md From 459366e2e82b01fe01286a3c495ff558abf9a60d Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Tue, 24 Jan 2023 19:05:58 +0330 Subject: [PATCH 08/73] . --- .dockerignore | 1 - .github/workflows/build-publish.yml | 18 +----------------- 2 files changed, 1 insertion(+), 18 deletions(-) diff --git a/.dockerignore b/.dockerignore index 0b57c2ae..2d3bcd3b 100644 --- a/.dockerignore +++ b/.dockerignore @@ -22,7 +22,6 @@ **/.tye/ **/secrets.dev.yaml **/values.dev.yaml -!dist/ LICENSE README.md CHANGELOG.md diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index 10afdec2..810400dc 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -19,11 +19,6 @@ jobs: - name: Checkout code uses: actions/checkout@v3 - # setup Docker buld action - - name: Set up Docker Buildx - id: buildx - uses: docker/setup-buildx-action@v2 - - name: Login to DockerHub uses: docker/login-action@v2 with: @@ -38,16 +33,5 @@ jobs: password: ${{ secrets.GITHUB_TOKEN }} - name: Build image and push to Docker Hub and GitHub Container Registry - uses: docker/build-push-action@v2 - with: - # relative path to the place where source code with Dockerfile is located - context: ./src/Services/Flight - # Note: tags has to be all lower-case - tags: | - meysamhadeli/booking-microservices/flight:latest - ghcr.io/meysamhadeli/booking-microservices/flight:latest - # build on feature branches, push only on develop branch - push: ${{ github.ref == 'refs/heads/develop' }} + run: docker build -t meysamhadeli/booking-microservices/flight:latest -f ./src/Services/Flight/Dockerfile . - - name: Image digest - run: echo ${{ steps.docker_build.outputs.digest }} From bc7aedd6367f9c02c9477512ba49a109caaa91ae Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Tue, 24 Jan 2023 19:11:11 +0330 Subject: [PATCH 09/73] . --- .github/workflows/build-publish.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index 810400dc..4002c482 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -32,6 +32,11 @@ jobs: username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - - name: Build image and push to Docker Hub and GitHub Container Registry - run: docker build -t meysamhadeli/booking-microservices/flight:latest -f ./src/Services/Flight/Dockerfile . + + - name: Build Docker Image + uses: docker/build-push-action@v2 + with: + push: true + tags: meysamhadeli/booking-microservices/flight:latest + context: ./src/Services/Flight/Dockerfile From 67204c90f33b8e7e750e03a7c4211ba22a1cdc35 Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Tue, 24 Jan 2023 19:14:54 +0330 Subject: [PATCH 10/73] . --- .github/workflows/build-publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index 4002c482..bcd1bf1b 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -38,5 +38,5 @@ jobs: with: push: true tags: meysamhadeli/booking-microservices/flight:latest - context: ./src/Services/Flight/Dockerfile + context: src/Services/Flight/Dockerfile From a05d99459965b9e91da181dd9fed88d85038e8d5 Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Tue, 24 Jan 2023 19:20:36 +0330 Subject: [PATCH 11/73] . --- .github/workflows/build-publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index bcd1bf1b..2166ea40 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -38,5 +38,5 @@ jobs: with: push: true tags: meysamhadeli/booking-microservices/flight:latest - context: src/Services/Flight/Dockerfile + context: ./src/Services/Flight From 4bb87ddacebd1b0af567afdda35e0367252881f5 Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Tue, 24 Jan 2023 19:26:37 +0330 Subject: [PATCH 12/73] . --- .github/workflows/build-publish.yml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index 2166ea40..9b5aef76 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -33,10 +33,9 @@ jobs: password: ${{ secrets.GITHUB_TOKEN }} - - name: Build Docker Image - uses: docker/build-push-action@v2 - with: - push: true - tags: meysamhadeli/booking-microservices/flight:latest - context: ./src/Services/Flight + - name: Build image + run: docker build -t meysamhadeli/booking-microservices/flight:latest -f ./src/Services/Flight/Dockerfile . + + - name: Publish image + run: docker push meysamhadeli/booking-microservices/flight:latest From 059edb3e86b7ce2f329ce35be9f6e8bbd2b4b002 Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Tue, 24 Jan 2023 19:31:20 +0330 Subject: [PATCH 13/73] . --- .github/workflows/build-publish.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index 9b5aef76..c942c46d 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -34,8 +34,8 @@ jobs: - name: Build image - run: docker build -t meysamhadeli/booking-microservices/flight:latest -f ./src/Services/Flight/Dockerfile . + run: docker build -t meysamh66/booking-microservices/flight:latest -f ./src/Services/Flight/Dockerfile . - name: Publish image - run: docker push meysamhadeli/booking-microservices/flight:latest + run: docker push meysamh66/booking-microservices/flight:latest From 38cbb42bc40e335cb263d0311c874275f5fdd0cb Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Tue, 24 Jan 2023 19:35:10 +0330 Subject: [PATCH 14/73] . --- .github/workflows/build-publish.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index c942c46d..3c522b15 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -34,8 +34,8 @@ jobs: - name: Build image - run: docker build -t meysamh66/booking-microservices/flight:latest -f ./src/Services/Flight/Dockerfile . + run: docker build -t meysamh66/booking-microservices-flight:latest -f ./src/Services/Flight/Dockerfile . - name: Publish image - run: docker push meysamh66/booking-microservices/flight:latest + run: docker push meysamh66/booking-microservices-flight:latest From 5de25a15c96c4f9e2a10e3e7f4513ca28feb43f6 Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Tue, 24 Jan 2023 21:00:55 +0330 Subject: [PATCH 15/73] . --- .github/workflows/build-publish.yml | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index 3c522b15..633f6059 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -19,6 +19,11 @@ jobs: - name: Checkout code uses: actions/checkout@v3 + # setup Docker buld action + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@v2 + - name: Login to DockerHub uses: docker/login-action@v2 with: @@ -32,10 +37,15 @@ jobs: username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - - - name: Build image - run: docker build -t meysamh66/booking-microservices-flight:latest -f ./src/Services/Flight/Dockerfile . - - - name: Publish image - run: docker push meysamh66/booking-microservices-flight:latest + - name: Build image and push to Docker Hub and GitHub Container Registry + uses: docker/build-push-action@v2 + with: + # relative path to the place where source code with Dockerfile is located + context: ./src/Services/Flight/Dockerfile + # Note: tags has to be all lower-case + tags: | + meysamh66/booking-microservices-flight:latest + ghcr.io/meysamhadeli/booking-microservices/flight:latest + # build on feature branches, push only on develop branch + push: ${{ github.ref == 'refs/heads/develop' }} From 4ea076edb79d92cc774688c1a518cb449972b412 Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Tue, 24 Jan 2023 21:02:26 +0330 Subject: [PATCH 16/73] . --- .github/workflows/build-publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index 633f6059..631620b9 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -41,7 +41,7 @@ jobs: uses: docker/build-push-action@v2 with: # relative path to the place where source code with Dockerfile is located - context: ./src/Services/Flight/Dockerfile + context: ./src/Services/Flight # Note: tags has to be all lower-case tags: | meysamh66/booking-microservices-flight:latest From 1bca448b5399992833b06dc9614291eef9b4222a Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Tue, 24 Jan 2023 21:25:29 +0330 Subject: [PATCH 17/73] . --- .github/workflows/build-publish.yml | 30 +++++++++++++---------------- 1 file changed, 13 insertions(+), 17 deletions(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index 631620b9..4f579ffe 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -19,11 +19,6 @@ jobs: - name: Checkout code uses: actions/checkout@v3 - # setup Docker buld action - - name: Set up Docker Buildx - id: buildx - uses: docker/setup-buildx-action@v2 - - name: Login to DockerHub uses: docker/login-action@v2 with: @@ -33,19 +28,20 @@ jobs: - name: Login to Github Packages uses: docker/login-action@v2 with: - registry: ghcr.io + registry: ${{ env.REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - - name: Build image and push to Docker Hub and GitHub Container Registry - uses: docker/build-push-action@v2 - with: - # relative path to the place where source code with Dockerfile is located - context: ./src/Services/Flight - # Note: tags has to be all lower-case - tags: | - meysamh66/booking-microservices-flight:latest - ghcr.io/meysamhadeli/booking-microservices/flight:latest - # build on feature branches, push only on develop branch - push: ${{ github.ref == 'refs/heads/develop' }} + + - name: Build image + run: | +# docker build -t meysamh66/booking-microservices/flight:latest -f ./src/Services/Flight/Dockerfile . + docker build . -t ${{ env.REGISTRY }}/${{ github.repository }}/flight:latest -f "${{ github.workspace }}/src/Services/Catalogs/Flight/Dockerfile ." + + + - name: Publish image + run: | + docker push "${{ env.REGISTRY }}/${{ github.repository }}/flight:latest}}" +# docker push meysamh66/booking-microservices/flight:latest + From afc9f6a848d5f3c56e5db0abedf4927e83b68204 Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Tue, 24 Jan 2023 21:28:36 +0330 Subject: [PATCH 18/73] . --- .github/workflows/dotnet.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml index efda479d..9d6567ae 100644 --- a/.github/workflows/dotnet.yml +++ b/.github/workflows/dotnet.yml @@ -28,8 +28,8 @@ jobs: - name: Cache NuGet Packages uses: actions/cache@v3 with: - key: ${{ runner.os }}-dotnet-nuget - path: ~/.nuget/packages + key: ${{ runner.os }}-dotnet-nuget + path: ~/.nuget/packages - name: Restore dependencies run: dotnet restore From 113918ea68e0d3d3daf29935d74c69812b840615 Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Tue, 24 Jan 2023 21:32:44 +0330 Subject: [PATCH 19/73] . --- .github/workflows/build-publish.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index 4f579ffe..51a579a1 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -28,7 +28,7 @@ jobs: - name: Login to Github Packages uses: docker/login-action@v2 with: - registry: ${{ env.REGISTRY }} + registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} @@ -41,7 +41,7 @@ jobs: - name: Publish image run: | - docker push "${{ env.REGISTRY }}/${{ github.repository }}/flight:latest}}" + docker push "$ghcr.io/${{ github.repository }}/flight:latest}}" # docker push meysamh66/booking-microservices/flight:latest From 615476ffc57c8ed9ad7f562f534e7297e812020f Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Tue, 24 Jan 2023 21:34:42 +0330 Subject: [PATCH 20/73] . --- .github/workflows/build-publish.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index 51a579a1..1ffc963d 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -36,12 +36,12 @@ jobs: - name: Build image run: | # docker build -t meysamh66/booking-microservices/flight:latest -f ./src/Services/Flight/Dockerfile . - docker build . -t ${{ env.REGISTRY }}/${{ github.repository }}/flight:latest -f "${{ github.workspace }}/src/Services/Catalogs/Flight/Dockerfile ." + docker build . -t ghcr.io/${{ github.repository }}/flight:latest -f ./src/Services/Catalogs/Flight/Dockerfile . - name: Publish image run: | - docker push "$ghcr.io/${{ github.repository }}/flight:latest}}" + docker push ghcr.io/${{ github.repository }}/flight:latest # docker push meysamh66/booking-microservices/flight:latest From fb3a14de9d5f1860ff17d9833d32ce9e32136772 Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Tue, 24 Jan 2023 21:36:49 +0330 Subject: [PATCH 21/73] . --- .github/workflows/build-publish.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index 1ffc963d..1a157d7f 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -36,12 +36,12 @@ jobs: - name: Build image run: | # docker build -t meysamh66/booking-microservices/flight:latest -f ./src/Services/Flight/Dockerfile . - docker build . -t ghcr.io/${{ github.repository }}/flight:latest -f ./src/Services/Catalogs/Flight/Dockerfile . + docker build . -t ghcr.io/meysamhadeli/booking-microservices/flight:latest -f ./src/Services/Catalogs/Flight/Dockerfile . - name: Publish image run: | - docker push ghcr.io/${{ github.repository }}/flight:latest + docker push ghcr.io/meysamhadeli/booking-microservices/flight:latest # docker push meysamh66/booking-microservices/flight:latest From 62352470fac534b74ce2ef28f2824db2ae925710 Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Tue, 24 Jan 2023 21:38:28 +0330 Subject: [PATCH 22/73] . --- .github/workflows/build-publish.yml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index 1a157d7f..ca26c116 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -32,16 +32,12 @@ jobs: username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - - name: Build image - run: | + run: docker build . -t ghcr.io/meysamhadeli/booking-microservices/flight:latest -f ./src/Services/Catalogs/Flight/Dockerfile . # docker build -t meysamh66/booking-microservices/flight:latest -f ./src/Services/Flight/Dockerfile . - docker build . -t ghcr.io/meysamhadeli/booking-microservices/flight:latest -f ./src/Services/Catalogs/Flight/Dockerfile . - - name: Publish image - run: | - docker push ghcr.io/meysamhadeli/booking-microservices/flight:latest + run: docker push ghcr.io/meysamhadeli/booking-microservices/flight:latest # docker push meysamh66/booking-microservices/flight:latest From a2a38cf58f95c57918f4fcf12efd8f6485be5534 Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Tue, 24 Jan 2023 21:42:39 +0330 Subject: [PATCH 23/73] . --- .github/workflows/build-publish.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index ca26c116..7f7c455d 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -33,11 +33,12 @@ jobs: password: ${{ secrets.GITHUB_TOKEN }} - name: Build image - run: docker build . -t ghcr.io/meysamhadeli/booking-microservices/flight:latest -f ./src/Services/Catalogs/Flight/Dockerfile . + run: docker build . --tag ghcr.io/${{ github.repository }}/flight:latest -f "${{ github.workspace }}/src/Services/Flight/Dockerfile" # docker build -t meysamh66/booking-microservices/flight:latest -f ./src/Services/Flight/Dockerfile . - name: Publish image - run: docker push ghcr.io/meysamhadeli/booking-microservices/flight:latest + run: docker push ghcr.io/${{ github.repository }}/flight:latest + # docker push meysamh66/booking-microservices/flight:latest From d2af891603be5014c1338369a465a61230f8159c Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Tue, 24 Jan 2023 21:47:30 +0330 Subject: [PATCH 24/73] . --- .github/workflows/build-publish.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index 7f7c455d..21575d4c 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -33,11 +33,13 @@ jobs: password: ${{ secrets.GITHUB_TOKEN }} - name: Build image - run: docker build . --tag ghcr.io/${{ github.repository }}/flight:latest -f "${{ github.workspace }}/src/Services/Flight/Dockerfile" + run: | + docker build . --tag ghcr.io/${{ github.repository }}/flight:latest -f "${{ github.workspace }}/src/Services/Flight/Dockerfile" # docker build -t meysamh66/booking-microservices/flight:latest -f ./src/Services/Flight/Dockerfile . - name: Publish image - run: docker push ghcr.io/${{ github.repository }}/flight:latest + run: | + docker push ghcr.io/${{ github.repository }}/flight:latest # docker push meysamh66/booking-microservices/flight:latest From 017b29046be88e164eeb987bf12ad12518382ab0 Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Tue, 24 Jan 2023 21:50:43 +0330 Subject: [PATCH 25/73] . --- .github/workflows/build-publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index 21575d4c..35fab7ce 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -34,7 +34,7 @@ jobs: - name: Build image run: | - docker build . --tag ghcr.io/${{ github.repository }}/flight:latest -f "${{ github.workspace }}/src/Services/Flight/Dockerfile" + docker build -t ghcr.io/${{ github.repository }}/flight:latest -f "${{ github.workspace }}/src/Services/Flight/Dockerfile" . # docker build -t meysamh66/booking-microservices/flight:latest -f ./src/Services/Flight/Dockerfile . - name: Publish image From 0c1dff25fbfd1b85745962607dfc4bc6d25d87cc Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Tue, 24 Jan 2023 22:29:00 +0330 Subject: [PATCH 26/73] . --- .github/workflows/build-publish.yml | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index 35fab7ce..d68f0582 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -3,7 +3,7 @@ name: build-publish on: # run it on push to the default repository branch push: - branches: [develop] + branches: [ develop ] # run it during pull request pull_request: @@ -33,14 +33,11 @@ jobs: password: ${{ secrets.GITHUB_TOKEN }} - name: Build image - run: | - docker build -t ghcr.io/${{ github.repository }}/flight:latest -f "${{ github.workspace }}/src/Services/Flight/Dockerfile" . -# docker build -t meysamh66/booking-microservices/flight:latest -f ./src/Services/Flight/Dockerfile . + run: | + docker build -t meysamh66/${{ github.repository }}/flight:latest -f "${{ github.workspace }}/src/Services/Flight/Dockerfile" . - name: Publish image run: | - docker push ghcr.io/${{ github.repository }}/flight:latest - -# docker push meysamh66/booking-microservices/flight:latest + docker push meysamh66/${{ github.repository }}/flight:latest From f3f71a14682c2b4039676d054c33422987bba3d8 Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Tue, 24 Jan 2023 22:37:13 +0330 Subject: [PATCH 27/73] . --- .github/workflows/build-publish.yml | 43 --------------------------- .github/workflows/github-packages.yml | 40 +++++++++++++++++++++++++ 2 files changed, 40 insertions(+), 43 deletions(-) delete mode 100644 .github/workflows/build-publish.yml create mode 100644 .github/workflows/github-packages.yml diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml deleted file mode 100644 index d68f0582..00000000 --- a/.github/workflows/build-publish.yml +++ /dev/null @@ -1,43 +0,0 @@ -name: build-publish - -on: - # run it on push to the default repository branch - push: - branches: [ develop ] - # run it during pull request - pull_request: - -jobs: - # define job to build and publish docker image - build-and-push-docker-image: - name: Build Docker image and push to repositories - # run only when code is compiling and tests are passing - runs-on: ubuntu-latest - - # steps to perform in job - steps: - - name: Checkout code - uses: actions/checkout@v3 - - - name: Login to DockerHub - uses: docker/login-action@v2 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_PASSWORD }} - - - name: Login to Github Packages - uses: docker/login-action@v2 - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Build image - run: | - docker build -t meysamh66/${{ github.repository }}/flight:latest -f "${{ github.workspace }}/src/Services/Flight/Dockerfile" . - - - name: Publish image - run: | - docker push meysamh66/${{ github.repository }}/flight:latest - - diff --git a/.github/workflows/github-packages.yml b/.github/workflows/github-packages.yml new file mode 100644 index 00000000..2d0f9d50 --- /dev/null +++ b/.github/workflows/github-packages.yml @@ -0,0 +1,40 @@ +name: github-packages + +on: + push: + branches: [ develop ] + pull_request: + +jobs: + + build-and-push-docker-image: + name: Build and Publish Docker image to Github Packages + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v3 + + + - name: Login to Github Packages + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build image + run: | + docker build -t ghcr.io/${{ github.repository }}/flight:latest -f "${{ github.workspace }}/src/Services/Flight/Dockerfile" . + docker build -t ghcr.io/${{ github.repository }}/identity:latest -f "${{ github.workspace }}/src/Services/Identity/Dockerfile" . + docker build -t ghcr.io/${{ github.repository }}/passenger:latest -f "${{ github.workspace }}/src/Services/Passenger/Dockerfile" . + docker build -t ghcr.io/${{ github.repository }}/booking:latest -f "${{ github.workspace }}/src/Services/Booking/Dockerfile" . + + - name: Publish image + run: | + docker push ghcr.io/${{ github.repository }}/flight:latest + docker push ghcr.io/${{ github.repository }}/identity:latest + docker push ghcr.io/${{ github.repository }}/passenger:latest + docker push ghcr.io/${{ github.repository }}/booking:latest + + From 0c97513fbde76e83aaa53c07c297c13ef8ae91f2 Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Tue, 24 Jan 2023 22:57:46 +0330 Subject: [PATCH 28/73] . --- .github/workflows/build-publish-docker.yml | 37 ++++++++++++++++++++ .github/workflows/github-packages.yml | 40 ---------------------- 2 files changed, 37 insertions(+), 40 deletions(-) create mode 100644 .github/workflows/build-publish-docker.yml delete mode 100644 .github/workflows/github-packages.yml diff --git a/.github/workflows/build-publish-docker.yml b/.github/workflows/build-publish-docker.yml new file mode 100644 index 00000000..2b9c4793 --- /dev/null +++ b/.github/workflows/build-publish-docker.yml @@ -0,0 +1,37 @@ +name: build-publish-docker + +on: + push: + branches: [ develop ] + pull_request: + +jobs: + + build-and-push-docker-image: + name: Build and Publish Docker image to Docker Hub + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Login to DockerHub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + + - name: Build image + run: | + docker build -t meysamh66/booking-microservices-flight:latest -f "${{ github.workspace }}/src/Services/Flight/Dockerfile" . + docker build -t meysamh66/booking-microservices-identity:latest -f "${{ github.workspace }}/src/Services/Identity/Dockerfile" . + docker build -t meysamh66/booking-microservices-passenger:latest -f "${{ github.workspace }}/src/Services/Passenger/Dockerfile" . + docker build -t meysamh66/booking-microservices-booking:latest -f "${{ github.workspace }}/src/Services/Booking/Dockerfile" . + + - name: Publish image + run: | + docker push meysamh66/booking-microservices-flight:latest + docker push meysamh66/booking-microservices-identity:latest + docker push meysamh66/booking-microservices-passenger:latest + docker push meysamh66/booking-microservices-booking:latest + diff --git a/.github/workflows/github-packages.yml b/.github/workflows/github-packages.yml deleted file mode 100644 index 2d0f9d50..00000000 --- a/.github/workflows/github-packages.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: github-packages - -on: - push: - branches: [ develop ] - pull_request: - -jobs: - - build-and-push-docker-image: - name: Build and Publish Docker image to Github Packages - runs-on: ubuntu-latest - - steps: - - name: Checkout code - uses: actions/checkout@v3 - - - - name: Login to Github Packages - uses: docker/login-action@v2 - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Build image - run: | - docker build -t ghcr.io/${{ github.repository }}/flight:latest -f "${{ github.workspace }}/src/Services/Flight/Dockerfile" . - docker build -t ghcr.io/${{ github.repository }}/identity:latest -f "${{ github.workspace }}/src/Services/Identity/Dockerfile" . - docker build -t ghcr.io/${{ github.repository }}/passenger:latest -f "${{ github.workspace }}/src/Services/Passenger/Dockerfile" . - docker build -t ghcr.io/${{ github.repository }}/booking:latest -f "${{ github.workspace }}/src/Services/Booking/Dockerfile" . - - - name: Publish image - run: | - docker push ghcr.io/${{ github.repository }}/flight:latest - docker push ghcr.io/${{ github.repository }}/identity:latest - docker push ghcr.io/${{ github.repository }}/passenger:latest - docker push ghcr.io/${{ github.repository }}/booking:latest - - From 14e53c94e34ad2f187935d7b91cfd792af5b3b2c Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Tue, 24 Jan 2023 23:32:23 +0330 Subject: [PATCH 29/73] . --- .github/release-drafter.yml | 20 ++++++++++---------- .github/workflows/build-publish-docker.yml | 16 ++++++++-------- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml index 610efe06..0708ea90 100644 --- a/.github/release-drafter.yml +++ b/.github/release-drafter.yml @@ -8,8 +8,8 @@ # This release drafter follows the conventions from https://keepachangelog.com, https://common-changelog.org/ # https://www.conventionalcommits.org -name-template: 'v$RESOLVED_VERSION' -tag-template: 'v$RESOLVED_VERSION' +name-template: $(echo $GITHUB_REF | sed 's/refs\/tags\///') +tag-template: $(echo $GITHUB_REF | sed 's/refs\/tags\///') template: | ## What Changed 👀 $CHANGES @@ -27,7 +27,7 @@ categories: - test - title: 👷 CI labels: - - ci + - ci - title: ♻️ Changes labels: - changed @@ -66,31 +66,31 @@ autolabeler: - '/(security)\/.*/' - label: 'refactor' branch: - - '/(refactor)\/.*/' + - '/(refactor)\/.*/' - label: 'docs' branch: - '/(docs)\/.*/' - label: 'ci' branch: - - '/(ci)\/.*/' + - '/(ci)\/.*/' - label: 'test' branch: - - '/(test)\/.*/' + - '/(test)\/.*/' - label: 'bug' branch: - - '/(fix)\/.*/' + - '/(fix)\/.*/' - label: 'feature' branch: - '/(feat)\/.*/' - label: 'minor' branch: - - '/(feat)\/.*/' + - '/(feat)\/.*/' - label: 'patch' branch: - - '/(fix)\/.*/' + - '/(fix)\/.*/' body: - '/JIRA-[0-9]{1,4}/' - + change-template: '- $TITLE (#$NUMBER)' exclude-contributors: - 'meysamhadeli' diff --git a/.github/workflows/build-publish-docker.yml b/.github/workflows/build-publish-docker.yml index 2b9c4793..e018466e 100644 --- a/.github/workflows/build-publish-docker.yml +++ b/.github/workflows/build-publish-docker.yml @@ -23,15 +23,15 @@ jobs: - name: Build image run: | - docker build -t meysamh66/booking-microservices-flight:latest -f "${{ github.workspace }}/src/Services/Flight/Dockerfile" . - docker build -t meysamh66/booking-microservices-identity:latest -f "${{ github.workspace }}/src/Services/Identity/Dockerfile" . - docker build -t meysamh66/booking-microservices-passenger:latest -f "${{ github.workspace }}/src/Services/Passenger/Dockerfile" . - docker build -t meysamh66/booking-microservices-booking:latest -f "${{ github.workspace }}/src/Services/Booking/Dockerfile" . + docker build -t meysamh66/booking-microservices-flight:$(echo $GITHUB_REF | sed 's/refs\/tags\///') -f "${{ github.workspace }}/src/Services/Flight/Dockerfile" . + docker build -t meysamh66/booking-microservices-identity:$(echo $GITHUB_REF | sed 's/refs\/tags\///') -f "${{ github.workspace }}/src/Services/Identity/Dockerfile" . + docker build -t meysamh66/booking-microservices-passenger:$(echo $GITHUB_REF | sed 's/refs\/tags\///') -f "${{ github.workspace }}/src/Services/Passenger/Dockerfile" . + docker build -t meysamh66/booking-microservices-booking:$(echo $GITHUB_REF | sed 's/refs\/tags\///') -f "${{ github.workspace }}/src/Services/Booking/Dockerfile" . - name: Publish image run: | - docker push meysamh66/booking-microservices-flight:latest - docker push meysamh66/booking-microservices-identity:latest - docker push meysamh66/booking-microservices-passenger:latest - docker push meysamh66/booking-microservices-booking:latest + docker push meysamh66/booking-microservices-flight:$(echo $GITHUB_REF | sed 's/refs\/tags\///') + docker push meysamh66/booking-microservices-identity:$(echo $GITHUB_REF | sed 's/refs\/tags\///') + docker push meysamh66/booking-microservices-passenger:$(echo $GITHUB_REF | sed 's/refs\/tags\///') + docker push meysamh66/booking-microservices-booking:$(echo $GITHUB_REF | sed 's/refs\/tags\///') From 701a41b3e898e982440a845fb2d698ed288e595d Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Tue, 24 Jan 2023 23:39:12 +0330 Subject: [PATCH 30/73] . --- .github/workflows/build-publish-docker.yml | 24 ++++++++++++++-------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build-publish-docker.yml b/.github/workflows/build-publish-docker.yml index e018466e..8ccf6dda 100644 --- a/.github/workflows/build-publish-docker.yml +++ b/.github/workflows/build-publish-docker.yml @@ -8,13 +8,19 @@ on: jobs: build-and-push-docker-image: - name: Build and Publish Docker image to Docker Hub + name: Build and Publish Docker image to DockerHub runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v3 + - name: Get release tag + run: echo "::set-output name=tag::$(echo $GITHUB_REF | sed 's/refs\/tags\///')" + + - name: Print release tag + run: echo "The release tag is ${{ steps.get_tag.outputs.tag }}" + - name: Login to DockerHub uses: docker/login-action@v2 with: @@ -23,15 +29,15 @@ jobs: - name: Build image run: | - docker build -t meysamh66/booking-microservices-flight:$(echo $GITHUB_REF | sed 's/refs\/tags\///') -f "${{ github.workspace }}/src/Services/Flight/Dockerfile" . - docker build -t meysamh66/booking-microservices-identity:$(echo $GITHUB_REF | sed 's/refs\/tags\///') -f "${{ github.workspace }}/src/Services/Identity/Dockerfile" . - docker build -t meysamh66/booking-microservices-passenger:$(echo $GITHUB_REF | sed 's/refs\/tags\///') -f "${{ github.workspace }}/src/Services/Passenger/Dockerfile" . - docker build -t meysamh66/booking-microservices-booking:$(echo $GITHUB_REF | sed 's/refs\/tags\///') -f "${{ github.workspace }}/src/Services/Booking/Dockerfile" . + docker build -t meysamh66/booking-microservices-flight:latest -f "${{ github.workspace }}/src/Services/Flight/Dockerfile" . + docker build -t meysamh66/booking-microservices-identity:latest -f "${{ github.workspace }}/src/Services/Identity/Dockerfile" . + docker build -t meysamh66/booking-microservices-passenger:latest -f "${{ github.workspace }}/src/Services/Passenger/Dockerfile" . + docker build -t meysamh66/booking-microservices-booking:latest -f "${{ github.workspace }}/src/Services/Booking/Dockerfile" . - name: Publish image run: | - docker push meysamh66/booking-microservices-flight:$(echo $GITHUB_REF | sed 's/refs\/tags\///') - docker push meysamh66/booking-microservices-identity:$(echo $GITHUB_REF | sed 's/refs\/tags\///') - docker push meysamh66/booking-microservices-passenger:$(echo $GITHUB_REF | sed 's/refs\/tags\///') - docker push meysamh66/booking-microservices-booking:$(echo $GITHUB_REF | sed 's/refs\/tags\///') + docker push meysamh66/booking-microservices-flight:latest + docker push meysamh66/booking-microservices-identity:latest + docker push meysamh66/booking-microservices-passenger:latest + docker push meysamh66/booking-microservices-booking:latest From 41a20d20c40380979c894a0708e1bcc33d1ba6f9 Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Tue, 24 Jan 2023 23:42:45 +0330 Subject: [PATCH 31/73] . --- .github/workflows/build-publish-docker.yml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build-publish-docker.yml b/.github/workflows/build-publish-docker.yml index 8ccf6dda..854b1c33 100644 --- a/.github/workflows/build-publish-docker.yml +++ b/.github/workflows/build-publish-docker.yml @@ -15,11 +15,8 @@ jobs: - name: Checkout code uses: actions/checkout@v3 - - name: Get release tag - run: echo "::set-output name=tag::$(echo $GITHUB_REF | sed 's/refs\/tags\///')" - - - name: Print release tag - run: echo "The release tag is ${{ steps.get_tag.outputs.tag }}" + - name: Print GITHUB_REF value + run: echo "GITHUB_REF value is $GITHUB_REF" - name: Login to DockerHub uses: docker/login-action@v2 From 3f2514eb6eaf47f714e5c8f5577fdcd1b475bcfa Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Tue, 24 Jan 2023 23:44:06 +0330 Subject: [PATCH 32/73] . --- .github/workflows/build-publish-docker.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-publish-docker.yml b/.github/workflows/build-publish-docker.yml index 854b1c33..6387120f 100644 --- a/.github/workflows/build-publish-docker.yml +++ b/.github/workflows/build-publish-docker.yml @@ -15,8 +15,8 @@ jobs: - name: Checkout code uses: actions/checkout@v3 - - name: Print GITHUB_REF value - run: echo "GITHUB_REF value is $GITHUB_REF" + - name: Print release tag + run: echo "The release tag is $(echo $GITHUB_REF | sed 's/refs\/tags\///')" - name: Login to DockerHub uses: docker/login-action@v2 From 887bdeb648908967f1281af1b18b9b57f3b16f39 Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Tue, 24 Jan 2023 23:49:07 +0330 Subject: [PATCH 33/73] . --- .github/release-drafter.yml | 4 ++-- .github/workflows/build-publish-docker.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml index 0708ea90..426e305b 100644 --- a/.github/release-drafter.yml +++ b/.github/release-drafter.yml @@ -8,8 +8,8 @@ # This release drafter follows the conventions from https://keepachangelog.com, https://common-changelog.org/ # https://www.conventionalcommits.org -name-template: $(echo $GITHUB_REF | sed 's/refs\/tags\///') -tag-template: $(echo $GITHUB_REF | sed 's/refs\/tags\///') +name-template: 'v$RESOLVED_VERSION' +tag-template: 'v$RESOLVED_VERSION' template: | ## What Changed 👀 $CHANGES diff --git a/.github/workflows/build-publish-docker.yml b/.github/workflows/build-publish-docker.yml index 6387120f..78810f7a 100644 --- a/.github/workflows/build-publish-docker.yml +++ b/.github/workflows/build-publish-docker.yml @@ -16,7 +16,7 @@ jobs: uses: actions/checkout@v3 - name: Print release tag - run: echo "The release tag is $(echo $GITHUB_REF | sed 's/refs\/tags\///')" + run: echo "The release tag is $(echo 'v$RESOLVED_VERSION')" - name: Login to DockerHub uses: docker/login-action@v2 From aa520f4fb302cfb8a646944bd6d1d96ee906dd7c Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Tue, 24 Jan 2023 23:50:19 +0330 Subject: [PATCH 34/73] . --- .github/workflows/build-publish-docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-publish-docker.yml b/.github/workflows/build-publish-docker.yml index 78810f7a..94e15fa3 100644 --- a/.github/workflows/build-publish-docker.yml +++ b/.github/workflows/build-publish-docker.yml @@ -16,7 +16,7 @@ jobs: uses: actions/checkout@v3 - name: Print release tag - run: echo "The release tag is $(echo 'v$RESOLVED_VERSION')" + run: echo "The release tag is 'v$RESOLVED_VERSION' - name: Login to DockerHub uses: docker/login-action@v2 From b9e22742a3701b32dc44298a3a42afda8d47e279 Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Tue, 24 Jan 2023 23:53:09 +0330 Subject: [PATCH 35/73] . --- .github/workflows/build-publish-docker.yml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-publish-docker.yml b/.github/workflows/build-publish-docker.yml index 94e15fa3..f3b6d9c5 100644 --- a/.github/workflows/build-publish-docker.yml +++ b/.github/workflows/build-publish-docker.yml @@ -15,8 +15,15 @@ jobs: - name: Checkout code uses: actions/checkout@v3 - - name: Print release tag - run: echo "The release tag is 'v$RESOLVED_VERSION' + - name: Extract version numbers + run: | + version=$(echo $GITHUB_REF | sed 's/refs\/tags\///') + major=$(echo $version | cut -d'.' -f1 | sed 's/v//') + minor=$(echo $version | cut -d'.' -f2) + patch=$(echo $version | cut -d'.' -f3) + echo "The major version number is $major" + echo "The minor version number is $minor" + echo "The patch version number is $patch" - name: Login to DockerHub uses: docker/login-action@v2 From 1349416219b4439debdbee3fe4679aeddf7498cd Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Tue, 24 Jan 2023 23:58:33 +0330 Subject: [PATCH 36/73] . --- .github/workflows/build-publish-docker.yml | 31 ++++++++++++++++------ 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build-publish-docker.yml b/.github/workflows/build-publish-docker.yml index f3b6d9c5..6eaf5a44 100644 --- a/.github/workflows/build-publish-docker.yml +++ b/.github/workflows/build-publish-docker.yml @@ -15,15 +15,30 @@ jobs: - name: Checkout code uses: actions/checkout@v3 - - name: Extract version numbers + + # https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions + - name: Semantic Release Publish + id: semantic + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # because of using none default (conventionalcommits) `preset` for `semantic-release`, we should add dependency `conventional-changelog-conventionalcommits` +# run: npx -p conventional-changelog-conventionalcommits -p @semantic-release/git -p @semantic-release/changelog -p @semantic-release/exec semantic-release + + - name: Semantic Release Outputs run: | - version=$(echo $GITHUB_REF | sed 's/refs\/tags\///') - major=$(echo $version | cut -d'.' -f1 | sed 's/v//') - minor=$(echo $version | cut -d'.' -f2) - patch=$(echo $version | cut -d'.' -f3) - echo "The major version number is $major" - echo "The minor version number is $minor" - echo "The patch version number is $patch" + echo ${{ steps.semantic.outputs.semantic_nextRelease_version }} + echo ${{ steps.semantic.outputs.semantic_nextRelease_channel }} + echo ${{ steps.semantic.outputs.semantic_nextRelease_gitTag }} + echo ${{ steps.semantic.outputs.semantic_lastRelease_version }} + echo ${{ steps.semantic.outputs.semantic_lastRelease_channel }} + echo ${{ steps.semantic.outputs.semantic_lastRelease_gitTag }} + +# +# - name: Get release tag +# run: echo "::set-output name=tag::$(echo $GITHUB_REF)" +# +# - name: Print release tag +# run: echo "The release tag is ${{ steps.get_tag.outputs.tag }}" - name: Login to DockerHub uses: docker/login-action@v2 From b61c07db82ff739b09d34f03ea9c3ca51deb1a80 Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Wed, 25 Jan 2023 00:30:34 +0330 Subject: [PATCH 37/73] . --- .github/workflows/build-publish-docker.yml | 37 ++++++++-------------- 1 file changed, 13 insertions(+), 24 deletions(-) diff --git a/.github/workflows/build-publish-docker.yml b/.github/workflows/build-publish-docker.yml index 6eaf5a44..f704568e 100644 --- a/.github/workflows/build-publish-docker.yml +++ b/.github/workflows/build-publish-docker.yml @@ -15,30 +15,19 @@ jobs: - name: Checkout code uses: actions/checkout@v3 - - # https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions - - name: Semantic Release Publish - id: semantic - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - # because of using none default (conventionalcommits) `preset` for `semantic-release`, we should add dependency `conventional-changelog-conventionalcommits` -# run: npx -p conventional-changelog-conventionalcommits -p @semantic-release/git -p @semantic-release/changelog -p @semantic-release/exec semantic-release - - - name: Semantic Release Outputs - run: | - echo ${{ steps.semantic.outputs.semantic_nextRelease_version }} - echo ${{ steps.semantic.outputs.semantic_nextRelease_channel }} - echo ${{ steps.semantic.outputs.semantic_nextRelease_gitTag }} - echo ${{ steps.semantic.outputs.semantic_lastRelease_version }} - echo ${{ steps.semantic.outputs.semantic_lastRelease_channel }} - echo ${{ steps.semantic.outputs.semantic_lastRelease_gitTag }} - -# -# - name: Get release tag -# run: echo "::set-output name=tag::$(echo $GITHUB_REF)" -# -# - name: Print release tag -# run: echo "The release tag is ${{ steps.get_tag.outputs.tag }}" + - name: Process version of the tag + id: version + uses: ncipollo/semantic-version-action@v1 + - name: Dump steps context + env: + STEPS_CONTEXT: ${{ toJson(steps.version.outputs) }} + run: echo "$STEPS_CONTEXT" + # + # - name: Get release tag + # run: echo "::set-output name=tag::$(echo $GITHUB_REF)" + # + # - name: Print release tag + # run: echo "The release tag is ${{ steps.get_tag.outputs.tag }}" - name: Login to DockerHub uses: docker/login-action@v2 From fc89e3fe330dd1d7a1c235d950f2a2c6369a2379 Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Wed, 25 Jan 2023 00:31:45 +0330 Subject: [PATCH 38/73] . --- .github/workflows/build-publish-docker.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-publish-docker.yml b/.github/workflows/build-publish-docker.yml index f704568e..cce1dd3e 100644 --- a/.github/workflows/build-publish-docker.yml +++ b/.github/workflows/build-publish-docker.yml @@ -18,10 +18,10 @@ jobs: - name: Process version of the tag id: version uses: ncipollo/semantic-version-action@v1 - - name: Dump steps context - env: - STEPS_CONTEXT: ${{ toJson(steps.version.outputs) }} - run: echo "$STEPS_CONTEXT" + - name: Dump steps context + env: + STEPS_CONTEXT: ${{ toJson(steps.version.outputs) }} + run: echo "$STEPS_CONTEXT" # # - name: Get release tag # run: echo "::set-output name=tag::$(echo $GITHUB_REF)" From f7042c1ea2188fd3fbc99c8d16840dc88ffe9108 Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Wed, 25 Jan 2023 01:00:12 +0330 Subject: [PATCH 39/73] . --- .github/release-drafter.yml | 5 ++--- .github/workflows/build-publish-docker.yml | 24 +++++++++++----------- 2 files changed, 14 insertions(+), 15 deletions(-) diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml index 426e305b..b3c5e9ae 100644 --- a/.github/release-drafter.yml +++ b/.github/release-drafter.yml @@ -8,12 +8,11 @@ # This release drafter follows the conventions from https://keepachangelog.com, https://common-changelog.org/ # https://www.conventionalcommits.org -name-template: 'v$RESOLVED_VERSION' -tag-template: 'v$RESOLVED_VERSION' + template: | ## What Changed 👀 $CHANGES - **Full Changelog**: https://github.com/$OWNER/$REPOSITORY/compare/$PREVIOUS_TAG...v$RESOLVED_VERSION + categories: - title: 🚀 Features labels: diff --git a/.github/workflows/build-publish-docker.yml b/.github/workflows/build-publish-docker.yml index cce1dd3e..384d1cd5 100644 --- a/.github/workflows/build-publish-docker.yml +++ b/.github/workflows/build-publish-docker.yml @@ -15,19 +15,19 @@ jobs: - name: Checkout code uses: actions/checkout@v3 - - name: Process version of the tag - id: version - uses: ncipollo/semantic-version-action@v1 - - name: Dump steps context + - name: Setup Node.js + uses: actions/setup-node@v2 + with: + node-version: 14 + + - name: Release Version env: - STEPS_CONTEXT: ${{ toJson(steps.version.outputs) }} - run: echo "$STEPS_CONTEXT" - # - # - name: Get release tag - # run: echo "::set-output name=tag::$(echo $GITHUB_REF)" - # - # - name: Print release tag - # run: echo "The release tag is ${{ steps.get_tag.outputs.tag }}" + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + uses: semantic-release-bot/action@v1.1.1 + with: + commit-message-format: '${conventionalCommit.type}(${conventionalCommit.scope}): ${conventionalCommit.subject}' + conventions: '@semantic-release-bot/conventional-commits' + dry-run: true - name: Login to DockerHub uses: docker/login-action@v2 From 7fbfd452d367150c2781b4fd129ff6e05535dba2 Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Wed, 25 Jan 2023 01:17:36 +0330 Subject: [PATCH 40/73] . --- .github/workflows/build-publish-docker.yml | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build-publish-docker.yml b/.github/workflows/build-publish-docker.yml index 384d1cd5..a0c692cd 100644 --- a/.github/workflows/build-publish-docker.yml +++ b/.github/workflows/build-publish-docker.yml @@ -15,19 +15,18 @@ jobs: - name: Checkout code uses: actions/checkout@v3 - - name: Setup Node.js + - name: Use Node.js 16.x uses: actions/setup-node@v2 with: - node-version: 14 + node-version: '16' + - name: Install dependencies + run: npm ci - - name: Release Version + ## With the above semantic-release configuration, will create a release and push the dist/index.js file as well as all the tags required + - name: Semantic Release + run: npx semantic-release env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - uses: semantic-release-bot/action@v1.1.1 - with: - commit-message-format: '${conventionalCommit.type}(${conventionalCommit.scope}): ${conventionalCommit.subject}' - conventions: '@semantic-release-bot/conventional-commits' - dry-run: true - name: Login to DockerHub uses: docker/login-action@v2 From bee9040e88c0dc31d77590deb928c8948430b9e6 Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Wed, 25 Jan 2023 01:18:40 +0330 Subject: [PATCH 41/73] . --- .github/workflows/build-publish-docker.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/build-publish-docker.yml b/.github/workflows/build-publish-docker.yml index a0c692cd..af9f0495 100644 --- a/.github/workflows/build-publish-docker.yml +++ b/.github/workflows/build-publish-docker.yml @@ -19,8 +19,6 @@ jobs: uses: actions/setup-node@v2 with: node-version: '16' - - name: Install dependencies - run: npm ci ## With the above semantic-release configuration, will create a release and push the dist/index.js file as well as all the tags required - name: Semantic Release From ac398a6ba102edb0fd5c6f3ad683bec09ab4fb40 Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Wed, 25 Jan 2023 01:20:01 +0330 Subject: [PATCH 42/73] . --- .github/workflows/build-publish-docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-publish-docker.yml b/.github/workflows/build-publish-docker.yml index af9f0495..c9af7e48 100644 --- a/.github/workflows/build-publish-docker.yml +++ b/.github/workflows/build-publish-docker.yml @@ -18,7 +18,7 @@ jobs: - name: Use Node.js 16.x uses: actions/setup-node@v2 with: - node-version: '16' + node-version: '18' ## With the above semantic-release configuration, will create a release and push the dist/index.js file as well as all the tags required - name: Semantic Release From 1e88508284846ad0508e6e91e27da1d2e946547c Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Wed, 25 Jan 2023 01:21:31 +0330 Subject: [PATCH 43/73] . --- .github/workflows/build-publish-docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-publish-docker.yml b/.github/workflows/build-publish-docker.yml index c9af7e48..fed08652 100644 --- a/.github/workflows/build-publish-docker.yml +++ b/.github/workflows/build-publish-docker.yml @@ -22,7 +22,7 @@ jobs: ## With the above semantic-release configuration, will create a release and push the dist/index.js file as well as all the tags required - name: Semantic Release - run: npx semantic-release + run: npx -p node@v18-lts -c "npx semantic-release" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From e2dfc1cd6c546ad76bd9c961f98d46b7e12a05be Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Wed, 25 Jan 2023 01:24:43 +0330 Subject: [PATCH 44/73] . --- .github/workflows/build-publish-docker.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-publish-docker.yml b/.github/workflows/build-publish-docker.yml index fed08652..0a6d1246 100644 --- a/.github/workflows/build-publish-docker.yml +++ b/.github/workflows/build-publish-docker.yml @@ -15,14 +15,14 @@ jobs: - name: Checkout code uses: actions/checkout@v3 - - name: Use Node.js 16.x + - name: Setup Node.js uses: actions/setup-node@v2 with: - node-version: '18' + node-version: 'lts/*' ## With the above semantic-release configuration, will create a release and push the dist/index.js file as well as all the tags required - name: Semantic Release - run: npx -p node@v18-lts -c "npx semantic-release" + run: npx semantic-release env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 449d2a1fb806695433e7148a0a23011d558b7965 Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Wed, 25 Jan 2023 01:26:26 +0330 Subject: [PATCH 45/73] . --- .github/workflows/build-publish-docker.yml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-publish-docker.yml b/.github/workflows/build-publish-docker.yml index 0a6d1246..53d0bf4f 100644 --- a/.github/workflows/build-publish-docker.yml +++ b/.github/workflows/build-publish-docker.yml @@ -21,11 +21,21 @@ jobs: node-version: 'lts/*' ## With the above semantic-release configuration, will create a release and push the dist/index.js file as well as all the tags required - - name: Semantic Release + - name: Semantic Release Version + id: semantic-version run: npx semantic-release env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Semantic Release Versions Outputs + run: | + echo ${{ steps.semantic-version.outputs.semantic_nextRelease_version }} + echo ${{ steps.semantic-version.outputs.semantic_nextRelease_channel }} + echo ${{ steps.semantic-version.outputs.semantic_nextRelease_gitTag }} + echo ${{ steps.semantic-version.outputs.semantic_lastRelease_version }} + echo ${{ steps.semantic-version.outputs.semantic_lastRelease_channel }} + echo ${{ steps.semantic-version.outputs.semantic_lastRelease_gitTag }} + - name: Login to DockerHub uses: docker/login-action@v2 with: From a72df5d5f5dd680678e6a404f92292737556a1ec Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Wed, 25 Jan 2023 01:35:23 +0330 Subject: [PATCH 46/73] . --- .github/workflows/build-publish-docker.yml | 50 +++++++++------------- 1 file changed, 21 insertions(+), 29 deletions(-) diff --git a/.github/workflows/build-publish-docker.yml b/.github/workflows/build-publish-docker.yml index 53d0bf4f..12c5d5a6 100644 --- a/.github/workflows/build-publish-docker.yml +++ b/.github/workflows/build-publish-docker.yml @@ -7,6 +7,15 @@ on: jobs: + update-semver: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: haya14busa/action-update-semver@v1 + id: version + with: + major_version_tag_only: true # (optional, default is "false") + build-and-push-docker-image: name: Build and Publish Docker image to DockerHub runs-on: ubuntu-latest @@ -15,27 +24,6 @@ jobs: - name: Checkout code uses: actions/checkout@v3 - - name: Setup Node.js - uses: actions/setup-node@v2 - with: - node-version: 'lts/*' - - ## With the above semantic-release configuration, will create a release and push the dist/index.js file as well as all the tags required - - name: Semantic Release Version - id: semantic-version - run: npx semantic-release - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Semantic Release Versions Outputs - run: | - echo ${{ steps.semantic-version.outputs.semantic_nextRelease_version }} - echo ${{ steps.semantic-version.outputs.semantic_nextRelease_channel }} - echo ${{ steps.semantic-version.outputs.semantic_nextRelease_gitTag }} - echo ${{ steps.semantic-version.outputs.semantic_lastRelease_version }} - echo ${{ steps.semantic-version.outputs.semantic_lastRelease_channel }} - echo ${{ steps.semantic-version.outputs.semantic_lastRelease_gitTag }} - - name: Login to DockerHub uses: docker/login-action@v2 with: @@ -44,15 +32,19 @@ jobs: - name: Build image run: | - docker build -t meysamh66/booking-microservices-flight:latest -f "${{ github.workspace }}/src/Services/Flight/Dockerfile" . - docker build -t meysamh66/booking-microservices-identity:latest -f "${{ github.workspace }}/src/Services/Identity/Dockerfile" . - docker build -t meysamh66/booking-microservices-passenger:latest -f "${{ github.workspace }}/src/Services/Passenger/Dockerfile" . - docker build -t meysamh66/booking-microservices-booking:latest -f "${{ github.workspace }}/src/Services/Booking/Dockerfile" . + tag_v=$(git describe --tags $(git rev-list --tags --max-count=1)) + tag=$(echo $tag_v | sed 's/v//') + docker build -t meysamh66/booking-microservices-flight:${tag} -f "${{ github.workspace }}/src/Services/Flight/Dockerfile" . + docker build -t meysamh66/booking-microservices-identity:${tag} -f "${{ github.workspace }}/src/Services/Identity/Dockerfile" . + docker build -t meysamh66/booking-microservices-passenger:${tag} -f "${{ github.workspace }}/src/Services/Passenger/Dockerfile" . + docker build -t meysamh66/booking-microservices-booking:${tag} -f "${{ github.workspace }}/src/Services/Booking/Dockerfile" . - name: Publish image run: | - docker push meysamh66/booking-microservices-flight:latest - docker push meysamh66/booking-microservices-identity:latest - docker push meysamh66/booking-microservices-passenger:latest - docker push meysamh66/booking-microservices-booking:latest + tag_v=$(git describe --tags $(git rev-list --tags --max-count=1)) + tag=$(echo $tag_v | sed 's/v//') + docker push meysamh66/booking-microservices-flight:${tag} + docker push meysamh66/booking-microservices-identity:${tag} + docker push meysamh66/booking-microservices-passenger:${tag} + docker push meysamh66/booking-microservices-booking:${tag} From ab31b22874dd2c355fdc89db00379447f7caeb2f Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Wed, 25 Jan 2023 01:39:06 +0330 Subject: [PATCH 47/73] . --- .github/workflows/build-publish-docker.yml | 33 ++++++++-------------- 1 file changed, 12 insertions(+), 21 deletions(-) diff --git a/.github/workflows/build-publish-docker.yml b/.github/workflows/build-publish-docker.yml index 12c5d5a6..f92cf4e0 100644 --- a/.github/workflows/build-publish-docker.yml +++ b/.github/workflows/build-publish-docker.yml @@ -7,15 +7,6 @@ on: jobs: - update-semver: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - uses: haya14busa/action-update-semver@v1 - id: version - with: - major_version_tag_only: true # (optional, default is "false") - build-and-push-docker-image: name: Build and Publish Docker image to DockerHub runs-on: ubuntu-latest @@ -24,6 +15,10 @@ jobs: - name: Checkout code uses: actions/checkout@v3 + - name: Get Tag + id: vars + run: echo ::set-output name=tag::${git describe --abbrev=0} + - name: Login to DockerHub uses: docker/login-action@v2 with: @@ -32,19 +27,15 @@ jobs: - name: Build image run: | - tag_v=$(git describe --tags $(git rev-list --tags --max-count=1)) - tag=$(echo $tag_v | sed 's/v//') - docker build -t meysamh66/booking-microservices-flight:${tag} -f "${{ github.workspace }}/src/Services/Flight/Dockerfile" . - docker build -t meysamh66/booking-microservices-identity:${tag} -f "${{ github.workspace }}/src/Services/Identity/Dockerfile" . - docker build -t meysamh66/booking-microservices-passenger:${tag} -f "${{ github.workspace }}/src/Services/Passenger/Dockerfile" . - docker build -t meysamh66/booking-microservices-booking:${tag} -f "${{ github.workspace }}/src/Services/Booking/Dockerfile" . + docker build -t meysamh66/booking-microservices-flight:${{ steps.vars.outputs.tag }} -f "${{ github.workspace }}/src/Services/Flight/Dockerfile" . + docker build -t meysamh66/booking-microservices-identity:${{ steps.vars.outputs.tag }} -f "${{ github.workspace }}/src/Services/Identity/Dockerfile" . + docker build -t meysamh66/booking-microservices-passenger:${{ steps.vars.outputs.tag }} -f "${{ github.workspace }}/src/Services/Passenger/Dockerfile" . + docker build -t meysamh66/booking-microservices-booking:${{ steps.vars.outputs.tag }} -f "${{ github.workspace }}/src/Services/Booking/Dockerfile" . - name: Publish image run: | - tag_v=$(git describe --tags $(git rev-list --tags --max-count=1)) - tag=$(echo $tag_v | sed 's/v//') - docker push meysamh66/booking-microservices-flight:${tag} - docker push meysamh66/booking-microservices-identity:${tag} - docker push meysamh66/booking-microservices-passenger:${tag} - docker push meysamh66/booking-microservices-booking:${tag} + docker push meysamh66/booking-microservices-flight:${{ steps.vars.outputs.tag }} + docker push meysamh66/booking-microservices-identity:${{ steps.vars.outputs.tag }} + docker push meysamh66/booking-microservices-passenger:${{ steps.vars.outputs.tag }} + docker push meysamh66/booking-microservices-booking:${{ steps.vars.outputs.tag }} From 083cc08de83af939f43ea2c53b16e7884a1b6219 Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Wed, 25 Jan 2023 02:10:40 +0330 Subject: [PATCH 48/73] . --- .github/workflows/build-publish-docker.yml | 25 ++++++++++++---------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/.github/workflows/build-publish-docker.yml b/.github/workflows/build-publish-docker.yml index f92cf4e0..98db2815 100644 --- a/.github/workflows/build-publish-docker.yml +++ b/.github/workflows/build-publish-docker.yml @@ -15,9 +15,11 @@ jobs: - name: Checkout code uses: actions/checkout@v3 - - name: Get Tag - id: vars - run: echo ::set-output name=tag::${git describe --abbrev=0} + - name: Determine next semantic version + id: determine-version + uses: actions/determine-next-semver@v2 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} - name: Login to DockerHub uses: docker/login-action@v2 @@ -27,15 +29,16 @@ jobs: - name: Build image run: | - docker build -t meysamh66/booking-microservices-flight:${{ steps.vars.outputs.tag }} -f "${{ github.workspace }}/src/Services/Flight/Dockerfile" . - docker build -t meysamh66/booking-microservices-identity:${{ steps.vars.outputs.tag }} -f "${{ github.workspace }}/src/Services/Identity/Dockerfile" . - docker build -t meysamh66/booking-microservices-passenger:${{ steps.vars.outputs.tag }} -f "${{ github.workspace }}/src/Services/Passenger/Dockerfile" . - docker build -t meysamh66/booking-microservices-booking:${{ steps.vars.outputs.tag }} -f "${{ github.workspace }}/src/Services/Booking/Dockerfile" . + echo "ENV VERSION={{ steps.determine-version.outputs.next-version }}" + docker build -t meysamh66/booking-microservices-flight:${{ steps.determine-version.outputs.next-version }} -f "${{ github.workspace }}/src/Services/Flight/Dockerfile" . + docker build -t meysamh66/booking-microservices-identity:${{ steps.determine-version.outputs.next-version }} -f "${{ github.workspace }}/src/Services/Identity/Dockerfile" . + docker build -t meysamh66/booking-microservices-passenger:${{ steps.determine-version.outputs.next-version }} -f "${{ github.workspace }}/src/Services/Passenger/Dockerfile" . + docker build -t meysamh66/booking-microservices-booking:${{ steps.determine-version.outputs.next-version }} -f "${{ github.workspace }}/src/Services/Booking/Dockerfile" . - name: Publish image run: | - docker push meysamh66/booking-microservices-flight:${{ steps.vars.outputs.tag }} - docker push meysamh66/booking-microservices-identity:${{ steps.vars.outputs.tag }} - docker push meysamh66/booking-microservices-passenger:${{ steps.vars.outputs.tag }} - docker push meysamh66/booking-microservices-booking:${{ steps.vars.outputs.tag }} + docker push meysamh66/booking-microservices-flight:${{ steps.determine-version.outputs.next-version }} + docker push meysamh66/booking-microservices-identity:${{ steps.determine-version.outputs.next-version }} + docker push meysamh66/booking-microservices-passenger:${{ steps.determine-version.outputs.next-version }} + docker push meysamh66/booking-microservices-booking:${{ steps.determine-version.outputs.next-version }} From 4ab511d0915d1382ada1b756985e43b350a605ed Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Wed, 25 Jan 2023 02:28:43 +0330 Subject: [PATCH 49/73] . --- .github/workflows/build-publish-docker.yml | 27 +++++++++++----------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/.github/workflows/build-publish-docker.yml b/.github/workflows/build-publish-docker.yml index 98db2815..3286af5a 100644 --- a/.github/workflows/build-publish-docker.yml +++ b/.github/workflows/build-publish-docker.yml @@ -15,11 +15,9 @@ jobs: - name: Checkout code uses: actions/checkout@v3 - - name: Determine next semantic version - id: determine-version - uses: actions/determine-next-semver@v2 - with: - github-token: ${{ secrets.GITHUB_TOKEN }} + - name: Prepare Release + id: prepare-release + uses: semantic-release/github-action@v7 - name: Login to DockerHub uses: docker/login-action@v2 @@ -29,16 +27,17 @@ jobs: - name: Build image run: | - echo "ENV VERSION={{ steps.determine-version.outputs.next-version }}" - docker build -t meysamh66/booking-microservices-flight:${{ steps.determine-version.outputs.next-version }} -f "${{ github.workspace }}/src/Services/Flight/Dockerfile" . - docker build -t meysamh66/booking-microservices-identity:${{ steps.determine-version.outputs.next-version }} -f "${{ github.workspace }}/src/Services/Identity/Dockerfile" . - docker build -t meysamh66/booking-microservices-passenger:${{ steps.determine-version.outputs.next-version }} -f "${{ github.workspace }}/src/Services/Passenger/Dockerfile" . - docker build -t meysamh66/booking-microservices-booking:${{ steps.determine-version.outputs.next-version }} -f "${{ github.workspace }}/src/Services/Booking/Dockerfile" . + export VERSION=${GITHUB_REF#refs/tags/} + docker build -t meysamh66/booking-microservices-flight:$VERSION -f "${{ github.workspace }}/src/Services/Flight/Dockerfile" . + docker build -t meysamh66/booking-microservices-identity:$VERSION -f "${{ github.workspace }}/src/Services/Identity/Dockerfile" . + docker build -t meysamh66/booking-microservices-passenger:$VERSION -f "${{ github.workspace }}/src/Services/Passenger/Dockerfile" . + docker build -t meysamh66/booking-microservices-booking:$VERSION -f "${{ github.workspace }}/src/Services/Booking/Dockerfile" . - name: Publish image run: | - docker push meysamh66/booking-microservices-flight:${{ steps.determine-version.outputs.next-version }} - docker push meysamh66/booking-microservices-identity:${{ steps.determine-version.outputs.next-version }} - docker push meysamh66/booking-microservices-passenger:${{ steps.determine-version.outputs.next-version }} - docker push meysamh66/booking-microservices-booking:${{ steps.determine-version.outputs.next-version }} + export VERSION=${GITHUB_REF#refs/tags/} + docker push meysamh66/booking-microservices-flight:$VERSION + docker push meysamh66/booking-microservices-identity:$VERSION + docker push meysamh66/booking-microservices-passenger:$VERSION + docker push meysamh66/booking-microservices-booking:$VERSION From 2764cff2ff95d20b2349816982fa382300e1fb8e Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Wed, 25 Jan 2023 02:31:55 +0330 Subject: [PATCH 50/73] . --- .github/workflows/build-publish-docker.yml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-publish-docker.yml b/.github/workflows/build-publish-docker.yml index 3286af5a..837fdef1 100644 --- a/.github/workflows/build-publish-docker.yml +++ b/.github/workflows/build-publish-docker.yml @@ -17,7 +17,10 @@ jobs: - name: Prepare Release id: prepare-release - uses: semantic-release/github-action@v7 + uses: semantic-release/git@v7 + with: + args: --dry-run + - name: Login to DockerHub uses: docker/login-action@v2 @@ -27,7 +30,7 @@ jobs: - name: Build image run: | - export VERSION=${GITHUB_REF#refs/tags/} + export VERSION=${{ steps.determine-version.outputs.next_version }} docker build -t meysamh66/booking-microservices-flight:$VERSION -f "${{ github.workspace }}/src/Services/Flight/Dockerfile" . docker build -t meysamh66/booking-microservices-identity:$VERSION -f "${{ github.workspace }}/src/Services/Identity/Dockerfile" . docker build -t meysamh66/booking-microservices-passenger:$VERSION -f "${{ github.workspace }}/src/Services/Passenger/Dockerfile" . @@ -35,7 +38,7 @@ jobs: - name: Publish image run: | - export VERSION=${GITHUB_REF#refs/tags/} + export VERSION=${{ steps.determine-version.outputs.next_version }} docker push meysamh66/booking-microservices-flight:$VERSION docker push meysamh66/booking-microservices-identity:$VERSION docker push meysamh66/booking-microservices-passenger:$VERSION From 1810fbdb9a274c732facdaba29a69d85904c3e99 Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Wed, 25 Jan 2023 02:32:43 +0330 Subject: [PATCH 51/73] . --- .github/workflows/build-publish-docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-publish-docker.yml b/.github/workflows/build-publish-docker.yml index 837fdef1..df85e301 100644 --- a/.github/workflows/build-publish-docker.yml +++ b/.github/workflows/build-publish-docker.yml @@ -17,7 +17,7 @@ jobs: - name: Prepare Release id: prepare-release - uses: semantic-release/git@v7 + uses: semantic-release/git with: args: --dry-run From 5c62c924542a34ca6500199bbdac1ec913f1b519 Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Wed, 25 Jan 2023 02:36:27 +0330 Subject: [PATCH 52/73] . --- .github/workflows/build-publish-docker.yml | 28 ++++++++++------------ 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/.github/workflows/build-publish-docker.yml b/.github/workflows/build-publish-docker.yml index df85e301..52238134 100644 --- a/.github/workflows/build-publish-docker.yml +++ b/.github/workflows/build-publish-docker.yml @@ -15,12 +15,10 @@ jobs: - name: Checkout code uses: actions/checkout@v3 - - name: Prepare Release - id: prepare-release - uses: semantic-release/git - with: - args: --dry-run - + - name: Get Latest Tag + run: | + export VERSION=$(git describe --abbrev=0 --tags) + echo "Latest Tag: $VERSION" - name: Login to DockerHub uses: docker/login-action@v2 @@ -30,17 +28,15 @@ jobs: - name: Build image run: | - export VERSION=${{ steps.determine-version.outputs.next_version }} - docker build -t meysamh66/booking-microservices-flight:$VERSION -f "${{ github.workspace }}/src/Services/Flight/Dockerfile" . - docker build -t meysamh66/booking-microservices-identity:$VERSION -f "${{ github.workspace }}/src/Services/Identity/Dockerfile" . - docker build -t meysamh66/booking-microservices-passenger:$VERSION -f "${{ github.workspace }}/src/Services/Passenger/Dockerfile" . - docker build -t meysamh66/booking-microservices-booking:$VERSION -f "${{ github.workspace }}/src/Services/Booking/Dockerfile" . + docker build -t meysamh66/booking-microservices-flight:latest -f "${{ github.workspace }}/src/Services/Flight/Dockerfile" . + docker build -t meysamh66/booking-microservices-identity:latest -f "${{ github.workspace }}/src/Services/Identity/Dockerfile" . + docker build -t meysamh66/booking-microservices-passenger:latest -f "${{ github.workspace }}/src/Services/Passenger/Dockerfile" . + docker build -t meysamh66/booking-microservices-booking:latest -f "${{ github.workspace }}/src/Services/Booking/Dockerfile" . - name: Publish image run: | - export VERSION=${{ steps.determine-version.outputs.next_version }} - docker push meysamh66/booking-microservices-flight:$VERSION - docker push meysamh66/booking-microservices-identity:$VERSION - docker push meysamh66/booking-microservices-passenger:$VERSION - docker push meysamh66/booking-microservices-booking:$VERSION + docker push meysamh66/booking-microservices-flight:latest + docker push meysamh66/booking-microservices-identity:latest + docker push meysamh66/booking-microservices-passenger:latest + docker push meysamh66/booking-microservices-booking:latest From 75afd0d0628793907c9683221353590f1e875415 Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Wed, 25 Jan 2023 02:42:03 +0330 Subject: [PATCH 53/73] . --- .github/workflows/build-publish-docker.yml | 26 ++++++++++++---------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/.github/workflows/build-publish-docker.yml b/.github/workflows/build-publish-docker.yml index 52238134..241d4ad7 100644 --- a/.github/workflows/build-publish-docker.yml +++ b/.github/workflows/build-publish-docker.yml @@ -15,10 +15,12 @@ jobs: - name: Checkout code uses: actions/checkout@v3 - - name: Get Latest Tag - run: | - export VERSION=$(git describe --abbrev=0 --tags) - echo "Latest Tag: $VERSION" + - name: Semantic Release + uses: semantic-release/git-semantic-release-action@v3 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + version_variable: 'TAG_NAME' - name: Login to DockerHub uses: docker/login-action@v2 @@ -28,15 +30,15 @@ jobs: - name: Build image run: | - docker build -t meysamh66/booking-microservices-flight:latest -f "${{ github.workspace }}/src/Services/Flight/Dockerfile" . - docker build -t meysamh66/booking-microservices-identity:latest -f "${{ github.workspace }}/src/Services/Identity/Dockerfile" . - docker build -t meysamh66/booking-microservices-passenger:latest -f "${{ github.workspace }}/src/Services/Passenger/Dockerfile" . - docker build -t meysamh66/booking-microservices-booking:latest -f "${{ github.workspace }}/src/Services/Booking/Dockerfile" . + docker build -t meysamh66/booking-microservices-flight:${{ env.TAG_NAME }} -f "${{ github.workspace }}/src/Services/Flight/Dockerfile" . + docker build -t meysamh66/booking-microservices-identity:${{ env.TAG_NAME }} -f "${{ github.workspace }}/src/Services/Identity/Dockerfile" . + docker build -t meysamh66/booking-microservices-passenger:${{ env.TAG_NAME }} -f "${{ github.workspace }}/src/Services/Passenger/Dockerfile" . + docker build -t meysamh66/booking-microservices-booking:${{ env.TAG_NAME }} -f "${{ github.workspace }}/src/Services/Booking/Dockerfile" . - name: Publish image run: | - docker push meysamh66/booking-microservices-flight:latest - docker push meysamh66/booking-microservices-identity:latest - docker push meysamh66/booking-microservices-passenger:latest - docker push meysamh66/booking-microservices-booking:latest + docker push meysamh66/booking-microservices-flight:${{ env.TAG_NAME }} + docker push meysamh66/booking-microservices-identity:${{ env.TAG_NAME }} + docker push meysamh66/booking-microservices-passenger:${{ env.TAG_NAME }} + docker push meysamh66/booking-microservices-booking:${{ env.TAG_NAME }} From 4801804a2536348b9d21d2de87e7ae6652a42b4e Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Wed, 25 Jan 2023 02:48:53 +0330 Subject: [PATCH 54/73] . --- .github/workflows/build-publish-docker.yml | 23 +++++++++--- .github/workflows/conventional-commits.yml | 41 ++++++++++++++++++++++ 2 files changed, 60 insertions(+), 4 deletions(-) create mode 100644 .github/workflows/conventional-commits.yml diff --git a/.github/workflows/build-publish-docker.yml b/.github/workflows/build-publish-docker.yml index 241d4ad7..5465e229 100644 --- a/.github/workflows/build-publish-docker.yml +++ b/.github/workflows/build-publish-docker.yml @@ -15,12 +15,27 @@ jobs: - name: Checkout code uses: actions/checkout@v3 - - name: Semantic Release - uses: semantic-release/git-semantic-release-action@v3 + - name: Setup Node.js + uses: actions/setup-node@v2 + with: + node-version: 'lts/*' + + - name: Semantic Release Version + id: semantic-version env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - version_variable: 'TAG_NAME' + # because of using none default (conventionalcommits) `preset` for `semantic-release`, we should add dependency `conventional-changelog-conventionalcommits` + # using dry-run here for preventing publish release note and just calculate version + run: npx -p conventional-changelog-conventionalcommits -p @semantic-release/git -p @semantic-release/changelog -p @semantic-release/exec semantic-release --dry-run + + - name: Semantic Release Versions Outputs + run: | + echo ${{ steps.semantic-version.outputs.semantic_nextRelease_version }} + echo ${{ steps.semantic-version.outputs.semantic_nextRelease_channel }} + echo ${{ steps.semantic-version.outputs.semantic_nextRelease_gitTag }} + echo ${{ steps.semantic-version.outputs.semantic_lastRelease_version }} + echo ${{ steps.semantic-version.outputs.semantic_lastRelease_channel }} + echo ${{ steps.semantic-version.outputs.semantic_lastRelease_gitTag }} - name: Login to DockerHub uses: docker/login-action@v2 diff --git a/.github/workflows/conventional-commits.yml b/.github/workflows/conventional-commits.yml new file mode 100644 index 00000000..ef2c3557 --- /dev/null +++ b/.github/workflows/conventional-commits.yml @@ -0,0 +1,41 @@ +name: Conventional Commits + +on: + pull_request: + types: + - opened + - synchronize + - reopened + - labeled + - unlabeled + - edited + - ready_for_review + +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number }} + cancel-in-progress: true + +jobs: + conventional-commits: + runs-on: ubuntu-latest + steps: + - name: check-pull-request-conventional-commits + uses: amannn/action-semantic-pull-request@v5 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - uses: fuxingloh/multi-labeler@v1 + name: conventional-commits-pull-request-labeler + if: success() + with: + github-token: ${{secrets.GITHUB_TOKEN}} # optional, default to '${{ github.token }}' + config-path: .github/multi-labeler.yml # optional, default to '.github/labeler.yml' + + # https://docs.github.com/en/actions/using-workflows/about-workflows#creating-dependent-jobs + # https://docs.github.com/en/actions/using-jobs/using-jobs-in-a-workflow + - name: check-conventional-commits-labels + uses: docker://agilepathway/pull-request-label-checker:latest + if: success() + with: + any_of : feature,bug,enhancement,deprecated,security,documentation,build,ci/cd,chore,performance,formatting,dependencies + repo_token: ${{ secrets.GITHUB_TOKEN }} From 9c0ab2f2ef953c059c38842bd42a534b7e9f02e6 Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Wed, 25 Jan 2023 02:50:34 +0330 Subject: [PATCH 55/73] . --- .github/workflows/conventional-commits.yml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/.github/workflows/conventional-commits.yml b/.github/workflows/conventional-commits.yml index ef2c3557..160f7174 100644 --- a/.github/workflows/conventional-commits.yml +++ b/.github/workflows/conventional-commits.yml @@ -2,14 +2,6 @@ on: pull_request: - types: - - opened - - synchronize - - reopened - - labeled - - unlabeled - - edited - - ready_for_review concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number }} From 58768875ab334e96be11d83b772187393ace5a98 Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Wed, 25 Jan 2023 02:56:10 +0330 Subject: [PATCH 56/73] . --- .github/workflows/build-publish-docker.yml | 18 ++++++------ .github/workflows/conventional-commits.yml | 33 ---------------------- 2 files changed, 9 insertions(+), 42 deletions(-) delete mode 100644 .github/workflows/conventional-commits.yml diff --git a/.github/workflows/build-publish-docker.yml b/.github/workflows/build-publish-docker.yml index 5465e229..f418cbb3 100644 --- a/.github/workflows/build-publish-docker.yml +++ b/.github/workflows/build-publish-docker.yml @@ -26,7 +26,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # because of using none default (conventionalcommits) `preset` for `semantic-release`, we should add dependency `conventional-changelog-conventionalcommits` # using dry-run here for preventing publish release note and just calculate version - run: npx -p conventional-changelog-conventionalcommits -p @semantic-release/git -p @semantic-release/changelog -p @semantic-release/exec semantic-release --dry-run + run: npx -p @semantic-release/git -p @semantic-release/changelog -p @semantic-release/exec semantic-release --dry-run - name: Semantic Release Versions Outputs run: | @@ -45,15 +45,15 @@ jobs: - name: Build image run: | - docker build -t meysamh66/booking-microservices-flight:${{ env.TAG_NAME }} -f "${{ github.workspace }}/src/Services/Flight/Dockerfile" . - docker build -t meysamh66/booking-microservices-identity:${{ env.TAG_NAME }} -f "${{ github.workspace }}/src/Services/Identity/Dockerfile" . - docker build -t meysamh66/booking-microservices-passenger:${{ env.TAG_NAME }} -f "${{ github.workspace }}/src/Services/Passenger/Dockerfile" . - docker build -t meysamh66/booking-microservices-booking:${{ env.TAG_NAME }} -f "${{ github.workspace }}/src/Services/Booking/Dockerfile" . + docker build -t meysamh66/booking-microservices-flight:latest -f "${{ github.workspace }}/src/Services/Flight/Dockerfile" . + docker build -t meysamh66/booking-microservices-identity:latest -f "${{ github.workspace }}/src/Services/Identity/Dockerfile" . + docker build -t meysamh66/booking-microservices-passenger:latest -f "${{ github.workspace }}/src/Services/Passenger/Dockerfile" . + docker build -t meysamh66/booking-microservices-booking:latest -f "${{ github.workspace }}/src/Services/Booking/Dockerfile" . - name: Publish image run: | - docker push meysamh66/booking-microservices-flight:${{ env.TAG_NAME }} - docker push meysamh66/booking-microservices-identity:${{ env.TAG_NAME }} - docker push meysamh66/booking-microservices-passenger:${{ env.TAG_NAME }} - docker push meysamh66/booking-microservices-booking:${{ env.TAG_NAME }} + docker push meysamh66/booking-microservices-flight:latest + docker push meysamh66/booking-microservices-identity:latest + docker push meysamh66/booking-microservices-passenger:latest + docker push meysamh66/booking-microservices-booking:latest diff --git a/.github/workflows/conventional-commits.yml b/.github/workflows/conventional-commits.yml deleted file mode 100644 index 160f7174..00000000 --- a/.github/workflows/conventional-commits.yml +++ /dev/null @@ -1,33 +0,0 @@ -name: Conventional Commits - -on: - pull_request: - -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number }} - cancel-in-progress: true - -jobs: - conventional-commits: - runs-on: ubuntu-latest - steps: - - name: check-pull-request-conventional-commits - uses: amannn/action-semantic-pull-request@v5 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - uses: fuxingloh/multi-labeler@v1 - name: conventional-commits-pull-request-labeler - if: success() - with: - github-token: ${{secrets.GITHUB_TOKEN}} # optional, default to '${{ github.token }}' - config-path: .github/multi-labeler.yml # optional, default to '.github/labeler.yml' - - # https://docs.github.com/en/actions/using-workflows/about-workflows#creating-dependent-jobs - # https://docs.github.com/en/actions/using-jobs/using-jobs-in-a-workflow - - name: check-conventional-commits-labels - uses: docker://agilepathway/pull-request-label-checker:latest - if: success() - with: - any_of : feature,bug,enhancement,deprecated,security,documentation,build,ci/cd,chore,performance,formatting,dependencies - repo_token: ${{ secrets.GITHUB_TOKEN }} From 5c958636e95472023c9ab85e393a6e515c7cf4df Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Wed, 25 Jan 2023 03:05:26 +0330 Subject: [PATCH 57/73] . --- .github/workflows/build-publish-docker.yml | 25 +++++++++++++++------- update-version.sh | 7 ++++++ 2 files changed, 24 insertions(+), 8 deletions(-) create mode 100644 update-version.sh diff --git a/.github/workflows/build-publish-docker.yml b/.github/workflows/build-publish-docker.yml index f418cbb3..a5634c9b 100644 --- a/.github/workflows/build-publish-docker.yml +++ b/.github/workflows/build-publish-docker.yml @@ -37,6 +37,15 @@ jobs: echo ${{ steps.semantic-version.outputs.semantic_lastRelease_channel }} echo ${{ steps.semantic-version.outputs.semantic_lastRelease_gitTag }} + - name: Update Application Version + run: ./update-version.sh ${{ steps.semantic-version.outputs.semantic_nextRelease_version }} + + - uses: stefanzweifel/git-auto-commit-action@v4 + with: + commit_message: '🔧 chore(release): ${{ steps.semantic-version.outputs.semantic_nextRelease_version }} [skip ci]' + file_pattern: '**/Directory.Packages.props' + disable_globbing: true + - name: Login to DockerHub uses: docker/login-action@v2 with: @@ -45,15 +54,15 @@ jobs: - name: Build image run: | - docker build -t meysamh66/booking-microservices-flight:latest -f "${{ github.workspace }}/src/Services/Flight/Dockerfile" . - docker build -t meysamh66/booking-microservices-identity:latest -f "${{ github.workspace }}/src/Services/Identity/Dockerfile" . - docker build -t meysamh66/booking-microservices-passenger:latest -f "${{ github.workspace }}/src/Services/Passenger/Dockerfile" . - docker build -t meysamh66/booking-microservices-booking:latest -f "${{ github.workspace }}/src/Services/Booking/Dockerfile" . + docker build -t meysamh66/booking-microservices-flight:${{ steps.semantic-version.outputs.semantic_nextRelease_version }} -f "${{ github.workspace }}/src/Services/Flight/Dockerfile" . + docker build -t meysamh66/booking-microservices-identity:${{ steps.semantic-version.outputs.semantic_nextRelease_version }} -f "${{ github.workspace }}/src/Services/Identity/Dockerfile" . + docker build -t meysamh66/booking-microservices-passenger:${{ steps.semantic-version.outputs.semantic_nextRelease_version }} -f "${{ github.workspace }}/src/Services/Passenger/Dockerfile" . + docker build -t meysamh66/booking-microservices-booking:${{ steps.semantic-version.outputs.semantic_nextRelease_version }} -f "${{ github.workspace }}/src/Services/Booking/Dockerfile" . - name: Publish image run: | - docker push meysamh66/booking-microservices-flight:latest - docker push meysamh66/booking-microservices-identity:latest - docker push meysamh66/booking-microservices-passenger:latest - docker push meysamh66/booking-microservices-booking:latest + docker push meysamh66/booking-microservices-flight:${{ steps.semantic-version.outputs.semantic_nextRelease_version }} + docker push meysamh66/booking-microservices-identity:${{ steps.semantic-version.outputs.semantic_nextRelease_version }} + docker push meysamh66/booking-microservices-passenger:${{ steps.semantic-version.outputs.semantic_nextRelease_version }} + docker push meysamh66/booking-microservices-booking:${{ steps.semantic-version.outputs.semantic_nextRelease_version }} diff --git a/update-version.sh b/update-version.sh new file mode 100644 index 00000000..28c6f732 --- /dev/null +++ b/update-version.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +# update package version and version for in the csproj file to new version and commit it again with using https://github.com/semantic-release/git plugin +# https://unix.stackexchange.com/questions/50313/how-do-i-perform-an-action-on-all-files-with-a-specific-extension-in-subfolders +find . -name '*.Packages.props' -exec sed -i "s#.*#$1#" {} \; -exec cat {} \; +find . -name '*.Packages.props' -exec sed -i "s#.*#$1#" {} \; -exec cat {} \; +find . -name '*.Packages.props' -exec sed -i "s#.*#$1#" {} \; -exec cat {} \; From 50c9998056d598970a2b66f63fcdb5ee3aab8d6e Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Wed, 25 Jan 2023 03:06:55 +0330 Subject: [PATCH 58/73] . --- .github/workflows/build-publish-docker.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/build-publish-docker.yml b/.github/workflows/build-publish-docker.yml index a5634c9b..4954269e 100644 --- a/.github/workflows/build-publish-docker.yml +++ b/.github/workflows/build-publish-docker.yml @@ -24,8 +24,6 @@ jobs: id: semantic-version env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - # because of using none default (conventionalcommits) `preset` for `semantic-release`, we should add dependency `conventional-changelog-conventionalcommits` - # using dry-run here for preventing publish release note and just calculate version run: npx -p @semantic-release/git -p @semantic-release/changelog -p @semantic-release/exec semantic-release --dry-run - name: Semantic Release Versions Outputs From a50e008c2319d7c517a86a17389591f73f46b1cf Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Wed, 25 Jan 2023 03:15:56 +0330 Subject: [PATCH 59/73] . --- .github/workflows/build-publish-docker.yml | 49 ++++++---------------- update-version.sh | 7 ---- 2 files changed, 12 insertions(+), 44 deletions(-) delete mode 100644 update-version.sh diff --git a/.github/workflows/build-publish-docker.yml b/.github/workflows/build-publish-docker.yml index 4954269e..31666121 100644 --- a/.github/workflows/build-publish-docker.yml +++ b/.github/workflows/build-publish-docker.yml @@ -15,35 +15,10 @@ jobs: - name: Checkout code uses: actions/checkout@v3 - - name: Setup Node.js - uses: actions/setup-node@v2 - with: - node-version: 'lts/*' - - - name: Semantic Release Version - id: semantic-version - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: npx -p @semantic-release/git -p @semantic-release/changelog -p @semantic-release/exec semantic-release --dry-run - - - name: Semantic Release Versions Outputs - run: | - echo ${{ steps.semantic-version.outputs.semantic_nextRelease_version }} - echo ${{ steps.semantic-version.outputs.semantic_nextRelease_channel }} - echo ${{ steps.semantic-version.outputs.semantic_nextRelease_gitTag }} - echo ${{ steps.semantic-version.outputs.semantic_lastRelease_version }} - echo ${{ steps.semantic-version.outputs.semantic_lastRelease_channel }} - echo ${{ steps.semantic-version.outputs.semantic_lastRelease_gitTag }} - - - name: Update Application Version - run: ./update-version.sh ${{ steps.semantic-version.outputs.semantic_nextRelease_version }} - - - uses: stefanzweifel/git-auto-commit-action@v4 - with: - commit_message: '🔧 chore(release): ${{ steps.semantic-version.outputs.semantic_nextRelease_version }} [skip ci]' - file_pattern: '**/Directory.Packages.props' - disable_globbing: true - + - id: version + uses: battila7/get-version-action@v2 + - name: Add Semantic Version tag to Docker Image + uses: shrink/actions-docker-registry-tag@v3 - name: Login to DockerHub uses: docker/login-action@v2 with: @@ -52,15 +27,15 @@ jobs: - name: Build image run: | - docker build -t meysamh66/booking-microservices-flight:${{ steps.semantic-version.outputs.semantic_nextRelease_version }} -f "${{ github.workspace }}/src/Services/Flight/Dockerfile" . - docker build -t meysamh66/booking-microservices-identity:${{ steps.semantic-version.outputs.semantic_nextRelease_version }} -f "${{ github.workspace }}/src/Services/Identity/Dockerfile" . - docker build -t meysamh66/booking-microservices-passenger:${{ steps.semantic-version.outputs.semantic_nextRelease_version }} -f "${{ github.workspace }}/src/Services/Passenger/Dockerfile" . - docker build -t meysamh66/booking-microservices-booking:${{ steps.semantic-version.outputs.semantic_nextRelease_version }} -f "${{ github.workspace }}/src/Services/Booking/Dockerfile" . + docker build -t meysamh66/booking-microservices-flight:${{ steps.version.outputs.version }} -f "${{ github.workspace }}/src/Services/Flight/Dockerfile" . + docker build -t meysamh66/booking-microservices-identity:${{ steps.version.outputs.version }} -f "${{ github.workspace }}/src/Services/Identity/Dockerfile" . + docker build -t meysamh66/booking-microservices-passenger:${{ steps.version.outputs.version }} -f "${{ github.workspace }}/src/Services/Passenger/Dockerfile" . + docker build -t meysamh66/booking-microservices-booking:${{ steps.version.outputs.version }} -f "${{ github.workspace }}/src/Services/Booking/Dockerfile" . - name: Publish image run: | - docker push meysamh66/booking-microservices-flight:${{ steps.semantic-version.outputs.semantic_nextRelease_version }} - docker push meysamh66/booking-microservices-identity:${{ steps.semantic-version.outputs.semantic_nextRelease_version }} - docker push meysamh66/booking-microservices-passenger:${{ steps.semantic-version.outputs.semantic_nextRelease_version }} - docker push meysamh66/booking-microservices-booking:${{ steps.semantic-version.outputs.semantic_nextRelease_version }} + docker push meysamh66/booking-microservices-flight:${{ steps.version.outputs.version }} + docker push meysamh66/booking-microservices-identity:${{ steps.version.outputs.version }} + docker push meysamh66/booking-microservices-passenger:${{ steps.version.outputs.version }} + docker push meysamh66/booking-microservices-booking:${{ steps.version.outputs.version }} diff --git a/update-version.sh b/update-version.sh deleted file mode 100644 index 28c6f732..00000000 --- a/update-version.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash - -# update package version and version for in the csproj file to new version and commit it again with using https://github.com/semantic-release/git plugin -# https://unix.stackexchange.com/questions/50313/how-do-i-perform-an-action-on-all-files-with-a-specific-extension-in-subfolders -find . -name '*.Packages.props' -exec sed -i "s#.*#$1#" {} \; -exec cat {} \; -find . -name '*.Packages.props' -exec sed -i "s#.*#$1#" {} \; -exec cat {} \; -find . -name '*.Packages.props' -exec sed -i "s#.*#$1#" {} \; -exec cat {} \; From 26b9429df1316b8b14852fb0eb95e2e3498300a1 Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Wed, 25 Jan 2023 03:17:14 +0330 Subject: [PATCH 60/73] . --- .github/workflows/build-publish-docker.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/build-publish-docker.yml b/.github/workflows/build-publish-docker.yml index 31666121..4d35a9c3 100644 --- a/.github/workflows/build-publish-docker.yml +++ b/.github/workflows/build-publish-docker.yml @@ -17,8 +17,7 @@ jobs: - id: version uses: battila7/get-version-action@v2 - - name: Add Semantic Version tag to Docker Image - uses: shrink/actions-docker-registry-tag@v3 + - name: Login to DockerHub uses: docker/login-action@v2 with: From 33be997855495ec52230ca41caef79c5a45ddbbd Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Wed, 25 Jan 2023 03:35:39 +0330 Subject: [PATCH 61/73] . --- .github/workflows/build-publish-docker.yml | 53 +++++++++++++++------- 1 file changed, 36 insertions(+), 17 deletions(-) diff --git a/.github/workflows/build-publish-docker.yml b/.github/workflows/build-publish-docker.yml index 4d35a9c3..2eb3a421 100644 --- a/.github/workflows/build-publish-docker.yml +++ b/.github/workflows/build-publish-docker.yml @@ -3,6 +3,8 @@ name: build-publish-docker on: push: branches: [ develop ] + tags: + - 'v*' pull_request: jobs: @@ -12,11 +14,18 @@ jobs: runs-on: ubuntu-latest steps: - - name: Checkout code - uses: actions/checkout@v3 + - uses: actions/checkout@v2 - - id: version - uses: battila7/get-version-action@v2 + - name: Docker meta + id: meta + uses: docker/metadata-action@v4 + with: + images: ghcr.io/thedatabaseme/hello-world + flavor: latest=true + tags: | + type=ref,event=branch + type=ref,event=pr + type=semver,pattern={{version}} - name: Login to DockerHub uses: docker/login-action@v2 @@ -24,17 +33,27 @@ jobs: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_PASSWORD }} - - name: Build image - run: | - docker build -t meysamh66/booking-microservices-flight:${{ steps.version.outputs.version }} -f "${{ github.workspace }}/src/Services/Flight/Dockerfile" . - docker build -t meysamh66/booking-microservices-identity:${{ steps.version.outputs.version }} -f "${{ github.workspace }}/src/Services/Identity/Dockerfile" . - docker build -t meysamh66/booking-microservices-passenger:${{ steps.version.outputs.version }} -f "${{ github.workspace }}/src/Services/Passenger/Dockerfile" . - docker build -t meysamh66/booking-microservices-booking:${{ steps.version.outputs.version }} -f "${{ github.workspace }}/src/Services/Booking/Dockerfile" . - - - name: Publish image - run: | - docker push meysamh66/booking-microservices-flight:${{ steps.version.outputs.version }} - docker push meysamh66/booking-microservices-identity:${{ steps.version.outputs.version }} - docker push meysamh66/booking-microservices-passenger:${{ steps.version.outputs.version }} - docker push meysamh66/booking-microservices-booking:${{ steps.version.outputs.version }} + - name: Build and push + uses: docker/build-push-action@v3 + with: + context: . + file: ./src/Services/Flight/Dockerfile + push: ${{ github.ref_type == 'tag' }} + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + + +# - name: Build image +# run: | +# docker build -t meysamh66/booking-microservices-flight:${{ steps.version.outputs.version }} -f "${{ github.workspace }}/src/Services/Flight/Dockerfile" . +# docker build -t meysamh66/booking-microservices-identity:${{ steps.version.outputs.version }} -f "${{ github.workspace }}/src/Services/Identity/Dockerfile" . +# docker build -t meysamh66/booking-microservices-passenger:${{ steps.version.outputs.version }} -f "${{ github.workspace }}/src/Services/Passenger/Dockerfile" . +# docker build -t meysamh66/booking-microservices-booking:${{ steps.version.outputs.version }} -f "${{ github.workspace }}/src/Services/Booking/Dockerfile" . +# +# - name: Publish image +# run: | +# docker push meysamh66/booking-microservices-flight:${{ steps.version.outputs.version }} +# docker push meysamh66/booking-microservices-identity:${{ steps.version.outputs.version }} +# docker push meysamh66/booking-microservices-passenger:${{ steps.version.outputs.version }} +# docker push meysamh66/booking-microservices-booking:${{ steps.version.outputs.version }} From 64b1c219ab1f3c75e770827c81bd880cff826a25 Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Wed, 25 Jan 2023 03:41:29 +0330 Subject: [PATCH 62/73] . --- .github/workflows/build-publish-docker.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-publish-docker.yml b/.github/workflows/build-publish-docker.yml index 2eb3a421..dc8bf42c 100644 --- a/.github/workflows/build-publish-docker.yml +++ b/.github/workflows/build-publish-docker.yml @@ -38,8 +38,8 @@ jobs: with: context: . file: ./src/Services/Flight/Dockerfile - push: ${{ github.ref_type == 'tag' }} - tags: ${{ steps.meta.outputs.tags }} + push: true + tags: meysamh66/booking-microservices-flight:${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} From 5d6ce44e898882647fd75e332c5a32e837d98700 Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Wed, 25 Jan 2023 03:44:17 +0330 Subject: [PATCH 63/73] . --- .github/workflows/build-publish-docker.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-publish-docker.yml b/.github/workflows/build-publish-docker.yml index dc8bf42c..e8c29074 100644 --- a/.github/workflows/build-publish-docker.yml +++ b/.github/workflows/build-publish-docker.yml @@ -33,14 +33,18 @@ jobs: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_PASSWORD }} + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Build and push uses: docker/build-push-action@v3 with: context: . file: ./src/Services/Flight/Dockerfile push: true - tags: meysamh66/booking-microservices-flight:${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} + tags: ${{ secrets.DOCKERHUB_USERNAME }}/booking-microservices-flight:latest +# meysamh66/booking-microservices-flight:${{ steps.meta.outputs.tags }} +# labels: ${{ steps.meta.outputs.labels }} # - name: Build image From d069af0ef272b2aed571f192751df21147027df3 Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Wed, 25 Jan 2023 03:46:49 +0330 Subject: [PATCH 64/73] . --- .github/workflows/build-publish-docker.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-publish-docker.yml b/.github/workflows/build-publish-docker.yml index e8c29074..75e165ee 100644 --- a/.github/workflows/build-publish-docker.yml +++ b/.github/workflows/build-publish-docker.yml @@ -42,9 +42,8 @@ jobs: context: . file: ./src/Services/Flight/Dockerfile push: true - tags: ${{ secrets.DOCKERHUB_USERNAME }}/booking-microservices-flight:latest -# meysamh66/booking-microservices-flight:${{ steps.meta.outputs.tags }} -# labels: ${{ steps.meta.outputs.labels }} + tags: ${{ secrets.DOCKERHUB_USERNAME }}/booking-microservices-flight:${{ steps.meta.outputs.tags }} +# labels: ${{ steps.meta.outputs.labels }} # - name: Build image From 2b330f77a4ca821b0b9f1b4dca9f48d869601a5a Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Wed, 25 Jan 2023 03:52:03 +0330 Subject: [PATCH 65/73] . --- .github/workflows/build-publish-docker.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-publish-docker.yml b/.github/workflows/build-publish-docker.yml index 75e165ee..74904c22 100644 --- a/.github/workflows/build-publish-docker.yml +++ b/.github/workflows/build-publish-docker.yml @@ -28,22 +28,23 @@ jobs: type=semver,pattern={{version}} - name: Login to DockerHub + if: github.event_name != 'pull_request' uses: docker/login-action@v2 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_PASSWORD }} - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 +# - name: Set up Docker Buildx +# uses: docker/setup-buildx-action@v2 - name: Build and push uses: docker/build-push-action@v3 with: context: . file: ./src/Services/Flight/Dockerfile - push: true + push: ${{ github.event_name != 'pull_request' }} tags: ${{ secrets.DOCKERHUB_USERNAME }}/booking-microservices-flight:${{ steps.meta.outputs.tags }} -# labels: ${{ steps.meta.outputs.labels }} + labels: ${{ steps.meta.outputs.labels }} # - name: Build image From 214ddd325e262b25390234a21bed5d57941a45ce Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Wed, 25 Jan 2023 03:55:10 +0330 Subject: [PATCH 66/73] . --- .github/workflows/build-publish-docker.yml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build-publish-docker.yml b/.github/workflows/build-publish-docker.yml index 74904c22..12d3d96b 100644 --- a/.github/workflows/build-publish-docker.yml +++ b/.github/workflows/build-publish-docker.yml @@ -20,7 +20,6 @@ jobs: id: meta uses: docker/metadata-action@v4 with: - images: ghcr.io/thedatabaseme/hello-world flavor: latest=true tags: | type=ref,event=branch @@ -28,21 +27,20 @@ jobs: type=semver,pattern={{version}} - name: Login to DockerHub - if: github.event_name != 'pull_request' uses: docker/login-action@v2 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_PASSWORD }} -# - name: Set up Docker Buildx -# uses: docker/setup-buildx-action@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 - name: Build and push uses: docker/build-push-action@v3 with: context: . file: ./src/Services/Flight/Dockerfile - push: ${{ github.event_name != 'pull_request' }} + push: true tags: ${{ secrets.DOCKERHUB_USERNAME }}/booking-microservices-flight:${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} From f9780be574fd524a8d9e79e38410d5dea832e9aa Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Wed, 25 Jan 2023 04:10:35 +0330 Subject: [PATCH 67/73] . --- .github/workflows/build-publish-docker.yml | 40 ++++++---------------- 1 file changed, 10 insertions(+), 30 deletions(-) diff --git a/.github/workflows/build-publish-docker.yml b/.github/workflows/build-publish-docker.yml index 12d3d96b..4535d8fa 100644 --- a/.github/workflows/build-publish-docker.yml +++ b/.github/workflows/build-publish-docker.yml @@ -3,8 +3,6 @@ name: build-publish-docker on: push: branches: [ develop ] - tags: - - 'v*' pull_request: jobs: @@ -16,16 +14,6 @@ jobs: steps: - uses: actions/checkout@v2 - - name: Docker meta - id: meta - uses: docker/metadata-action@v4 - with: - flavor: latest=true - tags: | - type=ref,event=branch - type=ref,event=pr - type=semver,pattern={{version}} - - name: Login to DockerHub uses: docker/login-action@v2 with: @@ -39,23 +27,15 @@ jobs: uses: docker/build-push-action@v3 with: context: . - file: ./src/Services/Flight/Dockerfile + file: | + ./src/Services/Flight/Dockerfile + ./src/Services/Identity/Dockerfile + ./src/Services/Passenger/Dockerfile + ./src/Services/Booking/Dockerfile push: true - tags: ${{ secrets.DOCKERHUB_USERNAME }}/booking-microservices-flight:${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} - - -# - name: Build image -# run: | -# docker build -t meysamh66/booking-microservices-flight:${{ steps.version.outputs.version }} -f "${{ github.workspace }}/src/Services/Flight/Dockerfile" . -# docker build -t meysamh66/booking-microservices-identity:${{ steps.version.outputs.version }} -f "${{ github.workspace }}/src/Services/Identity/Dockerfile" . -# docker build -t meysamh66/booking-microservices-passenger:${{ steps.version.outputs.version }} -f "${{ github.workspace }}/src/Services/Passenger/Dockerfile" . -# docker build -t meysamh66/booking-microservices-booking:${{ steps.version.outputs.version }} -f "${{ github.workspace }}/src/Services/Booking/Dockerfile" . -# -# - name: Publish image -# run: | -# docker push meysamh66/booking-microservices-flight:${{ steps.version.outputs.version }} -# docker push meysamh66/booking-microservices-identity:${{ steps.version.outputs.version }} -# docker push meysamh66/booking-microservices-passenger:${{ steps.version.outputs.version }} -# docker push meysamh66/booking-microservices-booking:${{ steps.version.outputs.version }} + tags: | + ${{ secrets.DOCKERHUB_USERNAME }}/booking-microservices-flight:latest + ${{ secrets.DOCKERHUB_USERNAME }}/booking-microservices-identity:latest + ${{ secrets.DOCKERHUB_USERNAME }}/booking-microservices-passenger:latest + ${{ secrets.DOCKERHUB_USERNAME }}/booking-microservices-booking:latest From 80c6e143f0eb4628756fbf1da9dbd5583e5ee90c Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Wed, 25 Jan 2023 04:17:27 +0330 Subject: [PATCH 68/73] . --- .github/workflows/build-publish-docker.yml | 31 +++++++++------------- 1 file changed, 13 insertions(+), 18 deletions(-) diff --git a/.github/workflows/build-publish-docker.yml b/.github/workflows/build-publish-docker.yml index 4535d8fa..89390ac9 100644 --- a/.github/workflows/build-publish-docker.yml +++ b/.github/workflows/build-publish-docker.yml @@ -20,22 +20,17 @@ jobs: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_PASSWORD }} - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 - - - name: Build and push - uses: docker/build-push-action@v3 - with: - context: . - file: | - ./src/Services/Flight/Dockerfile - ./src/Services/Identity/Dockerfile - ./src/Services/Passenger/Dockerfile - ./src/Services/Booking/Dockerfile - push: true - tags: | - ${{ secrets.DOCKERHUB_USERNAME }}/booking-microservices-flight:latest - ${{ secrets.DOCKERHUB_USERNAME }}/booking-microservices-identity:latest - ${{ secrets.DOCKERHUB_USERNAME }}/booking-microservices-passenger:latest - ${{ secrets.DOCKERHUB_USERNAME }}/booking-microservices-booking:latest + - name: Build image + run: | + docker build -t meysamh66/booking-microservices-flight:latest -f "${{ github.workspace }}/src/Services/Flight/Dockerfile" . + docker build -t meysamh66/booking-microservices-identity:latest -f "${{ github.workspace }}/src/Services/Identity/Dockerfile" . + docker build -t meysamh66/booking-microservices-passenger:latest -f "${{ github.workspace }}/src/Services/Passenger/Dockerfile" . + docker build -t meysamh66/booking-microservices-booking:latest -f "${{ github.workspace }}/src/Services/Booking/Dockerfile" . + + - name: Publish image + run: | + docker push meysamh66/booking-microservices-flight:latest + docker push meysamh66/booking-microservices-identity:latest + docker push meysamh66/booking-microservices-passenger:latest + docker push meysamh66/booking-microservices-booking:latest From cf119a9d9e71d4bdb49ea55e0ac85ccbb1346740 Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Wed, 25 Jan 2023 15:00:52 +0330 Subject: [PATCH 69/73] . --- .github/workflows/build-publish-docker.yml | 23 ++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build-publish-docker.yml b/.github/workflows/build-publish-docker.yml index 89390ac9..36805e9a 100644 --- a/.github/workflows/build-publish-docker.yml +++ b/.github/workflows/build-publish-docker.yml @@ -13,6 +13,17 @@ jobs: steps: - uses: actions/checkout@v2 + with: + fetch-depth: 2 + - + - uses: salsify/action-detect-and-tag-new-version@v2 + with: + version-command: | + cat current-version.txt + + - name: Versions Outputs + run: | + echo v{VERSION} - name: Login to DockerHub uses: docker/login-action@v2 @@ -23,14 +34,14 @@ jobs: - name: Build image run: | docker build -t meysamh66/booking-microservices-flight:latest -f "${{ github.workspace }}/src/Services/Flight/Dockerfile" . - docker build -t meysamh66/booking-microservices-identity:latest -f "${{ github.workspace }}/src/Services/Identity/Dockerfile" . - docker build -t meysamh66/booking-microservices-passenger:latest -f "${{ github.workspace }}/src/Services/Passenger/Dockerfile" . - docker build -t meysamh66/booking-microservices-booking:latest -f "${{ github.workspace }}/src/Services/Booking/Dockerfile" . +# docker build -t meysamh66/booking-microservices-identity:latest -f "${{ github.workspace }}/src/Services/Identity/Dockerfile" . +# docker build -t meysamh66/booking-microservices-passenger:latest -f "${{ github.workspace }}/src/Services/Passenger/Dockerfile" . +# docker build -t meysamh66/booking-microservices-booking:latest -f "${{ github.workspace }}/src/Services/Booking/Dockerfile" . - name: Publish image run: | docker push meysamh66/booking-microservices-flight:latest - docker push meysamh66/booking-microservices-identity:latest - docker push meysamh66/booking-microservices-passenger:latest - docker push meysamh66/booking-microservices-booking:latest +# docker push meysamh66/booking-microservices-identity:latest +# docker push meysamh66/booking-microservices-passenger:latest +# docker push meysamh66/booking-microservices-booking:latest From b65ae47130a5cdf89bfcf6dbada5ee85b9cc07c4 Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Wed, 25 Jan 2023 15:07:07 +0330 Subject: [PATCH 70/73] . --- package.json | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 package.json diff --git a/package.json b/package.json new file mode 100644 index 00000000..d1992e20 --- /dev/null +++ b/package.json @@ -0,0 +1,3 @@ +{ + "version": "0.0.0" +} From 28cd15d2f5847d9b38a529a7b75168108dc9b713 Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Wed, 25 Jan 2023 15:08:23 +0330 Subject: [PATCH 71/73] . --- current-version.txt | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 current-version.txt diff --git a/current-version.txt b/current-version.txt new file mode 100644 index 00000000..e69de29b From 46202f153e964b6a8ba0d4a0fda471c2c4758748 Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Wed, 25 Jan 2023 15:09:42 +0330 Subject: [PATCH 72/73] . --- .github/workflows/build-publish-docker.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/build-publish-docker.yml b/.github/workflows/build-publish-docker.yml index 36805e9a..89563306 100644 --- a/.github/workflows/build-publish-docker.yml +++ b/.github/workflows/build-publish-docker.yml @@ -17,9 +17,6 @@ jobs: fetch-depth: 2 - - uses: salsify/action-detect-and-tag-new-version@v2 - with: - version-command: | - cat current-version.txt - name: Versions Outputs run: | From 8b2a951bd9f9aec3be1dd9838b07961c82a22814 Mon Sep 17 00:00:00 2001 From: meysamhadeli Date: Wed, 25 Jan 2023 23:39:02 +0330 Subject: [PATCH 73/73] ci: Add docker to ci --- .github/workflows/build-publish-docker.yml | 44 ------------ .github/workflows/ci.yml | 70 +++++++++++++++++++ .github/workflows/dotnet.yml | 42 ----------- .github/workflows/release-drafter.yml | 18 ----- .../Data/DesignTimeDbContextFactory.cs | 2 +- .../Data/PersistMessageDbContext.cs | 16 ++--- 6 files changed, 77 insertions(+), 115 deletions(-) delete mode 100644 .github/workflows/build-publish-docker.yml create mode 100644 .github/workflows/ci.yml delete mode 100644 .github/workflows/dotnet.yml delete mode 100644 .github/workflows/release-drafter.yml diff --git a/.github/workflows/build-publish-docker.yml b/.github/workflows/build-publish-docker.yml deleted file mode 100644 index 89563306..00000000 --- a/.github/workflows/build-publish-docker.yml +++ /dev/null @@ -1,44 +0,0 @@ -name: build-publish-docker - -on: - push: - branches: [ develop ] - pull_request: - -jobs: - - build-and-push-docker-image: - name: Build and Publish Docker image to DockerHub - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v2 - with: - fetch-depth: 2 - - - - uses: salsify/action-detect-and-tag-new-version@v2 - - - name: Versions Outputs - run: | - echo v{VERSION} - - - name: Login to DockerHub - uses: docker/login-action@v2 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_PASSWORD }} - - - name: Build image - run: | - docker build -t meysamh66/booking-microservices-flight:latest -f "${{ github.workspace }}/src/Services/Flight/Dockerfile" . -# docker build -t meysamh66/booking-microservices-identity:latest -f "${{ github.workspace }}/src/Services/Identity/Dockerfile" . -# docker build -t meysamh66/booking-microservices-passenger:latest -f "${{ github.workspace }}/src/Services/Passenger/Dockerfile" . -# docker build -t meysamh66/booking-microservices-booking:latest -f "${{ github.workspace }}/src/Services/Booking/Dockerfile" . - - - name: Publish image - run: | - docker push meysamh66/booking-microservices-flight:latest -# docker push meysamh66/booking-microservices-identity:latest -# docker push meysamh66/booking-microservices-passenger:latest -# docker push meysamh66/booking-microservices-booking:latest - diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000..26a28ecb --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,70 @@ +name: CI + +on: + push: + branches: [ "main" , "develop" ] + paths-ignore: + - "README.md" + pull_request: + branches: [ "main" , "develop" ] + paths-ignore: + - "README.md" + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - name: Setup .NET + uses: actions/setup-dotnet@v2 + with: + dotnet-version: 7.0.x + + - name: Cache NuGet Packages + uses: actions/cache@v3 + with: + key: ${{ runner.os }}-dotnet-nuget + path: ~/.nuget/packages + + - name: Restore dependencies + run: dotnet restore + + - name: Build + run: dotnet build -c Release --no-restore + + - name: Test + run: dotnet test -c Release --no-restore + + - name: Update Release Drafter + if: github.ref == 'refs/heads/main' + id: last_release + uses: release-drafter/release-drafter@v5 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Login to DockerHub + if: github.ref == 'refs/heads/main' + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + + ##ref: https://docs.docker.com/language/golang/configure-ci-cd/ + ##ref: https://event-driven.io/en/how_to_buid_and_push_docker_image_with_github_actions + - name: Build Docker Image + if: github.ref == 'refs/heads/main' + run: | + docker build -t ${{ secrets.DOCKERHUB_USERNAME }}/booking-microservices-flight:${{ steps.last_release.outputs.tag_name }} -f "${{ github.workspace }}/src/Services/Flight/Dockerfile" . + docker build -t ${{ secrets.DOCKERHUB_USERNAME }}/booking-microservices-identity:${{ steps.last_release.outputs.tag_name }} -f "${{ github.workspace }}/src/Services/Identity/Dockerfile" . + docker build -t ${{ secrets.DOCKERHUB_USERNAME }}/booking-microservices-passenger:${{ steps.last_release.outputs.tag_name }} -f "${{ github.workspace }}/src/Services/Passenger/Dockerfile" . + docker build -t ${{ secrets.DOCKERHUB_USERNAME }}/booking-microservices-booking:${{ steps.last_release.outputs.tag_name }} -f "${{ github.workspace }}/src/Services/Booking/Dockerfile" . + + - name: Publish Docker Image + if: github.ref == 'refs/heads/main' + run: | + docker push ${{ secrets.DOCKERHUB_USERNAME }}/booking-microservices-flight:${{ steps.last_release.outputs.tag_name }} + docker push ${{ secrets.DOCKERHUB_USERNAME }}/booking-microservices-identity:${{ steps.last_release.outputs.tag_name }} + docker push ${{ secrets.DOCKERHUB_USERNAME }}/booking-microservices-passenger:${{ steps.last_release.outputs.tag_name }} + docker push ${{ secrets.DOCKERHUB_USERNAME }}/booking-microservices-booking:${{ steps.last_release.outputs.tag_name }} + diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml deleted file mode 100644 index 9d6567ae..00000000 --- a/.github/workflows/dotnet.yml +++ /dev/null @@ -1,42 +0,0 @@ -name: Build-Test - -on: - push: - branches: [ "main" , "develop" ] - paths-ignore: - - "README.md" - pull_request: - branches: [ "main" , "develop" ] - -jobs: - build: - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v3 - - name: Setup .NET - uses: actions/setup-dotnet@v2 - with: - dotnet-version: 7.0.x - - - name: Setup Node.js - uses: actions/setup-node@v2 - with: - node-version: 'lts/*' - - - name: Cache NuGet Packages - uses: actions/cache@v3 - with: - key: ${{ runner.os }}-dotnet-nuget - path: ~/.nuget/packages - - - name: Restore dependencies - run: dotnet restore - - - name: Build - run: dotnet build -c Release --no-restore - - - name: Test - run: dotnet test -c Release --no-restore - diff --git a/.github/workflows/release-drafter.yml b/.github/workflows/release-drafter.yml deleted file mode 100644 index 98af17dc..00000000 --- a/.github/workflows/release-drafter.yml +++ /dev/null @@ -1,18 +0,0 @@ - # https://johanneskonings.dev/github/2021/02/28/github_automatic_releases_and-changelog/ - # https://tiagomichaelsousa.dev/articles/stop-writing-your-changelogs-manually - name: Release Drafter - - on: - push: - branches: - - main - jobs: - update_release_draft: - name: Release drafter - runs-on: ubuntu-latest - - steps: - - name: Update Release Draft - uses: release-drafter/release-drafter@v5 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/src/BuildingBlocks/PersistMessageProcessor/Data/DesignTimeDbContextFactory.cs b/src/BuildingBlocks/PersistMessageProcessor/Data/DesignTimeDbContextFactory.cs index 5609afe3..ce710a68 100644 --- a/src/BuildingBlocks/PersistMessageProcessor/Data/DesignTimeDbContextFactory.cs +++ b/src/BuildingBlocks/PersistMessageProcessor/Data/DesignTimeDbContextFactory.cs @@ -11,6 +11,6 @@ public PersistMessageDbContext CreateDbContext(string[] args) builder.UseNpgsql("Server=localhost;Port=5432;Database=persist_message;User Id=postgres;Password=postgres;Include Error Detail=true") .UseSnakeCaseNamingConvention(); - return new PersistMessageDbContext(builder.Options); + return new PersistMessageDbContext(builder.Options, null); } } diff --git a/src/BuildingBlocks/PersistMessageProcessor/Data/PersistMessageDbContext.cs b/src/BuildingBlocks/PersistMessageProcessor/Data/PersistMessageDbContext.cs index 37a45cf2..70a4a6ba 100644 --- a/src/BuildingBlocks/PersistMessageProcessor/Data/PersistMessageDbContext.cs +++ b/src/BuildingBlocks/PersistMessageProcessor/Data/PersistMessageDbContext.cs @@ -12,17 +12,13 @@ namespace BuildingBlocks.PersistMessageProcessor.Data; public class PersistMessageDbContext : DbContext, IPersistMessageDbContext { - private readonly Lazy> _logger; + private readonly ILogger _logger; - public PersistMessageDbContext(DbContextOptions options) + public PersistMessageDbContext(DbContextOptions options, + ILogger logger) : base(options) { - _logger = new Lazy>(() => - { - var factory = LoggerFactory.Create(b => b.AddConsole()); - var logger = factory.CreateLogger(); - return logger; - }); + _logger = logger; } public DbSet PersistMessages => Set(); @@ -45,7 +41,7 @@ public override async Task SaveChangesAsync(CancellationToken cancellationT { if (exception != null) { - _logger.Value.LogError(exception, + _logger.LogError(exception, "Request failed with {StatusCode}. Waiting {TimeSpan} before next retry. Retry attempt {RetryCount}.", HttpStatusCode.Conflict, timeSpan, @@ -63,7 +59,7 @@ public override async Task SaveChangesAsync(CancellationToken cancellationT var currentValue = entry.Entity; // we can use it for specific merging var databaseValue = await entry.GetDatabaseValuesAsync(cancellationToken); - _logger.Value.LogInformation( + _logger.LogInformation( "Entry to entity with type: {Type}, database-value: {DatabaseValue} and current-value: {CurrentValue}", entry.GetType().Name, databaseValue,