From 1b3af323b906877d39679aa6637ec62315ccc652 Mon Sep 17 00:00:00 2001 From: Dyakov Roman Date: Tue, 14 Feb 2023 01:40:36 +0300 Subject: [PATCH 1/4] New actions --- .github/workflows/pr_deploy.yml | 56 +++++++++++++++++++ .../{pr_test_deploy.yml => pr_lint.yml} | 0 .github/workflows/pr_stop.yml | 30 ++++++++++ 3 files changed, 86 insertions(+) create mode 100644 .github/workflows/pr_deploy.yml rename .github/workflows/{pr_test_deploy.yml => pr_lint.yml} (100%) create mode 100644 .github/workflows/pr_stop.yml diff --git a/.github/workflows/pr_deploy.yml b/.github/workflows/pr_deploy.yml new file mode 100644 index 0000000..44e5606 --- /dev/null +++ b/.github/workflows/pr_deploy.yml @@ -0,0 +1,56 @@ +name: Review deployment + +on: + pull_request: + types: [opened, reopened, edited] + +env: + REGISTRY: ghcr.io + IMAGE_NAME: ${{ github.repository }} + +jobs: + build-and-deploy-image-dev: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Log in to the Container registry + uses: docker/login-action@v2 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@v4 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + + - name: Build and push Docker image + uses: docker/build-push-action@v4 + with: + context: . + push: true + build-args: | + BUILD_MODE=development + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + + - name: Deploy + run: | + curl -X 'POST' \ + 'https://ci.dev.profcomff.com/pr_run' \ + -H 'accept: application/json' \ + -H 'Content-Type: application/json' \ + -H 'Authorization: ${{ secrets.CI_DYAKOVSPACE_MSK_TOKEN }}' \ + -d '{ + "repo_url": "${{ github.repository }}", + "git_ref": "${{ github.ref }}" + }' + diff --git a/.github/workflows/pr_test_deploy.yml b/.github/workflows/pr_lint.yml similarity index 100% rename from .github/workflows/pr_test_deploy.yml rename to .github/workflows/pr_lint.yml diff --git a/.github/workflows/pr_stop.yml b/.github/workflows/pr_stop.yml new file mode 100644 index 0000000..7a3507c --- /dev/null +++ b/.github/workflows/pr_stop.yml @@ -0,0 +1,30 @@ +name: Review deployment + +on: + pull_request: + types: [closed] + +env: + REGISTRY: ghcr.io + IMAGE_NAME: ${{ github.repository }} + +jobs: + stop-deployment-dev: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + + steps: + - name: Stop deployment + run: | + curl -X 'POST' \ + 'https://ci.dev.profcomff.com/pr_stop' \ + -H 'accept: application/json' \ + -H 'Content-Type: application/json' \ + -H 'Authorization: ${{ secrets.CI_DYAKOVSPACE_MSK_TOKEN }}' \ + -d '{ + "repo_url": "${{ github.repository }}", + "git_ref": "${{ github.ref }}" + }' + From 8999acfb7b7aecdcab3a56c0216857fc79b61bfd Mon Sep 17 00:00:00 2001 From: Dyakov Roman Date: Tue, 14 Feb 2023 02:12:07 +0300 Subject: [PATCH 2/4] environment --- .github/workflows/pr_deploy.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pr_deploy.yml b/.github/workflows/pr_deploy.yml index 44e5606..1eb86a1 100644 --- a/.github/workflows/pr_deploy.yml +++ b/.github/workflows/pr_deploy.yml @@ -9,7 +9,7 @@ env: IMAGE_NAME: ${{ github.repository }} jobs: - build-and-deploy-image-dev: + build-and-push-image: runs-on: ubuntu-latest permissions: contents: read @@ -42,6 +42,12 @@ jobs: tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} + deploy-dev: + name: Deploy Development + needs: build-and-push-image + environment: + url: https://${{ github.event.repository.name }}__pr-${{ github.event.pull_request.number }}.dev.profcomff.com/ + steps: - name: Deploy run: | curl -X 'POST' \ From 31ae53c2f30c90e2946695fb99eff9de56c3dbb2 Mon Sep 17 00:00:00 2001 From: Dyakov Roman Date: Tue, 14 Feb 2023 02:14:47 +0300 Subject: [PATCH 3/4] job.environment fix --- .github/workflows/pr_deploy.yml | 5 +++-- .github/workflows/pr_lint.yml | 2 +- .github/workflows/pr_stop.yml | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/pr_deploy.yml b/.github/workflows/pr_deploy.yml index 1eb86a1..8c974d4 100644 --- a/.github/workflows/pr_deploy.yml +++ b/.github/workflows/pr_deploy.yml @@ -1,4 +1,4 @@ -name: Review deployment +name: Deploy pull request on: pull_request: @@ -46,7 +46,8 @@ jobs: name: Deploy Development needs: build-and-push-image environment: - url: https://${{ github.event.repository.name }}__pr-${{ github.event.pull_request.number }}.dev.profcomff.com/ + name: development + url: https://${{ github.event.repository.name }}__pr-${{ github.event.pull_request.number }}.dev.profcomff.com/ steps: - name: Deploy run: | diff --git a/.github/workflows/pr_lint.yml b/.github/workflows/pr_lint.yml index 528ccc9..8caa55f 100644 --- a/.github/workflows/pr_lint.yml +++ b/.github/workflows/pr_lint.yml @@ -1,4 +1,4 @@ -name: Review deployment +name: Lint pull request on: pull_request diff --git a/.github/workflows/pr_stop.yml b/.github/workflows/pr_stop.yml index 7a3507c..f0596f1 100644 --- a/.github/workflows/pr_stop.yml +++ b/.github/workflows/pr_stop.yml @@ -1,4 +1,4 @@ -name: Review deployment +name: Deploy pull request (stop) on: pull_request: From 3d6c9f3005b4157c84165e0acd70aa458dd68206 Mon Sep 17 00:00:00 2001 From: Dyakov Roman Date: Tue, 14 Feb 2023 02:20:01 +0300 Subject: [PATCH 4/4] Deployment fixes --- .github/workflows/pr_deploy.yml | 6 +++--- .github/workflows/pr_stop.yml | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pr_deploy.yml b/.github/workflows/pr_deploy.yml index 8c974d4..be09321 100644 --- a/.github/workflows/pr_deploy.yml +++ b/.github/workflows/pr_deploy.yml @@ -1,8 +1,6 @@ name: Deploy pull request -on: - pull_request: - types: [opened, reopened, edited] +on: pull_request env: REGISTRY: ghcr.io @@ -10,6 +8,7 @@ env: jobs: build-and-push-image: + name: Build Development runs-on: ubuntu-latest permissions: contents: read @@ -44,6 +43,7 @@ jobs: deploy-dev: name: Deploy Development + runs-on: ubuntu-latest needs: build-and-push-image environment: name: development diff --git a/.github/workflows/pr_stop.yml b/.github/workflows/pr_stop.yml index f0596f1..953cd10 100644 --- a/.github/workflows/pr_stop.yml +++ b/.github/workflows/pr_stop.yml @@ -10,6 +10,7 @@ env: jobs: stop-deployment-dev: + name: Deploy Development (stop) runs-on: ubuntu-latest permissions: contents: read