File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1- # 커밋 메시지는 commit-msg 훅에서 검증됩니다
1+ echo "🔍 Running CI parity checks before commit..."
2+
3+ CHANGED_FILES=$(git diff --cached --name-only)
4+ RUN_WEB=0
5+ RUN_ADMIN=0
6+
7+ for FILE in $CHANGED_FILES; do
8+ case "$FILE" in
9+ apps/web/*)
10+ RUN_WEB=1
11+ ;;
12+ apps/admin/*)
13+ RUN_ADMIN=1
14+ ;;
15+ package.json|pnpm-lock.yaml|pnpm-workspace.yaml|turbo.json|.github/workflows/*)
16+ RUN_WEB=1
17+ RUN_ADMIN=1
18+ ;;
19+ esac
20+ done
21+
22+ if [ "$RUN_WEB" -eq 1 ]; then
23+ pnpm --filter @solid-connect/web run ci:check
24+ fi
25+
26+ if [ "$RUN_ADMIN" -eq 1 ]; then
27+ pnpm --filter @solid-connect/admin run lint
28+ pnpm --filter @solid-connect/admin run format
29+ fi
30+
31+ if [ "$RUN_WEB" -eq 0 ] && [ "$RUN_ADMIN" -eq 0 ]; then
32+ echo "ℹ️ No CI-targeted changes detected; skipping parity checks."
33+ fi
34+
35+ echo "✅ CI parity checks passed!"
Original file line number Diff line number Diff line change 1- echo "🔍 Running type check before push..."
2- pnpm run typecheck
1+ echo "🏗️ Running CI parity builds before push..."
32
4- echo "✅ All checks passed!"
3+ UPSTREAM=$(git rev-parse --abbrev-ref --symbolic-full-name "@{upstream}" 2>/dev/null || true)
4+
5+ if [ -n "$UPSTREAM" ]; then
6+ CHANGED_FILES=$(git diff --name-only "$UPSTREAM"...HEAD)
7+ else
8+ BASE_BRANCH="origin/main"
9+ MERGE_BASE=$(git merge-base HEAD "$BASE_BRANCH" 2>/dev/null || true)
10+ if [ -n "$MERGE_BASE" ]; then
11+ CHANGED_FILES=$(git diff --name-only "$MERGE_BASE"...HEAD)
12+ else
13+ CHANGED_FILES=$(git diff --name-only HEAD~1..HEAD)
14+ fi
15+ fi
16+
17+ RUN_WEB=0
18+ RUN_ADMIN=0
19+
20+ for FILE in $CHANGED_FILES; do
21+ case "$FILE" in
22+ apps/web/*)
23+ RUN_WEB=1
24+ ;;
25+ apps/admin/*)
26+ RUN_ADMIN=1
27+ ;;
28+ package.json|pnpm-lock.yaml|pnpm-workspace.yaml|turbo.json|.github/workflows/*)
29+ RUN_WEB=1
30+ RUN_ADMIN=1
31+ ;;
32+ esac
33+ done
34+
35+ if [ "$RUN_WEB" -eq 1 ]; then
36+ NODE_ENV=production pnpm --filter @solid-connect/web run build
37+ fi
38+
39+ if [ "$RUN_ADMIN" -eq 1 ]; then
40+ NODE_ENV=production pnpm --filter @solid-connect/admin run build
41+ fi
42+
43+ if [ "$RUN_WEB" -eq 0 ] && [ "$RUN_ADMIN" -eq 0 ]; then
44+ echo "ℹ️ No CI-targeted changes detected; skipping parity builds."
45+ fi
46+
47+ echo "✅ CI parity builds passed!"
Original file line number Diff line number Diff line change @@ -81,7 +81,18 @@ feat : 로그인 업데이트 # ❌ 콜론 앞에 공백
8181
8282#### pre-commit
8383
84- 현재는 비활성화 상태입니다. 필요시 린트 검사 등을 추가할 수 있습니다.
84+ - 커밋 전 GitHub CI 품질 검사와 동일한 체크를 실행합니다.
85+ - 실행 명령:
86+ - ` pnpm --filter @solid-connect/web run ci:check `
87+ - ` pnpm --filter @solid-connect/admin run lint `
88+ - ` pnpm --filter @solid-connect/admin run format `
89+
90+ #### pre-push
91+
92+ - 푸시 전 GitHub CI 빌드 단계와 동일한 빌드를 실행합니다.
93+ - 실행 명령:
94+ - ` pnpm --filter @solid-connect/web run build `
95+ - ` pnpm --filter @solid-connect/admin run build `
8596
8697### Hooks가 동작하지 않는 경우
8798
You can’t perform that action at this time.
0 commit comments