From 00197e971f8e6a873703860aed86c89c0e070629 Mon Sep 17 00:00:00 2001 From: Fu Zi Xiang Date: Wed, 20 Dec 2023 10:40:35 -0800 Subject: [PATCH 01/13] feat: deploy dev image --- .github/workflows/docker.yml | 16 +++++++++++----- docker-compose.yml | 2 +- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 7833230a..68b1fb70 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -43,10 +43,16 @@ jobs: - name: Run Docker-Compose run: | - docker compose up -d + # docker compose up -d + docker compose build appflowy_cloud - - name: Run tests + # - name: Run tests + # run: | + # cargo install sqlx-cli --version=${{ env.SQLX_VERSION }} --features ${{ env.SQLX_FEATURES }} --no-default-features --locked + # RUST_LOG=debug cargo test + + - name: Release image to docker hub run: | - cargo install sqlx-cli --version=${{ env.SQLX_VERSION }} --features ${{ env.SQLX_FEATURES }} --no-default-features --locked - RUST_LOG=debug cargo test - + docker tag appflowy-cloud-appflowy_cloud appflowyinc/appflowy_cloud:dev + echo ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} | docker login --username appflowyinc --password-stdin + docker push appflowyinc/appflowy_cloud:dev diff --git a/docker-compose.yml b/docker-compose.yml index 2f6864eb..2a954b77 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -119,7 +119,7 @@ services: build: context: . dockerfile: Dockerfile - image: appflowyinc/appflowy_cloud:${BACKEND_VERSION:-latest} + #image: appflowyinc/appflowy_cloud:${BACKEND_VERSION:-latest} depends_on: - redis - postgres From fc54769632b32f50c433a923ad409c83061f5f9d Mon Sep 17 00:00:00 2001 From: Fu Zi Xiang Date: Wed, 20 Dec 2023 11:12:40 -0800 Subject: [PATCH 02/13] feat: test deploy kube --- .github/workflows/deploy.test.yml | 59 ++++++------------------------- .github/workflows/docker.yml | 15 +++----- docker-compose.yml | 2 +- 3 files changed, 15 insertions(+), 61 deletions(-) diff --git a/.github/workflows/deploy.test.yml b/.github/workflows/deploy.test.yml index 77f8a81e..32b20e9b 100644 --- a/.github/workflows/deploy.test.yml +++ b/.github/workflows/deploy.test.yml @@ -1,4 +1,4 @@ -name: Deployment for Test Environment +name: Deployment AppFlowy Cloud and Admin Frontend for Kube Environment on: push: branches: @@ -7,55 +7,16 @@ on: jobs: deploy: - environment: test.appflowy.cloud - runs-on: [self-hosted, test-deploy] + runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - - - name: Set up env vars + - name: build docker images run: | - cp dev.env .env - - # log level - sed -i 's|RUST_LOG=.*|RUST_LOG=trace|' .env - - # jwt secret - sed -i 's|GOTRUE_JWT_SECRET=.*|GOTRUE_JWT_SECRET=${{ secrets.GOTRUE_JWT_SECRET_TEST }}|' .env - # smtp settings - sed -i 's|GOTRUE_SMTP_HOST=.*|GOTRUE_SMTP_HOST=smtp.gmail.com|' .env - sed -i 's|GOTRUE_SMTP_PORT=.*|GOTRUE_SMTP_PORT=465|' .env - sed -i 's|GOTRUE_SMTP_USER=.*|GOTRUE_SMTP_USER=${{ secrets.GOTRUE_SMTP_USER_TEST }}|' .env - sed -i 's|GOTRUE_SMTP_PASS=.*|GOTRUE_SMTP_PASS=${{ secrets.GOTRUE_SMTP_PASS_TEST }}|' .env - sed -i 's|GOTRUE_SMTP_ADMIN_EMAIL=.*|GOTRUE_SMTP_ADMIN_EMAIL=${{ secrets.GOTRUE_SMTP_ADMIN_EMAIL_TEST }}|' .env - sed -i 's|GOTRUE_MAILER_AUTOCONFIRM=.*|GOTRUE_MAILER_AUTOCONFIRM=false|' .env - # Google OAuth - sed -i 's|GOTRUE_EXTERNAL_GOOGLE_ENABLED=.*|GOTRUE_EXTERNAL_GOOGLE_ENABLED=true|' .env - sed -i 's|GOTRUE_EXTERNAL_GOOGLE_CLIENT_ID=.*|GOTRUE_EXTERNAL_GOOGLE_CLIENT_ID=${{ secrets.GOTRUE_EXTERNAL_GOOGLE_CLIENT_ID }}|' .env - sed -i 's|GOTRUE_EXTERNAL_GOOGLE_SECRET=.*|GOTRUE_EXTERNAL_GOOGLE_SECRET=${{ secrets.GOTRUE_EXTERNAL_GOOGLE_SECRET }}|' .env - sed -i 's|GOTRUE_EXTERNAL_GOOGLE_REDIRECT_URI=.*|GOTRUE_EXTERNAL_GOOGLE_REDIRECT_URI=${{ secrets.GOTRUE_EXTERNAL_GOOGLE_REDIRECT_URI }}|' .env - # GitHub OAuth - sed -i 's|GOTRUE_EXTERNAL_GITHUB_ENABLED=.*|GOTRUE_EXTERNAL_GITHUB_ENABLED=true|' .env - sed -i 's|GOTRUE_EXTERNAL_GITHUB_CLIENT_ID=.*|GOTRUE_EXTERNAL_GITHUB_CLIENT_ID=${{ secrets.GOTRUE_EXTERNAL_GITHUB_CLIENT_ID }}|' .env - sed -i 's|GOTRUE_EXTERNAL_GITHUB_SECRET=.*|GOTRUE_EXTERNAL_GITHUB_SECRET=${{ secrets.GOTRUE_EXTERNAL_GITHUB_SECRET }}|' .env - sed -i 's|GOTRUE_EXTERNAL_GITHUB_REDIRECT_URI=.*|GOTRUE_EXTERNAL_GITHUB_REDIRECT_URI=${{ secrets.GOTRUE_EXTERNAL_GITHUB_REDIRECT_URI }}|' .env - # Discord OAuth - sed -i 's|GOTRUE_EXTERNAL_DISCORD_ENABLED=.*|GOTRUE_EXTERNAL_DISCORD_ENABLED=true|' .env - sed -i 's|GOTRUE_EXTERNAL_DISCORD_CLIENT_ID=.*|GOTRUE_EXTERNAL_DISCORD_CLIENT_ID=${{ secrets.GOTRUE_EXTERNAL_DISCORD_CLIENT_ID }}|' .env - sed -i 's|GOTRUE_EXTERNAL_DISCORD_SECRET=.*|GOTRUE_EXTERNAL_DISCORD_SECRET=${{ secrets.GOTRUE_EXTERNAL_DISCORD_SECRET }}|' .env - sed -i 's|GOTRUE_EXTERNAL_DISCORD_REDIRECT_URI=.*|GOTRUE_EXTERNAL_DISCORD_REDIRECT_URI=${{ secrets.GOTRUE_EXTERNAL_DISCORD_REDIRECT_URI }}|' .env - # Server Host - sed -i 's|API_EXTERNAL_URL=.*|API_EXTERNAL_URL=${{ secrets.API_EXTERNAL_URL_TEST }}|' .env - - # SSL - echo "${{ secrets.APPFLOWY_CLOUD_CRT }}" | base64 --decode > ./nginx/ssl/certificate.crt - echo "${{ secrets.APPFLOWY_CLOUD_KEY }}" | base64 --decode > ./nginx/ssl/private_key.key - - - name: Disable appflowyinc images + docker compose build appflowy_cloud admin_frontend + - name: push docker images to docker hub run: | - sed -i '/image: appflowyinc\/appflowy_cloud:/d' docker-compose.yml - sed -i '/image: appflowyinc\/admin_frontend:/d' docker-compose.yml - - - name: Deploy docker-compose - run: | - docker compose up -d --build --force-recreate - docker system prune --force + docker tag appflowy-cloud-appflowy_cloud appflowyinc/appflowy_cloud:dev + docker tag appflowy-cloud-admin_frontend appflowyinc/appflowy_cloud:dev + echo ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} | docker login --username appflowyinc --password-stdin + docker push appflowyinc/appflowy_cloud:dev + docker push appflowyinc/admin_frontend:dev diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 68b1fb70..1ddc8375 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -43,16 +43,9 @@ jobs: - name: Run Docker-Compose run: | - # docker compose up -d - docker compose build appflowy_cloud + docker compose up -d - # - name: Run tests - # run: | - # cargo install sqlx-cli --version=${{ env.SQLX_VERSION }} --features ${{ env.SQLX_FEATURES }} --no-default-features --locked - # RUST_LOG=debug cargo test - - - name: Release image to docker hub + - name: Run tests run: | - docker tag appflowy-cloud-appflowy_cloud appflowyinc/appflowy_cloud:dev - echo ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} | docker login --username appflowyinc --password-stdin - docker push appflowyinc/appflowy_cloud:dev + cargo install sqlx-cli --version=${{ env.SQLX_VERSION }} --features ${{ env.SQLX_FEATURES }} --no-default-features --locked + RUST_LOG=debug cargo test diff --git a/docker-compose.yml b/docker-compose.yml index 2a954b77..2f6864eb 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -119,7 +119,7 @@ services: build: context: . dockerfile: Dockerfile - #image: appflowyinc/appflowy_cloud:${BACKEND_VERSION:-latest} + image: appflowyinc/appflowy_cloud:${BACKEND_VERSION:-latest} depends_on: - redis - postgres From 654d510afc45a92cc0ac56f8a09bb7e69019f1ac Mon Sep 17 00:00:00 2001 From: Fu Zi Xiang Date: Wed, 20 Dec 2023 12:20:00 -0800 Subject: [PATCH 03/13] fix: debug docker images --- .github/workflows/deploy.test.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/deploy.test.yml b/.github/workflows/deploy.test.yml index 32b20e9b..754979e5 100644 --- a/.github/workflows/deploy.test.yml +++ b/.github/workflows/deploy.test.yml @@ -13,8 +13,10 @@ jobs: - name: build docker images run: | docker compose build appflowy_cloud admin_frontend + docker images - name: push docker images to docker hub run: | + docker images docker tag appflowy-cloud-appflowy_cloud appflowyinc/appflowy_cloud:dev docker tag appflowy-cloud-admin_frontend appflowyinc/appflowy_cloud:dev echo ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} | docker login --username appflowyinc --password-stdin From f5ea1d3a3430bd5a2f202b4719d4e0ec6b295432 Mon Sep 17 00:00:00 2001 From: Fu Zi Xiang Date: Wed, 20 Dec 2023 12:32:56 -0800 Subject: [PATCH 04/13] fix: docker image name --- .github/workflows/deploy.test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy.test.yml b/.github/workflows/deploy.test.yml index 754979e5..db22655c 100644 --- a/.github/workflows/deploy.test.yml +++ b/.github/workflows/deploy.test.yml @@ -17,8 +17,8 @@ jobs: - name: push docker images to docker hub run: | docker images - docker tag appflowy-cloud-appflowy_cloud appflowyinc/appflowy_cloud:dev - docker tag appflowy-cloud-admin_frontend appflowyinc/appflowy_cloud:dev + docker tag appflowyinc/appflowy_cloud appflowyinc/appflowy_cloud:dev + docker tag appflowyinc/admin_frontend appflowyinc/admin_frontend:dev echo ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} | docker login --username appflowyinc --password-stdin docker push appflowyinc/appflowy_cloud:dev docker push appflowyinc/admin_frontend:dev From 444f974cf20aea62af0f5848dcd298249a460bb1 Mon Sep 17 00:00:00 2001 From: Fu Zi Xiang Date: Wed, 20 Dec 2023 12:51:09 -0800 Subject: [PATCH 05/13] fix: test deploy after image build --- .github/workflows/deploy.test.yml | 43 ++++++++++++++++++++----------- 1 file changed, 28 insertions(+), 15 deletions(-) diff --git a/.github/workflows/deploy.test.yml b/.github/workflows/deploy.test.yml index db22655c..56cecc8c 100644 --- a/.github/workflows/deploy.test.yml +++ b/.github/workflows/deploy.test.yml @@ -6,19 +6,32 @@ on: - 'test_deploy_*' jobs: - deploy: - runs-on: ubuntu-latest + #image_build: + # runs-on: ubuntu-latest + # steps: + # - uses: actions/checkout@v3 + # - name: build docker images + # run: | + # docker compose build appflowy_cloud admin_frontend + # docker images + # - name: push docker images to docker hub + # run: | + # docker images + # docker tag appflowyinc/appflowy_cloud appflowyinc/appflowy_cloud:dev + # docker tag appflowyinc/admin_frontend appflowyinc/admin_frontend:dev + # echo ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} | docker login --username appflowyinc --password-stdin + # docker push appflowyinc/appflowy_cloud:dev + # docker push appflowyinc/admin_frontend:dev + + image_deploy: + runs-on: [test-kube-worker] steps: - - uses: actions/checkout@v3 - - name: build docker images - run: | - docker compose build appflowy_cloud admin_frontend - docker images - - name: push docker images to docker hub - run: | - docker images - docker tag appflowyinc/appflowy_cloud appflowyinc/appflowy_cloud:dev - docker tag appflowyinc/admin_frontend appflowyinc/admin_frontend:dev - echo ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} | docker login --username appflowyinc --password-stdin - docker push appflowyinc/appflowy_cloud:dev - docker push appflowyinc/admin_frontend:dev + - name: Checkout Deployment + uses: actions/checkout@v4 + with: + repository: AppFlowy-IO/AppFlowy-Cloud-Deployment + token: ${{ secrets.GH_PAT }} # `GH_PAT` is a secret that contains your PAT + - name: apply images + run: | + pwd + ls From 0347260028885ccd0091b143e114b2ff242579ea Mon Sep 17 00:00:00 2001 From: Fu Zi Xiang Date: Wed, 20 Dec 2023 13:02:57 -0800 Subject: [PATCH 06/13] fix: debug 1 --- .github/workflows/deploy.test.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/deploy.test.yml b/.github/workflows/deploy.test.yml index 56cecc8c..a611d7fb 100644 --- a/.github/workflows/deploy.test.yml +++ b/.github/workflows/deploy.test.yml @@ -35,3 +35,4 @@ jobs: run: | pwd ls + exit 1 From 237cd785dc2dfe16aa15c71f04e5670e26361993 Mon Sep 17 00:00:00 2001 From: Fu Zi Xiang Date: Wed, 20 Dec 2023 15:41:41 -0800 Subject: [PATCH 07/13] feat: add deploy kube --- .github/workflows/deploy.test.yml | 34 +++++++++++++++++++++++++++---- 1 file changed, 30 insertions(+), 4 deletions(-) diff --git a/.github/workflows/deploy.test.yml b/.github/workflows/deploy.test.yml index a611d7fb..39ed5745 100644 --- a/.github/workflows/deploy.test.yml +++ b/.github/workflows/deploy.test.yml @@ -30,9 +30,35 @@ jobs: uses: actions/checkout@v4 with: repository: AppFlowy-IO/AppFlowy-Cloud-Deployment - token: ${{ secrets.GH_PAT }} # `GH_PAT` is a secret that contains your PAT + token: ${{ secrets.GH_PAT }} - name: apply images run: | - pwd - ls - exit 1 + # export env var + + source environments/base.env + source environments/test.env + + export APPFLOWY_GOTRUE_JWT_SECRET=${{ secrets.TEST_GOTRUE_JWT_SECRET }} + export APPFLOWY_S3_ACCESS_KEY=${{ secrets.TEST_APPFLOWY_S3_ACCESS_KEY }} + export APPFLOWY_S3_SECRET_KEY=${{ secrets.TEST_APPFLOWY_S3_SECRET_KEY }} + export APPFLOWY_GOTRUE_ADMIN_PASSWORD=${{ secrets.TEST_APPFLOWY_GOTRUE_ADMIN_PASSWORD }} + + export ADMIN_FRONTEND_IMAGE=appflowyinc/admin_frontend:dev + export APPFLOWY_IMAGE=appflowyinc/appflowy_cloud:dev + + # keep track of final env deployment files + mkdir deployed + + # dump all env var + env > deployed/.env + + # create config map + kubernetes/scripts/env_to_configmap.sh < deployed/.env | tee deployed/appflowy-configmap.yaml | kubectl apply -f - + + # deploy appflowy cloud + envsubst < kubernetes/templates/appflowy-cloud-deployment.yaml | tee deployed/appflowy-cloud-deployment.yaml | kubectl apply -f - + envsubst < kubernetes/templates/appflowy-cloud-service.yaml | tee deployed/appflowy-cloud-service.yaml | kubectl apply -f - + + # deploy admin_frontend + envsubst < kubernetes/templates/admin-frontend-deployment.yaml | tee deployed/admin-frontend-deployment.yaml | kubectl apply -f - + envsubst < kubernetes/templates/admin-frontend-service.yaml | tee deployed/admin-frontend-service.yaml | kubectl apply -f - From bcc10984249128224ec83553b5eea8b0e8548c4e Mon Sep 17 00:00:00 2001 From: Fu Zi Xiang Date: Wed, 20 Dec 2023 15:45:21 -0800 Subject: [PATCH 08/13] feat: add back image build --- .github/workflows/deploy.test.yml | 32 +++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/.github/workflows/deploy.test.yml b/.github/workflows/deploy.test.yml index 39ed5745..eefdf325 100644 --- a/.github/workflows/deploy.test.yml +++ b/.github/workflows/deploy.test.yml @@ -6,22 +6,22 @@ on: - 'test_deploy_*' jobs: - #image_build: - # runs-on: ubuntu-latest - # steps: - # - uses: actions/checkout@v3 - # - name: build docker images - # run: | - # docker compose build appflowy_cloud admin_frontend - # docker images - # - name: push docker images to docker hub - # run: | - # docker images - # docker tag appflowyinc/appflowy_cloud appflowyinc/appflowy_cloud:dev - # docker tag appflowyinc/admin_frontend appflowyinc/admin_frontend:dev - # echo ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} | docker login --username appflowyinc --password-stdin - # docker push appflowyinc/appflowy_cloud:dev - # docker push appflowyinc/admin_frontend:dev + image_build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: build docker images + run: | + docker compose build appflowy_cloud admin_frontend + docker images + - name: push docker images to docker hub + run: | + docker images + docker tag appflowyinc/appflowy_cloud appflowyinc/appflowy_cloud:dev + docker tag appflowyinc/admin_frontend appflowyinc/admin_frontend:dev + echo ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} | docker login --username appflowyinc --password-stdin + docker push appflowyinc/appflowy_cloud:dev + docker push appflowyinc/admin_frontend:dev image_deploy: runs-on: [test-kube-worker] From 134082da3e6af03eeaca5b0f658ada9d7a54b9a3 Mon Sep 17 00:00:00 2001 From: Fu Zi Xiang Date: Mon, 25 Dec 2023 17:11:25 +0800 Subject: [PATCH 09/13] fix: needs image build before deplo --- .github/workflows/deploy.test.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/deploy.test.yml b/.github/workflows/deploy.test.yml index eefdf325..46a4f17e 100644 --- a/.github/workflows/deploy.test.yml +++ b/.github/workflows/deploy.test.yml @@ -24,6 +24,7 @@ jobs: docker push appflowyinc/admin_frontend:dev image_deploy: + needs: image_build runs-on: [test-kube-worker] steps: - name: Checkout Deployment From 43780630361945eeb1ac560b552af3324b949757 Mon Sep 17 00:00:00 2001 From: Fu Zi Xiang Date: Mon, 25 Dec 2023 17:51:32 +0800 Subject: [PATCH 10/13] feat: use github sha instead of dev --- .github/workflows/deploy.test.yml | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/.github/workflows/deploy.test.yml b/.github/workflows/deploy.test.yml index 46a4f17e..9129bc31 100644 --- a/.github/workflows/deploy.test.yml +++ b/.github/workflows/deploy.test.yml @@ -13,15 +13,13 @@ jobs: - name: build docker images run: | docker compose build appflowy_cloud admin_frontend - docker images - name: push docker images to docker hub run: | - docker images - docker tag appflowyinc/appflowy_cloud appflowyinc/appflowy_cloud:dev - docker tag appflowyinc/admin_frontend appflowyinc/admin_frontend:dev + docker tag appflowyinc/appflowy_cloud appflowyinc/appflowy_cloud:${GITHUB_SHA} + docker tag appflowyinc/admin_frontend appflowyinc/admin_frontend:${GITHUB_SHA} echo ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} | docker login --username appflowyinc --password-stdin - docker push appflowyinc/appflowy_cloud:dev - docker push appflowyinc/admin_frontend:dev + docker push appflowyinc/appflowy_cloud:${GITHUB_SHA} + docker push appflowyinc/admin_frontend:${GITHUB_SHA} image_deploy: needs: image_build @@ -44,8 +42,8 @@ jobs: export APPFLOWY_S3_SECRET_KEY=${{ secrets.TEST_APPFLOWY_S3_SECRET_KEY }} export APPFLOWY_GOTRUE_ADMIN_PASSWORD=${{ secrets.TEST_APPFLOWY_GOTRUE_ADMIN_PASSWORD }} - export ADMIN_FRONTEND_IMAGE=appflowyinc/admin_frontend:dev - export APPFLOWY_IMAGE=appflowyinc/appflowy_cloud:dev + export ADMIN_FRONTEND_IMAGE=appflowyinc/admin_frontend:${GITHUB_SHA} + export APPFLOWY_IMAGE=appflowyinc/appflowy_cloud:${GITHUB_SHA} # keep track of final env deployment files mkdir deployed @@ -63,3 +61,9 @@ jobs: # deploy admin_frontend envsubst < kubernetes/templates/admin-frontend-deployment.yaml | tee deployed/admin-frontend-deployment.yaml | kubectl apply -f - envsubst < kubernetes/templates/admin-frontend-service.yaml | tee deployed/admin-frontend-service.yaml | kubectl apply -f - + + - name: delete built images + run: | + TOKEN=$(curl -s -H "Content-Type: application/json" -X POST -d '{"username": "appflowyinc", "password": "${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}"}' https://hub.docker.com/v2/users/login/ | jq -r .token) + curl -s -X DELETE -H "Authorization: JWT ${TOKEN}" https://hub.docker.com/v2/repositories/appflowyinc/tags/${GITHUB_SHA}/ + curl -s -X DELETE -H "Authorization: JWT ${TOKEN}" https://hub.docker.com/v2/repositories/appflowyinc/tags/${GITHUB_SHA}/ From e356e19d2ca7d7339e134a096267691f02e557db Mon Sep 17 00:00:00 2001 From: Fu Zi Xiang Date: Mon, 25 Dec 2023 18:11:50 +0800 Subject: [PATCH 11/13] fix: delete uploaded images --- .github/workflows/deploy.test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy.test.yml b/.github/workflows/deploy.test.yml index 9129bc31..206cd773 100644 --- a/.github/workflows/deploy.test.yml +++ b/.github/workflows/deploy.test.yml @@ -65,5 +65,5 @@ jobs: - name: delete built images run: | TOKEN=$(curl -s -H "Content-Type: application/json" -X POST -d '{"username": "appflowyinc", "password": "${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}"}' https://hub.docker.com/v2/users/login/ | jq -r .token) - curl -s -X DELETE -H "Authorization: JWT ${TOKEN}" https://hub.docker.com/v2/repositories/appflowyinc/tags/${GITHUB_SHA}/ - curl -s -X DELETE -H "Authorization: JWT ${TOKEN}" https://hub.docker.com/v2/repositories/appflowyinc/tags/${GITHUB_SHA}/ + curl -s -X DELETE -H "Authorization: JWT ${TOKEN}" https://hub.docker.com/v2/repositories/appflowyinc/appflowy_cloud/tags/${GITHUB_SHA}/ + curl -s -X DELETE -H "Authorization: JWT ${TOKEN}" https://hub.docker.com/v2/repositories/appflowyinc/admin_frontend/tags/${GITHUB_SHA}/ From a00b867db54d557894da71c6f9c0fac3bae1f8f2 Mon Sep 17 00:00:00 2001 From: Fu Zi Xiang Date: Mon, 25 Dec 2023 19:19:42 +0800 Subject: [PATCH 12/13] fix: wait for pods to be ready before deletion --- .github/workflows/deploy.test.yml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/.github/workflows/deploy.test.yml b/.github/workflows/deploy.test.yml index 206cd773..a22ab3ae 100644 --- a/.github/workflows/deploy.test.yml +++ b/.github/workflows/deploy.test.yml @@ -62,6 +62,29 @@ jobs: envsubst < kubernetes/templates/admin-frontend-deployment.yaml | tee deployed/admin-frontend-deployment.yaml | kubectl apply -f - envsubst < kubernetes/templates/admin-frontend-service.yaml | tee deployed/admin-frontend-service.yaml | kubectl apply -f - + # wait until + kubectl get pods --field-selector=status.phase!=Running | grep -v "STATUS" | wc -l + + # wait for all pods to be ready + tried=0 + while true; do + if [ $tried -eq 5 ]; then + echo "Waited too long for all pods to be ready" + exit 1 + fi + + non_running_pods=$(kubectl get pods --field-selector=status.phase!=Running | grep -v STATUS | wc -l) + if [ $non_running_pods -eq 0 ]; then + echo "All pods are ready." + exit 0 + else + echo "Waiting for all pods to be ready ..." + kubectl get pods + tried=$((tried + 1)) + sleep 5 + fi + done + - name: delete built images run: | TOKEN=$(curl -s -H "Content-Type: application/json" -X POST -d '{"username": "appflowyinc", "password": "${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}"}' https://hub.docker.com/v2/users/login/ | jq -r .token) From b69ea10df0e003554e4a70a8448a0119f1b59a0c Mon Sep 17 00:00:00 2001 From: Fu Zi Xiang Date: Mon, 25 Dec 2023 19:33:20 +0800 Subject: [PATCH 13/13] fix: wait for pods to be ready before deletion - 2 --- .github/workflows/deploy.test.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/deploy.test.yml b/.github/workflows/deploy.test.yml index a22ab3ae..07d96610 100644 --- a/.github/workflows/deploy.test.yml +++ b/.github/workflows/deploy.test.yml @@ -62,13 +62,10 @@ jobs: envsubst < kubernetes/templates/admin-frontend-deployment.yaml | tee deployed/admin-frontend-deployment.yaml | kubectl apply -f - envsubst < kubernetes/templates/admin-frontend-service.yaml | tee deployed/admin-frontend-service.yaml | kubectl apply -f - - # wait until - kubectl get pods --field-selector=status.phase!=Running | grep -v "STATUS" | wc -l - # wait for all pods to be ready tried=0 while true; do - if [ $tried -eq 5 ]; then + if [ $tried -eq 10 ]; then echo "Waited too long for all pods to be ready" exit 1 fi