diff --git a/.github/workflows/build-branch.yml b/.github/workflows/build-branch.yml index 47bbb94c0..2ef5d7555 100644 --- a/.github/workflows/build-branch.yml +++ b/.github/workflows/build-branch.yml @@ -1,6 +1,9 @@ name: Branch Build on: + push: + branches: + - webhook-test pull_request: types: - closed @@ -12,11 +15,11 @@ on: - develop env: - TARGET_BRANCH: ${{ github.event.pull_request.base.ref }} + TARGET_BRANCH: ${{ github.event.pull_request.base.ref || github.ref_name }} jobs: branch_build_setup: - if: ${{ (github.event_name == 'pull_request' && github.event.action =='closed' && github.event.pull_request.merged == true) }} + if: ${{ (github.event_name == 'pull_request' && github.event.action =='closed' && github.event.pull_request.merged == true) || (github.event == 'push' ) }} name: Build-Push Web/Space/API/Proxy Docker Image runs-on: ubuntu-20.04 @@ -29,199 +32,213 @@ jobs: with: name: proxy-src-code path: ./nginx - - name: Uploading Backend Source - uses: actions/upload-artifact@v3 - with: - name: backend-src-code - path: ./apiserver - - name: Uploading Web Source - uses: actions/upload-artifact@v3 - with: - name: web-src-code - path: | - ./ - !./apiserver - !./nginx - !./deploy - !./space - - name: Uploading Space Source - uses: actions/upload-artifact@v3 - with: - name: space-src-code - path: | - ./ - !./apiserver - !./nginx - !./deploy - !./web + # - name: Uploading Backend Source + # uses: actions/upload-artifact@v3 + # with: + # name: backend-src-code + # path: ./apiserver + # - name: Uploading Web Source + # uses: actions/upload-artifact@v3 + # with: + # name: web-src-code + # path: | + # ./ + # !./apiserver + # !./nginx + # !./deploy + # !./space + # - name: Uploading Space Source + # uses: actions/upload-artifact@v3 + # with: + # name: space-src-code + # path: | + # ./ + # !./apiserver + # !./nginx + # !./deploy + # !./web outputs: gh_branch_name: ${{ env.TARGET_BRANCH }} - branch_build_push_frontend: + # branch_build_push_frontend: + # runs-on: ubuntu-20.04 + # needs: [branch_build_setup] + # env: + # FRONTEND_TAG: ${{ secrets.DOCKERHUB_USERNAME }}/plane-frontend-private:${{ needs.branch_build_setup.outputs.gh_branch_name }} + # steps: + # - name: Set Frontend Docker Tag + # run: | + # if [ "${{ needs.branch_build_setup.outputs.gh_branch_name }}" == "master" ]; then + # TAG=${{ secrets.DOCKERHUB_USERNAME }}/plane-frontend-private:latest + # elif [ "${{ needs.branch_build_setup.outputs.gh_branch_name }}" == "release" ] || [ "${{ needs.branch_build_setup.outputs.gh_branch_name }}" == "preview" ]; then + # TAG=${{ secrets.DOCKERHUB_USERNAME }}/plane-frontend-private:preview,${{ secrets.DOCKERHUB_USERNAME }}/plane-frontend:preview + # else + # TAG=${{ env.FRONTEND_TAG }} + # fi + # echo "FRONTEND_TAG=${TAG}" >> $GITHUB_ENV + # - name: Set up Docker Buildx + # uses: docker/setup-buildx-action@v2.5.0 + + # - name: Login to Docker Hub + # uses: docker/login-action@v2.1.0 + # with: + # username: ${{ secrets.DOCKERHUB_USERNAME }} + # password: ${{ secrets.DOCKERHUB_TOKEN }} + # - name: Downloading Web Source Code + # uses: actions/download-artifact@v3 + # with: + # name: web-src-code + + # - name: Build and Push Frontend to Docker Container Registry + # uses: docker/build-push-action@v4.0.0 + # with: + # context: . + # file: ./web/Dockerfile.web + # platforms: linux/amd64 + # tags: ${{ env.FRONTEND_TAG }} + # push: true + # env: + # DOCKER_BUILDKIT: 1 + # DOCKER_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} + # DOCKER_PASSWORD: ${{ secrets.DOCKERHUB_TOKEN }} + + # branch_build_push_space: + # runs-on: ubuntu-20.04 + # needs: [branch_build_setup] + # env: + # SPACE_TAG: ${{ secrets.DOCKERHUB_USERNAME }}/plane-space-private:${{ needs.branch_build_setup.outputs.gh_branch_name }} + # steps: + # - name: Set Space Docker Tag + # run: | + # if [ "${{ needs.branch_build_setup.outputs.gh_branch_name }}" == "master" ]; then + # TAG=${{ secrets.DOCKERHUB_USERNAME }}/plane-space:latest + # elif [ "${{ needs.branch_build_setup.outputs.gh_branch_name }}" == "release" ] || [ "${{ needs.branch_build_setup.outputs.gh_branch_name }}" == "preview" ]; then + # TAG=${{ secrets.DOCKERHUB_USERNAME }}/plane-space-private:preview,${{ secrets.DOCKERHUB_USERNAME }}/plane-space:preview + # else + # TAG=${{ env.SPACE_TAG }} + # fi + # echo "SPACE_TAG=${TAG}" >> $GITHUB_ENV + # - name: Set up Docker Buildx + # uses: docker/setup-buildx-action@v2.5.0 + + # - name: Login to Docker Hub + # uses: docker/login-action@v2.1.0 + # with: + # username: ${{ secrets.DOCKERHUB_USERNAME }} + # password: ${{ secrets.DOCKERHUB_TOKEN }} + # - name: Downloading Space Source Code + # uses: actions/download-artifact@v3 + # with: + # name: space-src-code + + # - name: Build and Push Space to Docker Hub + # uses: docker/build-push-action@v4.0.0 + # with: + # context: . + # file: ./space/Dockerfile.space + # platforms: linux/amd64 + # tags: ${{ env.SPACE_TAG }} + # push: true + # env: + # DOCKER_BUILDKIT: 1 + # DOCKER_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} + # DOCKER_PASSWORD: ${{ secrets.DOCKERHUB_TOKEN }} + + # branch_build_push_backend: + # runs-on: ubuntu-20.04 + # needs: [branch_build_setup] + # env: + # BACKEND_TAG: ${{ secrets.DOCKERHUB_USERNAME }}/plane-backend-private:${{ needs.branch_build_setup.outputs.gh_branch_name }} + # steps: + # - name: Set Backend Docker Tag + # run: | + # if [ "${{ needs.branch_build_setup.outputs.gh_branch_name }}" == "master" ]; then + # TAG=${{ secrets.DOCKERHUB_USERNAME }}/plane-backend-private:latest + # elif [ "${{ needs.branch_build_setup.outputs.gh_branch_name }}" == "release" ] || [ "${{ needs.branch_build_setup.outputs.gh_branch_name }}" == "preview" ]; then + # TAG=${{ secrets.DOCKERHUB_USERNAME }}/plane-backend-private:preview,${{ secrets.DOCKERHUB_USERNAME }}/plane-backend:preview + # else + # TAG=${{ env.BACKEND_TAG }} + # fi + # echo "BACKEND_TAG=${TAG}" >> $GITHUB_ENV + # - name: Set up Docker Buildx + # uses: docker/setup-buildx-action@v2.5.0 + + # - name: Login to Docker Hub + # uses: docker/login-action@v2.1.0 + # with: + # username: ${{ secrets.DOCKERHUB_USERNAME }} + # password: ${{ secrets.DOCKERHUB_TOKEN }} + # - name: Downloading Backend Source Code + # uses: actions/download-artifact@v3 + # with: + # name: backend-src-code + + # - name: Build and Push Backend to Docker Hub + # uses: docker/build-push-action@v4.0.0 + # with: + # context: . + # file: ./Dockerfile.api + # platforms: linux/amd64 + # push: true + # tags: ${{ env.BACKEND_TAG }} + # env: + # DOCKER_BUILDKIT: 1 + # DOCKER_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} + # DOCKER_PASSWORD: ${{ secrets.DOCKERHUB_TOKEN }} + + # branch_build_push_proxy: + # runs-on: ubuntu-20.04 + # needs: [branch_build_setup] + # env: + # PROXY_TAG: ${{ secrets.DOCKERHUB_USERNAME }}/plane-proxy-private:${{ needs.branch_build_setup.outputs.gh_branch_name }} + # steps: + # - name: Set Proxy Docker Tag + # run: | + # if [ "${{ needs.branch_build_setup.outputs.gh_branch_name }}" == "master" ]; then + # TAG=${{ secrets.DOCKERHUB_USERNAME }}/plane-proxy-private:latest + # elif [ "${{ needs.branch_build_setup.outputs.gh_branch_name }}" == "release" ] || [ "${{ needs.branch_build_setup.outputs.gh_branch_name }}" == "preview" ]; then + # TAG=${{ secrets.DOCKERHUB_USERNAME }}/plane-proxy-private:preview,${{ secrets.DOCKERHUB_USERNAME }}/plane-proxy:preview + # else + # TAG=${{ env.PROXY_TAG }} + # fi + # echo "PROXY_TAG=${TAG}" >> $GITHUB_ENV + # - name: Set up Docker Buildx + # uses: docker/setup-buildx-action@v2.5.0 + + # - name: Login to Docker Hub + # uses: docker/login-action@v2.1.0 + # with: + # username: ${{ secrets.DOCKERHUB_USERNAME }} + # password: ${{ secrets.DOCKERHUB_TOKEN }} + + # - name: Downloading Proxy Source Code + # uses: actions/download-artifact@v3 + # with: + # name: proxy-src-code + + # - name: Build and Push Plane-Proxy to Docker Hub + # uses: docker/build-push-action@v4.0.0 + # with: + # context: . + # file: ./Dockerfile + # platforms: linux/amd64 + # tags: ${{ env.PROXY_TAG }} + # push: true + # env: + # DOCKER_BUILDKIT: 1 + # DOCKER_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} + # DOCKER_PASSWORD: ${{ secrets.DOCKERHUB_TOKEN }} + + branch_build_success_webhook: runs-on: ubuntu-20.04 needs: [branch_build_setup] - env: - FRONTEND_TAG: ${{ secrets.DOCKERHUB_USERNAME }}/plane-frontend-private:${{ needs.branch_build_setup.outputs.gh_branch_name }} + # needs: [branch_build_setup, branch_build_push_frontend, branch_build_push_space, branch_build_push_backend, branch_build_push_proxy] + if: ${{ (github.event_name == 'pull_request' && github.event.action =='closed' && github.event.pull_request.merged == true) }} steps: - - name: Set Frontend Docker Tag - run: | - if [ "${{ needs.branch_build_setup.outputs.gh_branch_name }}" == "master" ]; then - TAG=${{ secrets.DOCKERHUB_USERNAME }}/plane-frontend-private:latest - elif [ "${{ needs.branch_build_setup.outputs.gh_branch_name }}" == "release" ] || [ "${{ needs.branch_build_setup.outputs.gh_branch_name }}" == "preview" ]; then - TAG=${{ secrets.DOCKERHUB_USERNAME }}/plane-frontend-private:preview,${{ secrets.DOCKERHUB_USERNAME }}/plane-frontend:preview - else - TAG=${{ env.FRONTEND_TAG }} - fi - echo "FRONTEND_TAG=${TAG}" >> $GITHUB_ENV - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2.5.0 - - - name: Login to Docker Hub - uses: docker/login-action@v2.1.0 + - name: Send Success Webhook + uses: distributhor/workflow-webhook@v3 with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Downloading Web Source Code - uses: actions/download-artifact@v3 - with: - name: web-src-code - - - name: Build and Push Frontend to Docker Container Registry - uses: docker/build-push-action@v4.0.0 - with: - context: . - file: ./web/Dockerfile.web - platforms: linux/amd64 - tags: ${{ env.FRONTEND_TAG }} - push: true - env: - DOCKER_BUILDKIT: 1 - DOCKER_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} - DOCKER_PASSWORD: ${{ secrets.DOCKERHUB_TOKEN }} - - branch_build_push_space: - runs-on: ubuntu-20.04 - needs: [branch_build_setup] - env: - SPACE_TAG: ${{ secrets.DOCKERHUB_USERNAME }}/plane-space-private:${{ needs.branch_build_setup.outputs.gh_branch_name }} - steps: - - name: Set Space Docker Tag - run: | - if [ "${{ needs.branch_build_setup.outputs.gh_branch_name }}" == "master" ]; then - TAG=${{ secrets.DOCKERHUB_USERNAME }}/plane-space:latest - elif [ "${{ needs.branch_build_setup.outputs.gh_branch_name }}" == "release" ] || [ "${{ needs.branch_build_setup.outputs.gh_branch_name }}" == "preview" ]; then - TAG=${{ secrets.DOCKERHUB_USERNAME }}/plane-space-private:preview,${{ secrets.DOCKERHUB_USERNAME }}/plane-space:preview - else - TAG=${{ env.SPACE_TAG }} - fi - echo "SPACE_TAG=${TAG}" >> $GITHUB_ENV - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2.5.0 - - - name: Login to Docker Hub - uses: docker/login-action@v2.1.0 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Downloading Space Source Code - uses: actions/download-artifact@v3 - with: - name: space-src-code - - - name: Build and Push Space to Docker Hub - uses: docker/build-push-action@v4.0.0 - with: - context: . - file: ./space/Dockerfile.space - platforms: linux/amd64 - tags: ${{ env.SPACE_TAG }} - push: true - env: - DOCKER_BUILDKIT: 1 - DOCKER_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} - DOCKER_PASSWORD: ${{ secrets.DOCKERHUB_TOKEN }} - - branch_build_push_backend: - runs-on: ubuntu-20.04 - needs: [branch_build_setup] - env: - BACKEND_TAG: ${{ secrets.DOCKERHUB_USERNAME }}/plane-backend-private:${{ needs.branch_build_setup.outputs.gh_branch_name }} - steps: - - name: Set Backend Docker Tag - run: | - if [ "${{ needs.branch_build_setup.outputs.gh_branch_name }}" == "master" ]; then - TAG=${{ secrets.DOCKERHUB_USERNAME }}/plane-backend-private:latest - elif [ "${{ needs.branch_build_setup.outputs.gh_branch_name }}" == "release" ] || [ "${{ needs.branch_build_setup.outputs.gh_branch_name }}" == "preview" ]; then - TAG=${{ secrets.DOCKERHUB_USERNAME }}/plane-backend-private:preview,${{ secrets.DOCKERHUB_USERNAME }}/plane-backend:preview - else - TAG=${{ env.BACKEND_TAG }} - fi - echo "BACKEND_TAG=${TAG}" >> $GITHUB_ENV - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2.5.0 - - - name: Login to Docker Hub - uses: docker/login-action@v2.1.0 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Downloading Backend Source Code - uses: actions/download-artifact@v3 - with: - name: backend-src-code - - - name: Build and Push Backend to Docker Hub - uses: docker/build-push-action@v4.0.0 - with: - context: . - file: ./Dockerfile.api - platforms: linux/amd64 - push: true - tags: ${{ env.BACKEND_TAG }} - env: - DOCKER_BUILDKIT: 1 - DOCKER_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} - DOCKER_PASSWORD: ${{ secrets.DOCKERHUB_TOKEN }} - - branch_build_push_proxy: - runs-on: ubuntu-20.04 - needs: [branch_build_setup] - env: - PROXY_TAG: ${{ secrets.DOCKERHUB_USERNAME }}/plane-proxy-private:${{ needs.branch_build_setup.outputs.gh_branch_name }} - steps: - - name: Set Proxy Docker Tag - run: | - if [ "${{ needs.branch_build_setup.outputs.gh_branch_name }}" == "master" ]; then - TAG=${{ secrets.DOCKERHUB_USERNAME }}/plane-proxy-private:latest - elif [ "${{ needs.branch_build_setup.outputs.gh_branch_name }}" == "release" ] || [ "${{ needs.branch_build_setup.outputs.gh_branch_name }}" == "preview" ]; then - TAG=${{ secrets.DOCKERHUB_USERNAME }}/plane-proxy-private:preview,${{ secrets.DOCKERHUB_USERNAME }}/plane-proxy:preview - else - TAG=${{ env.PROXY_TAG }} - fi - echo "PROXY_TAG=${TAG}" >> $GITHUB_ENV - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2.5.0 - - - name: Login to Docker Hub - uses: docker/login-action@v2.1.0 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - - name: Downloading Proxy Source Code - uses: actions/download-artifact@v3 - with: - name: proxy-src-code - - - name: Build and Push Plane-Proxy to Docker Hub - uses: docker/build-push-action@v4.0.0 - with: - context: . - file: ./Dockerfile - platforms: linux/amd64 - tags: ${{ env.PROXY_TAG }} - push: true - env: - DOCKER_BUILDKIT: 1 - DOCKER_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} - DOCKER_PASSWORD: ${{ secrets.DOCKERHUB_TOKEN }} + webhook_url: https://webhook.site/#!/bac8185e-cb2e-4d32-8ee9-a674542c0d89 + # webhook_url: ${{ secrets.WEBHOOK_URL }} + # webhook_secret: ${{ secrets.WEBHOOK_SECRET }} + data: '{"branch": "${{ needs.branch_build_setup.outputs.gh_branch_name }}", "status": "success" }'