Skip to content

๐ŸŸ [P1] fix(infra): CI workflow missing typecheck and test jobsย #74

Description

@teddylee777

์ปจํ…์ŠคํŠธ ๋ธ”๋ก

Key Value
Category infrastructure
Checklist ISS-INFRA-07 โ€” No CI workflow to lint/typecheck/test on push or PR
Priority P1 ๐ŸŸ 
Scan Date 2026-04-16
Flagged By @infra-explorer

์š”์•ฝ

  • WHAT: .github/workflows/ci.yml์— format ์ฒดํฌ, lint, spell ์ฒดํฌ๋งŒ ์กด์žฌ โ€” TypeScript ํƒ€์ž… ์ฒดํฌ(tsc --noEmit)์™€ test ์‹คํ–‰(pnpm test) job ๋ˆ„๋ฝ
  • WHY: ํƒ€์ž… ์—๋Ÿฌ์™€ ํ…Œ์ŠคํŠธ ์‹คํŒจ๊ฐ€ PR ๋จธ์ง€๊นŒ์ง€ ๊ฒ€์ถœ๋˜์ง€ ์•Š์Œ. ๊ธฐ์กด ์ด์Šˆ ๐ŸŸ [P1] fix(config): noImplicitAny:false overrides strict:true in tsconfigย #60(noImplicitAny:false)์ด ์•„์ง ์—ด๋ฆฐ ์ƒํƒœ์—์„œ ํƒ€์ž… ์ด์Šˆ๊ฐ€ CI๋กœ ์ฐจ๋‹จ๋˜์ง€๋„ ์•Š์Œ
  • WHERE: .github/workflows/ci.yml
  • SEVERITY: HIGH โ€” ํ’ˆ์งˆ ๊ฒŒ์ดํŠธ ๋ถ€์žฌ, PR ๋ฆฌ๋ทฐ์–ด์— ์ „์ ์œผ๋กœ ์˜์กด

Evidence

# File Line Finding Flagged By Confidence
1 .github/workflows/ci.yml 1-75 jobs ํ‚ค ์•„๋ž˜ format, lint, readme-spelling, check-spelling๋งŒ ์ •์˜ โ€” typecheck, test ์—†์Œ @infra-explorer High
2 frontend/package.json โ€” pnpm test ์Šคํฌ๋ฆฝํŠธ ์กด์žฌ ์—ฌ๋ถ€ ํ™•์ธ ํ•„์š” (vitest ์„ค์ • ๊ฐ€์ •) @infra-explorer Medium
3 frontend/tsconfig.json โ€” TypeScript ์„ค์ •์€ ์กด์žฌ, ๊ธฐ์กด ์ด์Šˆ #60์œผ๋กœ noImplicitAny ๋ฌธ์ œ ์žˆ์Œ โ€” CI ๊ฒ€์ฆ ์—†์ด๋Š” ๋ˆ„์  @infra-explorer High

์˜ํ–ฅ ๋ถ„์„

์˜ํ–ฅ ๋ฒ”์œ„

  • ๋ชจ๋“  PR ๋ณ‘ํ•ฉ ํ’ˆ์งˆ
  • ๋ฆด๋ฆฌ์Šค ์‹œ์ ์—์•ผ ํƒ€์ž… ์—๋Ÿฌ ๋ฐœ๊ฒฌ (๋กœ์ปฌ์—์„œ ์‹คํ–‰ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ)
  • ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๊ฐ€ ์ž‘์„ฑ๋˜์–ด๋„ ์‹คํ–‰๋˜์ง€ ์•Š๋Š” dead test ๋ฐœ์ƒ ์œ„ํ—˜

์žฅ์•  ์‹œ๋‚˜๋ฆฌ์˜ค

  1. ๊ธฐ์—ฌ์ž๊ฐ€ TypeScript ํƒ€์ž… ์—๋Ÿฌ๊ฐ€ ์žˆ๋Š” ์ฝ”๋“œ๋ฅผ PR๋กœ ์ œ์ถœ
  2. CI๋Š” format/lint/spell๋งŒ ํ†ต๊ณผ โ†’ green check
  3. ๋ฆฌ๋ทฐ์–ด๊ฐ€ tsc ๋กœ์ปฌ ์‹คํ–‰์„ ์žŠ์Œ
  4. ๋จธ์ง€ ํ›„ ํ”„๋กœ๋•์…˜ ๋นŒ๋“œ์—์„œ tsc ์‹คํŒจ (Next.js build๊ฐ€ tsc๋ฅผ ํ˜ธ์ถœ) โ†’ ๋ฐฐํฌ ํŒŒ์ดํ”„๋ผ์ธ ์ „์ฒด ์ •์ง€

๊ธด๊ธ‰๋„

  • ๊ธฐ์กด ์ด์Šˆ #60๊ณผ ๋ˆ„์  โ€” ํƒ€์ž… ์•ˆ์ „์„ฑ ์ „๋ฐ˜์ด CI๋กœ ์ง€์ผœ์ง€์ง€ ์•Š์Œ
  • ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ๋กœ์„œ ์™ธ๋ถ€ ๊ธฐ์—ฌ ํ’ˆ์งˆ ๋ณด์žฅ ํ•„์ˆ˜

์ œ์•ˆ ํ•ด๊ฒฐ ๋ฐฉ์•ˆ

์ ‘๊ทผ ๋ฐฉ๋ฒ•

.github/workflows/ci.yml์— ๋‘ job ์ถ”๊ฐ€:

typecheck:
  name: TypeScript Type Check
  runs-on: ubuntu-latest
  steps:
    - uses: actions/checkout@v4
    - uses: pnpm/action-setup@v4
    - uses: actions/setup-node@v4
      with:
        node-version: 20
        cache: pnpm
        cache-dependency-path: frontend/pnpm-lock.yaml
    - run: pnpm install --frozen-lockfile
      working-directory: frontend
    - run: pnpm tsc --noEmit
      working-directory: frontend

test:
  name: Unit Tests
  runs-on: ubuntu-latest
  steps:
    - uses: actions/checkout@v4
    - uses: pnpm/action-setup@v4
    - uses: actions/setup-node@v4
      with:
        node-version: 20
        cache: pnpm
        cache-dependency-path: frontend/pnpm-lock.yaml
    - run: pnpm install --frozen-lockfile
      working-directory: frontend
    - run: pnpm test
      working-directory: frontend

ํ…Œ์ŠคํŠธ๊ฐ€ ์•„์ง ์—†๋‹ค๋ฉด ์ตœ์†Œ vitest ํ™˜๊ฒฝ ๊ตฌ์ถ•๊ณผ ์Šค๋ชจํฌ ํ…Œ์ŠคํŠธ๋ถ€ํ„ฐ.

๋ธŒ๋žœ์น˜ ๋ณดํ˜ธ ๊ทœ์น™์—์„œ typecheck์™€ test๋ฅผ required status check๋กœ ์„ค์ •.

๋Œ€์•ˆ

  • build job๋งŒ ์ถ”๊ฐ€: pnpm build๊ฐ€ tsc๋ฅผ ํ˜ธ์ถœํ•˜์ง€๋งŒ ๋А๋ฆฌ๊ณ  ๋น„์šฉ์ด ๋” ํผ โ†’ tsc --noEmit์ด ๋” ๊ฒฝ์ œ์ 
  • turborepo remote cache: CI ์‹œ๊ฐ„ ๋‹จ์ถ• โ€” ๋ณ„๋„ ์Šค์ฝ”ํ”„

์ˆ˜์šฉ ๊ธฐ์ค€

  • .github/workflows/ci.yml์— typecheck job ์ถ”๊ฐ€, pnpm tsc --noEmit ์‹คํ–‰
  • test job ์ถ”๊ฐ€, ํ…Œ์ŠคํŠธ๊ฐ€ ์—†๋‹ค๋ฉด ์ตœ์†Œ 1๊ฐœ์˜ ์Šค๋ชจํฌ ํ…Œ์ŠคํŠธ ์ œ๊ณต
  • ๋ธŒ๋žœ์น˜ ๋ณดํ˜ธ ์„ค์ • (README์— required check ๋ช…์‹œ)
  • PR์—์„œ ํƒ€์ž… ์—๋Ÿฌ ์˜๋„์  ์‚ฝ์ž… ์‹œ CI ์‹คํŒจ
  • ํ…Œ์ŠคํŠธ ์ปค๋งจ๋“œ: CI ์ƒ์—์„œ workflow ์ž๋™ ์‹คํ–‰

์ฐธ์กฐ

์žฌํ˜„ ๋ฐฉ๋ฒ•

์‚ฌ์ „ ์กฐ๊ฑด

  • ์ €์žฅ์†Œ์— PR ์ƒ์„ฑ ๊ถŒํ•œ

๋‹จ๊ณ„

  1. ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ ํ›„ ํƒ€์ž… ์—๋Ÿฌ ์˜๋„์  ์‚ฝ์ž… (์˜ˆ: const x: number = \"string\";)
  2. PR ์ƒ์„ฑ
  3. CI ์ƒํƒœ ํ™•์ธ

๊ธฐ๋Œ€ ๊ฒฐ๊ณผ

CI ์‹คํŒจ (typecheck job)

์‹ค์ œ ๊ฒฐ๊ณผ

CI ์„ฑ๊ณต โ€” ํƒ€์ž… ์—๋Ÿฌ ๊ฒ€์ถœ ๋ชปํ•จ

๊ด€๋ จ ์ฝ”๋“œ ์ปจํ…์ŠคํŠธ

File Role Relevance
.github/workflows/ci.yml CI ํŒŒ์ดํ”„๋ผ์ธ ์ˆ˜์ • ๋Œ€์ƒ
frontend/package.json ์Šคํฌ๋ฆฝํŠธ ์—”ํŠธ๋ฆฌ test ์Šคํฌ๋ฆฝํŠธ ํ™•์ธ/์ถ”๊ฐ€
frontend/tsconfig.json TypeScript ์„ค์ • ๊ธฐ์กด ์ด์Šˆ #60๊ณผ ์—ฐ๊ณ„

Detected by oh-my-braincrew `omb:issue` scan
Category: infrastructure | Scan date: 2026-04-16
`omb-issue-scan category=infrastructure checklist=ISS-INFRA-07`

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions