From 7ce02300dee732d131ca3cf34cff6a6d556ea764 Mon Sep 17 00:00:00 2001 From: Ethan Cui <22898666+EthanInSeattle@users.noreply.github.com> Date: Sun, 7 Apr 2024 00:06:02 -0700 Subject: [PATCH 01/15] fix: typo Chatty I/O (#5471) The content's title should be "Chatty I/O" instead of "Chat I/O" --- .../content/116-performance-antipatterns/102-chatty-io.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/data/roadmaps/system-design/content/116-performance-antipatterns/102-chatty-io.md b/src/data/roadmaps/system-design/content/116-performance-antipatterns/102-chatty-io.md index 9ad1eef27..442fa0aeb 100644 --- a/src/data/roadmaps/system-design/content/116-performance-antipatterns/102-chatty-io.md +++ b/src/data/roadmaps/system-design/content/116-performance-antipatterns/102-chatty-io.md @@ -1,4 +1,4 @@ -# Chat I/O +# Chatty I/O The cumulative effect of a large number of I/O requests can have a significant impact on performance and responsiveness. From 25965d91a0e7ece66f36cc91380f78cdf8a83b9a Mon Sep 17 00:00:00 2001 From: Kamran Ahmed Date: Mon, 8 Apr 2024 02:22:19 +0100 Subject: [PATCH 02/15] Replace hiring with AI button --- src/components/Navigation/Navigation.astro | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/components/Navigation/Navigation.astro b/src/components/Navigation/Navigation.astro index 08d0adf84..86726cfe7 100644 --- a/src/components/Navigation/Navigation.astro +++ b/src/components/Navigation/Navigation.astro @@ -17,12 +17,10 @@ import { AccountDropdown } from './AccountDropdown'; - We're Hiring + AI Roadmaps  @@ -43,12 +41,10 @@ import { AccountDropdown } from './AccountDropdown'; Teams - We're Hiring + AI Roadmaps From 9414089714f99ad85b3126543127c3f163407580 Mon Sep 17 00:00:00 2001 From: Kamran Ahmed Date: Mon, 8 Apr 2024 03:26:14 +0100 Subject: [PATCH 03/15] Add rsync script for deployment --- .github/workflows/rsync-ssr.yml | 57 +++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 .github/workflows/rsync-ssr.yml diff --git a/.github/workflows/rsync-ssr.yml b/.github/workflows/rsync-ssr.yml new file mode 100644 index 000000000..a0f6b0b6d --- /dev/null +++ b/.github/workflows/rsync-ssr.yml @@ -0,0 +1,57 @@ +name: Deploy to EC2 +on: + workflow_dispatch: # allow manual run + push: + branches: + - feat/ssr +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v2 + - uses: actions/setup-node@v1 + with: + node-version: 20 + - uses: pnpm/action-setup@v2.2.4 + with: + version: 7.13.4 + + # -------------------- + # Setup configuration + # -------------------- + - name: Prepare configuration files + run: | + git clone https://${{ secrets.GH_PAT }}@github.com/roadmapsh/infra-config.git configuration --depth 1 + - name: Copy configuration files + run: | + cp configuration/dist/github/developer-roadmap.env .env + + # -------------------- + # Prepare the build + # -------------------- + - name: Install dependencies + run: | + pnpm install + - name: Generate build + run: | + npm run build + + # -------------------- + # Deploy to EC2 + # -------------------- + - uses: webfactory/ssh-agent@v0.7.0 + with: + ssh-private-key: ${{ secrets.EC2_PRIVATE_KEY }} + - name: Deploy app to EC2 + run: | + rsync -avz --exclude "configuration" -e "ssh -o StrictHostKeyChecking=no" -p ./ ${{ secrets.EC2_USERNAME }}@${{ secrets.EC2_HOST }}:/var/www/v2.roadmap.sh/ + - name: Restart PM2 + uses: appleboy/ssh-action@master + with: + host: ${{ secrets.EC2_HOST }} + username: ${{ secrets.EC2_USERNAME }} + key: ${{ secrets.EC2_PRIVATE_KEY }} + script: | + cd /var/www/v2.roadmap.sh + sudo pm2 restart web-roadmap \ No newline at end of file From 8537698d91d08e6326a2832792823a313c3192d7 Mon Sep 17 00:00:00 2001 From: Kamran Ahmed Date: Mon, 8 Apr 2024 03:31:14 +0100 Subject: [PATCH 04/15] Update dependencies in github actions --- .github/workflows/rsync-ssr.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/rsync-ssr.yml b/.github/workflows/rsync-ssr.yml index a0f6b0b6d..c4dca342e 100644 --- a/.github/workflows/rsync-ssr.yml +++ b/.github/workflows/rsync-ssr.yml @@ -13,9 +13,9 @@ jobs: - uses: actions/setup-node@v1 with: node-version: 20 - - uses: pnpm/action-setup@v2.2.4 + - uses: pnpm/action-setup@v3.0.0 with: - version: 7.13.4 + version: 8.15.6 # -------------------- # Setup configuration From c9534b30f5fb6b1e7e2dc750d7ebb2d1e2d72b7b Mon Sep 17 00:00:00 2001 From: Kamran Ahmed Date: Mon, 8 Apr 2024 03:43:43 +0100 Subject: [PATCH 05/15] Fix broken build --- .github/workflows/rsync-ssr.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/rsync-ssr.yml b/.github/workflows/rsync-ssr.yml index c4dca342e..70a6a1cae 100644 --- a/.github/workflows/rsync-ssr.yml +++ b/.github/workflows/rsync-ssr.yml @@ -35,6 +35,7 @@ jobs: pnpm install - name: Generate build run: | + npm run generate-renderer npm run build # -------------------- From e9f54621805487658a9b68617bc0c2ebc1b48159 Mon Sep 17 00:00:00 2001 From: Kamran Ahmed Date: Mon, 8 Apr 2024 03:48:28 +0100 Subject: [PATCH 06/15] Fix broken build --- .github/workflows/rsync-ssr.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/rsync-ssr.yml b/.github/workflows/rsync-ssr.yml index 70a6a1cae..092b169b4 100644 --- a/.github/workflows/rsync-ssr.yml +++ b/.github/workflows/rsync-ssr.yml @@ -35,6 +35,7 @@ jobs: pnpm install - name: Generate build run: | + git clone https://${{ secrets.GH_PAT }}@github.com/roadmapsh/web-draw.git .temp/web-draw --depth 1 npm run generate-renderer npm run build From 5c330094f9347f99e8f9f7b2f43912fd0086aed4 Mon Sep 17 00:00:00 2001 From: Kamran Ahmed Date: Mon, 8 Apr 2024 04:02:26 +0100 Subject: [PATCH 07/15] Fix broken build --- .github/workflows/rsync-ssr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/rsync-ssr.yml b/.github/workflows/rsync-ssr.yml index 092b169b4..86d341099 100644 --- a/.github/workflows/rsync-ssr.yml +++ b/.github/workflows/rsync-ssr.yml @@ -47,7 +47,7 @@ jobs: ssh-private-key: ${{ secrets.EC2_PRIVATE_KEY }} - name: Deploy app to EC2 run: | - rsync -avz --exclude "configuration" -e "ssh -o StrictHostKeyChecking=no" -p ./ ${{ secrets.EC2_USERNAME }}@${{ secrets.EC2_HOST }}:/var/www/v2.roadmap.sh/ + rsync -avz --info=progress2 --no-i-r --exclude "configuration" -e "ssh -o StrictHostKeyChecking=no" -p ./ ${{ secrets.EC2_USERNAME }}@${{ secrets.EC2_HOST }}:/var/www/v2.roadmap.sh/ - name: Restart PM2 uses: appleboy/ssh-action@master with: From 0e0a70fcbd698d9af91b5b6508e050206722e82e Mon Sep 17 00:00:00 2001 From: Kamran Ahmed Date: Mon, 8 Apr 2024 05:31:30 +0100 Subject: [PATCH 08/15] Exclude .git --- .github/workflows/rsync-ssr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/rsync-ssr.yml b/.github/workflows/rsync-ssr.yml index 86d341099..91968a4e3 100644 --- a/.github/workflows/rsync-ssr.yml +++ b/.github/workflows/rsync-ssr.yml @@ -47,7 +47,7 @@ jobs: ssh-private-key: ${{ secrets.EC2_PRIVATE_KEY }} - name: Deploy app to EC2 run: | - rsync -avz --info=progress2 --no-i-r --exclude "configuration" -e "ssh -o StrictHostKeyChecking=no" -p ./ ${{ secrets.EC2_USERNAME }}@${{ secrets.EC2_HOST }}:/var/www/v2.roadmap.sh/ + rsync -avz --info=progress2 --no-i-r --exclude ".git" --exclude "configuration" -e "ssh -o StrictHostKeyChecking=no" -p ./ ${{ secrets.EC2_USERNAME }}@${{ secrets.EC2_HOST }}:/var/www/v2.roadmap.sh/ - name: Restart PM2 uses: appleboy/ssh-action@master with: From 3ad7765658ecf5aecf24049f5e9337442b424a78 Mon Sep 17 00:00:00 2001 From: Kamran Ahmed Date: Mon, 8 Apr 2024 05:43:36 +0100 Subject: [PATCH 09/15] Update rsync options --- .github/workflows/rsync-ssr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/rsync-ssr.yml b/.github/workflows/rsync-ssr.yml index 91968a4e3..bc2f31412 100644 --- a/.github/workflows/rsync-ssr.yml +++ b/.github/workflows/rsync-ssr.yml @@ -47,7 +47,7 @@ jobs: ssh-private-key: ${{ secrets.EC2_PRIVATE_KEY }} - name: Deploy app to EC2 run: | - rsync -avz --info=progress2 --no-i-r --exclude ".git" --exclude "configuration" -e "ssh -o StrictHostKeyChecking=no" -p ./ ${{ secrets.EC2_USERNAME }}@${{ secrets.EC2_HOST }}:/var/www/v2.roadmap.sh/ + rsync -avz --omit-dir-times --exclude ".git" --exclude "configuration" -e "ssh -o StrictHostKeyChecking=no" -p ./ ${{ secrets.EC2_USERNAME }}@${{ secrets.EC2_HOST }}:/var/www/v2.roadmap.sh/ - name: Restart PM2 uses: appleboy/ssh-action@master with: From c768cac62fde65219699204d8f2a8d38d26654c9 Mon Sep 17 00:00:00 2001 From: Kamran Ahmed Date: Tue, 9 Apr 2024 13:26:07 +0100 Subject: [PATCH 10/15] Add cloudfront cache clearing --- .github/workflows/rsync-ssr.yml | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/.github/workflows/rsync-ssr.yml b/.github/workflows/rsync-ssr.yml index bc2f31412..ff42290a5 100644 --- a/.github/workflows/rsync-ssr.yml +++ b/.github/workflows/rsync-ssr.yml @@ -56,4 +56,17 @@ jobs: key: ${{ secrets.EC2_PRIVATE_KEY }} script: | cd /var/www/v2.roadmap.sh - sudo pm2 restart web-roadmap \ No newline at end of file + sudo pm2 restart web-roadmap + + # -------------------- + # Clear Cloudfront Caching + # -------------------- + - name: Clear Cloudfront Caching + run: | + curl -L \ + -X POST \ + -H "Accept: application/vnd.github+json" \ + -H "Authorization: Bearer ${{ secrets.GH_PAT }}" \ + -H "X-GitHub-Api-Version: 2022-11-28" \ + https://api.github.com/repos/roadmapsh/infra-ansible/actions/workflows/playbook.yml/dispatches \ + -d '{ "ref":"master", "inputs": { "playbook": "roadmap_web.yml", "tags": "cloudfront", "is_verbose": false } }' \ No newline at end of file From ed6f4b64a62d87747cdd602d18ce0e677c287afb Mon Sep 17 00:00:00 2001 From: Arik Chakma Date: Wed, 10 Apr 2024 04:10:51 +0600 Subject: [PATCH 11/15] fix: account activity title (#5483) --- src/pages/account/index.astro | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/pages/account/index.astro b/src/pages/account/index.astro index 056751212..08fc68c2a 100644 --- a/src/pages/account/index.astro +++ b/src/pages/account/index.astro @@ -4,8 +4,12 @@ import { ActivityPage } from '../../components/Activity/ActivityPage'; import AccountLayout from '../../layouts/AccountLayout.astro'; --- - + - + From 5da5f41a8d04ba420fd2de004629f1f72b825532 Mon Sep 17 00:00:00 2001 From: Kamran Ahmed Date: Wed, 10 Apr 2024 03:09:43 +0100 Subject: [PATCH 12/15] Update rsync --- .github/workflows/rsync-ssr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/rsync-ssr.yml b/.github/workflows/rsync-ssr.yml index ff42290a5..2de1a362f 100644 --- a/.github/workflows/rsync-ssr.yml +++ b/.github/workflows/rsync-ssr.yml @@ -47,7 +47,7 @@ jobs: ssh-private-key: ${{ secrets.EC2_PRIVATE_KEY }} - name: Deploy app to EC2 run: | - rsync -avz --omit-dir-times --exclude ".git" --exclude "configuration" -e "ssh -o StrictHostKeyChecking=no" -p ./ ${{ secrets.EC2_USERNAME }}@${{ secrets.EC2_HOST }}:/var/www/v2.roadmap.sh/ + rsync -avz --exclude "configuration" -e "ssh -o StrictHostKeyChecking=no" -p ./ ${{ secrets.EC2_USERNAME }}@${{ secrets.EC2_HOST }}:/var/www/v2.roadmap.sh/ - name: Restart PM2 uses: appleboy/ssh-action@master with: From 64ed4b6c23ffb087995b70623b467939c60acccf Mon Sep 17 00:00:00 2001 From: Kamran Ahmed Date: Wed, 10 Apr 2024 03:23:10 +0100 Subject: [PATCH 13/15] Update rsync --- .github/workflows/rsync-ssr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/rsync-ssr.yml b/.github/workflows/rsync-ssr.yml index 2de1a362f..578d9c519 100644 --- a/.github/workflows/rsync-ssr.yml +++ b/.github/workflows/rsync-ssr.yml @@ -47,7 +47,7 @@ jobs: ssh-private-key: ${{ secrets.EC2_PRIVATE_KEY }} - name: Deploy app to EC2 run: | - rsync -avz --exclude "configuration" -e "ssh -o StrictHostKeyChecking=no" -p ./ ${{ secrets.EC2_USERNAME }}@${{ secrets.EC2_HOST }}:/var/www/v2.roadmap.sh/ + rsync -avz --no-times --exclude "configuration" -e "ssh -o StrictHostKeyChecking=no" -p ./ ${{ secrets.EC2_USERNAME }}@${{ secrets.EC2_HOST }}:/var/www/v2.roadmap.sh/ - name: Restart PM2 uses: appleboy/ssh-action@master with: From bacf0e6320cbe77cd584b1830a12bcac191c5eba Mon Sep 17 00:00:00 2001 From: Kamran Ahmed Date: Wed, 10 Apr 2024 03:28:23 +0100 Subject: [PATCH 14/15] Fix vite warnings --- .github/workflows/rsync-ssr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/rsync-ssr.yml b/.github/workflows/rsync-ssr.yml index 578d9c519..9640d33f5 100644 --- a/.github/workflows/rsync-ssr.yml +++ b/.github/workflows/rsync-ssr.yml @@ -47,7 +47,7 @@ jobs: ssh-private-key: ${{ secrets.EC2_PRIVATE_KEY }} - name: Deploy app to EC2 run: | - rsync -avz --no-times --exclude "configuration" -e "ssh -o StrictHostKeyChecking=no" -p ./ ${{ secrets.EC2_USERNAME }}@${{ secrets.EC2_HOST }}:/var/www/v2.roadmap.sh/ + rsync -apvz --no-times --exclude "configuration" -e "ssh -o StrictHostKeyChecking=no" -p ./ ${{ secrets.EC2_USERNAME }}@${{ secrets.EC2_HOST }}:/var/www/v2.roadmap.sh/ - name: Restart PM2 uses: appleboy/ssh-action@master with: From b029eebd7b8b7c775a8917e534d4292f31f7a74c Mon Sep 17 00:00:00 2001 From: Kamran Ahmed Date: Wed, 10 Apr 2024 09:52:33 +0100 Subject: [PATCH 15/15] Delete in rsync --- .github/workflows/rsync-ssr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/rsync-ssr.yml b/.github/workflows/rsync-ssr.yml index 9640d33f5..3462d3084 100644 --- a/.github/workflows/rsync-ssr.yml +++ b/.github/workflows/rsync-ssr.yml @@ -47,7 +47,7 @@ jobs: ssh-private-key: ${{ secrets.EC2_PRIVATE_KEY }} - name: Deploy app to EC2 run: | - rsync -apvz --no-times --exclude "configuration" -e "ssh -o StrictHostKeyChecking=no" -p ./ ${{ secrets.EC2_USERNAME }}@${{ secrets.EC2_HOST }}:/var/www/v2.roadmap.sh/ + rsync -apvz --delete --no-times --exclude "configuration" -e "ssh -o StrictHostKeyChecking=no" -p ./ ${{ secrets.EC2_USERNAME }}@${{ secrets.EC2_HOST }}:/var/www/v2.roadmap.sh/ - name: Restart PM2 uses: appleboy/ssh-action@master with: