Skip to content

Commit 7678e11

Browse files
feat: 로그인 및 회원가입 유효성 검사 및 스타일링 (#4)
* feat: 로그아웃 즉시 메인화면으로 이동 * feat: 회원가입 - 이메일, 닉네임 중복 검사 기능 * feat: 로그인 정보 불일치 시 메시지 나타남 * style: 로그인, 회원가입 스타일링 * feat: 로그인&회원가입 페이지에 메인화면으로 돌아가기 추가 * 임시 * fix: YAML 문법 오류 수장 * style: 코드 포맷팅 적용 * fix: GitHub Actions 워크플로우 설정 오류 수정 * style: 코드 포맷팅 적용
1 parent 50579a2 commit 7678e11

112 files changed

Lines changed: 7628 additions & 4786 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/ci.yml

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@ name: CI - Code Quality Check
33
on:
44
push:
55
branches:
6-
- 'feat/**'
6+
- "feat/**"
7+
78
pull_request:
89
branches:
910
- develop
@@ -32,18 +33,18 @@ jobs:
3233

3334
# 2. pnpm 설정
3435
- name: Setup pnpm
35-
uses: pnpm.action-setup@v4
36+
uses: pnpm/action-setup@v4
3637

3738
# 3. Node.js 설정
3839
- name: Setup Node.js ${{ matrix.node-version }}
3940
uses: actions/setup-node@v4
4041
with:
4142
node-version: ${{ matrix.node-version }}
42-
cache: 'pnpm'
43+
cache: "pnpm"
4344

4445
# 4. 의존성 설치
4546
- name: Install dependencies
46-
run: pnpm install
47+
run: pnpm install --frozen-lockfile
4748

4849
# 5. 코드 포맷팅 체크
4950
- name: Check code formatting
@@ -62,9 +63,10 @@ jobs:
6263
run: pnpm run build
6364
env:
6465
# 빌드 테스트용 더미 환경변수
65-
NEXT_PUBLIC_SUPABASE_URL: 'https://dummy.supabase.co'
66-
NEXT_PUBLIC_SUPABASE_ANON_KEY: 'dummy-key-for-build-test'
66+
NEXT_PUBLIC_SUPABASE_URL: "https://dummy.supabase.co"
67+
NEXT_PUBLIC_SUPABASE_ANON_KEY: "dummy-key-for-build-test"
68+
6769

6870
# 9. 성공 시 체크마크 출력
6971
- name: All checks passed
70-
run: echo "모든 코드 품질 검사를 통과했습니다!"
72+
run: echo "모든 코드 품질 검사를 통과했습니다!"

.github/workflows/develop.yml

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
name: Develop - Integration Test
2+
3+
on:
4+
push:
5+
branches:
6+
- develop
7+
pull_request:
8+
branches:
9+
- develop
10+
11+
# 동시 실행 제한
12+
concurrency:
13+
group: ${{ github.workflow }}-${{ github.ref }}
14+
cancel-in-progress: true
15+
16+
env:
17+
# Develop 환경 변수 (GitHub Secrets 사용)
18+
NEXT_PUBLIC_SUPABASE_URL: ${{ secrets.DEV_SUPABASE_URL }}
19+
NEXT_PUBLIC_SUPABASE_ANON_KEY: ${{ secrets.DEV_SUPABASE_ANON_KEY }}
20+
21+
jobs:
22+
integration-test:
23+
name: Integration Test
24+
runs-on: ubuntu-latest
25+
26+
strategy:
27+
matrix:
28+
node-version: [20.x]
29+
30+
steps:
31+
# 1. 코드 체크아웃
32+
- name: Checkout repository
33+
uses: actions/checkout@v4
34+
35+
# 2. pnpm 설정
36+
- name: Setup pnpm
37+
uses: pnpm/action-setup@v4
38+
39+
# 3. Node.js 설정
40+
- name: Setup Node.js ${{ matrix.node-version}}
41+
uses: actions/setup-node@v4
42+
with:
43+
node-version: ${{ matrix.node-version }}
44+
cache: "pnpm"
45+
46+
# 4. 의존성 설치
47+
- name: Install dependencies
48+
run: pnpm install --frozen-lockfile
49+
50+
# 5. 코드 품질 검사
51+
- name: Code formatting check
52+
run: pnpm run format:check
53+
54+
- name: Lint check
55+
run: pnpm run lint
56+
57+
- name: Type check
58+
run: pnpm run type-check
59+
60+
# 6. 실제 환경변수로 빌드 테스트
61+
- name: Build for develop
62+
run: pnpm run build
63+
64+
# # 7. Jest 테스트 (나중에 활성화)
65+
# - name: Run Tests
66+
# run: pnpm run test
67+
68+
# 8. E2E 테스트 (Playwright - 나중에 활성화)
69+
# - name: E2E Tests
70+
# run: pnpm exec playwright test
71+
72+
# 9. 빌드 결과물 업로드 (디버깅용)
73+
- name: Upload build artifacts
74+
uses: actions/upload-artifact@v4
75+
if: failure()
76+
with:
77+
name: build-output
78+
path: .next/
79+
retention-days: 1
80+
81+
# 10. 성공 알림
82+
- name: Integration test passed
83+
run: echo "Develop 브랜치 통합 테스트 완료!"

.github/workflows/production.yml

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,12 @@ jobs:
2929

3030
- name: Setup pnpm
3131
uses: pnpm/action-setup@v4
32-
with:
33-
version: 9.2.0
3432

3533
- name: Setup Node.js
3634
uses: actions/setup-node@v4
3735
with:
3836
node-version: 20.x
39-
cache: 'pnpm'
37+
cache: "pnpm"
4038

4139
- name: Install dependencies
4240
run: pnpm install --frozen-lockfile
@@ -83,19 +81,21 @@ jobs:
8381
uses: actions/checkout@v4
8482

8583
- name: Setup pnpm
86-
uses: pnpm/actions-setup@v4
84+
uses: pnpm/action-setup@v4
8785

8886
- name: Setup Node.js
8987
uses: actions/setup-node@v4
9088
with:
9189
node-version: 20.x
92-
cache: 'pnpm'
93-
90+
cache: "pnpm"
9491
- name: Install dependencies
9592
run: pnpm install --frozen-lockfile
9693

9794
- name: Build for production
9895
run: pnpm run build
96+
env:
97+
NEXT_PUBLIC_SUPABASE_URL: ${{ secrets.PROD_SUPABASE_URL }}
98+
NEXT_PUBLIC_SUPABASE_ANON_KEY: ${{ secrets.PROD_SUPABASE_ANON_KEY }}
9999

100100
# Vercel 배포 예시 (사용하는 플랫폼에 맞게 수정)
101101
- name: Deploy to Vercel
@@ -104,11 +104,12 @@ jobs:
104104
vercel-token: ${{ secrets.VERCEL_TOKEN }} # TODO: 나중에 배포 후 입력
105105
vercel-org-id: ${{ secrets.VERCEL_ORG_ID }} # TODO: 나중에 배포 후 입력
106106
vercel-project-id: ${{ secrets.VERCEL_PROJECT_ID }} # TODO: 나중에 배포 후 입력
107-
vercel-args: '--prod'
107+
vercel-args: "--prod"
108+
108109

109110
# 배포 성공 알림 (선택사항)
110111
- name: Deployment success notification
111112
run: |
112113
echo "프로덕션 배포 완료!"
113114
echo "배포 시간: ${date}"
114-
echo "커밋: ${{ github.sha}}"
115+
echo "커밋: ${{ github.sha}}"

package.json

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,14 @@
66
"dev": "next dev --turbopack",
77
"build": "next build --turbopack",
88
"start": "next start",
9-
"lint": "eslint"
9+
"lint": "eslint",
10+
"lint:fix": "eslint --fix",
11+
"type-check": "tsc --noEmit",
12+
"test": "jest",
13+
"test:watch": "jest --watch",
14+
"test:coverage": "jest --coverage",
15+
"format": "prettier --write .",
16+
"format:check": "prettier --check ."
1017
},
1118
"dependencies": {
1219
"@hookform/resolvers": "^5.2.1",

0 commit comments

Comments
 (0)