From bbca57dcdaff740e884a399c06920cc83d8d34e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EC=97=B0=EC=A7=84?= Date: Fri, 1 Aug 2025 23:02:20 +0900 Subject: [PATCH 1/4] =?UTF-8?q?feat:=20=EB=B0=B0=ED=8F=AC=20=EC=A4=80?= =?UTF-8?q?=EB=B9=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/main.yaml | 47 +++++++++++++++++++++++++++++ src/main.tsx | 10 +++--- src/pages/TestInputPage.tsx | 2 +- src/pages/dateCourse/MakeCourse.tsx | 2 +- 4 files changed, 55 insertions(+), 6 deletions(-) create mode 100644 .github/workflows/main.yaml diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml new file mode 100644 index 0000000..62ba503 --- /dev/null +++ b/.github/workflows/main.yaml @@ -0,0 +1,47 @@ +name: cicd action + +on: + push: + branches: + - main + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Checkout source code + uses: actions/checkout@v3 + + - name: Check Node.js version + run: node -v + + - name: Install pnpm + run: npm install -g pnpm + + - name: Create .env file + run: | + echo "VITE_API_BASE_URL=${{ secrets.VITE_API_BASE_URL }}" >> .env + echo "VITE_S3_HOSTNAME=${{ secrets.VITE_S3_HOSTNAME }}" >> .env + echo "VITE_CHANNEL_TALK_PLUGIN_KEY=${{ secrets.VITE_CHANNEL_TALK_PLUGIN_KEY }}" >> .env + + - name: Install dependencies + run: pnpm install + + - name: Configure AWS credentials + uses: aws-actions/configure-aws-credentials@v4 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: ${{ secrets.AWS_REGION }} + + - name: Generate build + run: pnpm run build + + - name: Deploy to S3 + run: | + aws s3 cp --recursive --region ap-northeast-2 dist s3://${{ secrets.AWS_BUCKET_NAME }} + + - name: Invalidate CloudFront Cache + run: aws cloudfront create-invalidation --distribution-id ${{ secrets.AWS_DISTRIBUTION_ID }} --paths "/*" + continue-on-error: true diff --git a/src/main.tsx b/src/main.tsx index 5a7aa10..5e64818 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -9,8 +9,10 @@ import { queryClient } from './api/queryClient.ts'; import App from './App.tsx'; createRoot(document.getElementById('root')!).render( - - {import.meta.env.VITE_DEV_MODE && } - - , + + + {import.meta.env.VITE_DEV_MODE && } + + + , ); diff --git a/src/pages/TestInputPage.tsx b/src/pages/TestInputPage.tsx index 95357a0..a3e0a86 100644 --- a/src/pages/TestInputPage.tsx +++ b/src/pages/TestInputPage.tsx @@ -3,7 +3,7 @@ import { useState } from 'react'; import EditableInputBox from '@/components/common/EditableInputBox'; -import SearchIcon from '@/assets/icons/Search_Blank.svg?react'; +// import SearchIcon from '@/assets/icons/Search_Blank.svg?react'; export default function TestInputPage() { const [text, setText] = useState(''); diff --git a/src/pages/dateCourse/MakeCourse.tsx b/src/pages/dateCourse/MakeCourse.tsx index 9113021..a66bd3b 100644 --- a/src/pages/dateCourse/MakeCourse.tsx +++ b/src/pages/dateCourse/MakeCourse.tsx @@ -10,7 +10,7 @@ export default function MakeCourse() { return (
- navigate('/dateCourse')} /> + navigate('/dateCourse')} />
WithTime은 당신의 데이트 스타일과 상황을 분석해, From bc37640c9002fb8beb37391a5f7e9260a22c2040 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EC=97=B0=EC=A7=84?= Date: Fri, 1 Aug 2025 23:17:17 +0900 Subject: [PATCH 2/4] =?UTF-8?q?feat:=20=EB=A6=B0=ED=8A=B8=20=EC=84=A4?= =?UTF-8?q?=EC=A0=95=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/ci.yaml | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 .github/workflows/ci.yaml diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 0000000..e2d2e34 --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,39 @@ +name: CI + +on: [pull_request] + +jobs: + lint: + name: Lint + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v2 + with: + node-version: '18' + - name: Install pnpm + run: npm install -g pnpm + + - name: Install dependencies + run: pnpm install + + - name: Run lint + run: pnpm lint + build: + name: Build + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v2 + with: + node-version: '18' + - name: Install pnpm + run: npm install -g pnpm + + - name: Install dependencies + run: pnpm install + + - name: Run build + run: CI='false' pnpm build From af9f28942091b11d7f5eca7642c9e7406743a9e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EC=97=B0=EC=A7=84?= Date: Fri, 1 Aug 2025 23:23:09 +0900 Subject: [PATCH 3/4] =?UTF-8?q?fix:=20lint=20=EC=97=90=EB=9F=AC=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/common/modalProvider.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/components/common/modalProvider.tsx b/src/components/common/modalProvider.tsx index 9c20e01..579d80a 100644 --- a/src/components/common/modalProvider.tsx +++ b/src/components/common/modalProvider.tsx @@ -13,7 +13,6 @@ export const MODAL_TYPES = { ErrorModal: 'ErrorModal', DateCourseSearchFilterModal: 'DateCourseSearchFilterModal', SettingsModal: 'SettingsModal', //설정 모달 추가 - }; export const MODAL_COMPONENTS = { From 4ca62fff9996808ef45d61abc8c8f8a739540139 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EC=97=B0=EC=A7=84?= Date: Fri, 1 Aug 2025 23:33:05 +0900 Subject: [PATCH 4/4] =?UTF-8?q?feat:=20=EB=94=94=EC=8A=A4=EC=BD=94?= =?UTF-8?q?=EB=93=9C=20=EC=9B=B9=20=ED=9B=85=20=EC=B6=94=EA=B0=80=20?= =?UTF-8?q?=EB=B0=8F=20=ED=95=84=EC=9A=94=EC=97=86=EB=8A=94=20=EC=BD=94?= =?UTF-8?q?=EB=93=9C=20=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/main.yaml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 62ba503..94966cc 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -22,9 +22,6 @@ jobs: - name: Create .env file run: | echo "VITE_API_BASE_URL=${{ secrets.VITE_API_BASE_URL }}" >> .env - echo "VITE_S3_HOSTNAME=${{ secrets.VITE_S3_HOSTNAME }}" >> .env - echo "VITE_CHANNEL_TALK_PLUGIN_KEY=${{ secrets.VITE_CHANNEL_TALK_PLUGIN_KEY }}" >> .env - - name: Install dependencies run: pnpm install @@ -45,3 +42,11 @@ jobs: - name: Invalidate CloudFront Cache run: aws cloudfront create-invalidation --distribution-id ${{ secrets.AWS_DISTRIBUTION_ID }} --paths "/*" continue-on-error: true + + - name: Notify Discord + if: success() + run: | + curl -H "Content-Type: application/json" \ + -X POST \ + -d "{\"content\": \"✅ 배포가 완료되었습니다! 🎉 (브랜치: main)\"}" \ + ${{ secrets.DISCORD_WEBHOOK_URL }}