posts(ci): Vitest 프로젝트 분리 글을 다듬어 9월 18일 예약 발행 - #433
Conversation
- 들어가며: 표를 로컬 한 줄로 줄이고 CI 25초는 문장으로, 결과 요약은 걷어낸다 - environment 합산이 경과 시간보다 큰 이유를 파일별 합산으로 다시 설명한다 - "코어가 남는다"를 절약 ÷ 워커 수 설명으로 바꾼다 — 10으로 나누면 노이즈 아래, 4로 나누면 25초. 근거 없던 계산대 비유는 뺀다 - 샤딩 절을 PR #4103의 diff와 본문 측정값으로 다시 배열한다 — matrix 발췌, 세 방식(329/497/296초) 표와 실행 링크, 2코어 ARM 러너, 판단 기준 셋 - 후속 PR #3816 합산 수치와 core 빌드 레이스 여담을 뺀다 - 배운 점을 없애고 마치며를 체크리스트 여섯 개로 바꾼다 - 어휘: 벽시계→경과 시간, 측정대·비유·대구·예고 틀 제거 - 날짜 정정: 제안은 한 달 뒤, 닫힌 것은 승인 몇 시간 뒤
- 반복 측정 편차 옆의 괄호(97.5초와 117.8초)를 뺀다 — 전/후 값이지 반복값이 아니다 - 샤딩 멈춤 기준에 merge queue 예외를 잇는다 — node 224초 바닥 때문에 더 쪼개도 적다 - Vitest 5 진단 줄은 environment 비중이 클 때만 찍힌다고 좁힌다 - 워커 수 "10개" → "열 개 가까이"(기본값 CPU−1), 체크리스트의 "코어 수" → "워커 수" - CI 표의 ASCII 하이픈을 en dash·마이너스로 되돌려 다른 표와 맞춘다 - node environment 합계의 "이전" 칸을 약 34초(121 × 283ms)로 채운다 - 해시 3분할 실행 시간이 표와 중복되던 문장을 표 참조로 접는다
- Deploy `Run pnpm test` 머지 전후 9회를 jobs API로 다시 뽑는다 — 295.3 → 269.4초, −25.9초. 글의 범위(290–311 / 265–277)는 추출값(290–302 / 214–286)으로 바꾸고, 머지 커밋 실행이 취소돼 다음 커밋이 첫 실행인 점과 넓힌 창(22~26초)을 출처에 적는다 - 샤딩 표 3행을 job 전체 시간(271/292/224)에서 스텝 시간(229/247/166)으로 고쳐 1·2행과 기준을 맞춘다 — 476 = 229 + 247 - 출처를 모르는 214.5초·55.5초 문장을 뺀다 - 로컬 반복 측정은 값이 남아 있지 않아 "20초 안팎으로 흔들렸다"로만 적는다 - 파일당 비용 표에 "파일 하나만 돌렸을 때"를, 90~110초에 요약 줄 출처를 단다 - JSON 리포터 덤프 명령과 비교할 필드를 넣는다 - 4 vCPU 첫 등장에 PR CI는 다른 러너임을, 진단 줄에 vitest.dev 링크를 단다
🔍 Cloudflare 프리뷰
브랜치 프리뷰 주소는 커밋마다 바뀌지 않으니 리뷰 내내 그대로 쓰시면 됩니다. 프로덕션( |
리뷰 요약
글이 PR은 순수 편집(트리밍·용어 통일·수치 검증)이라 새로 도입된 구조적 결함은 없습니다. 아래는 확신도가 낮은 참고 사항입니다. 낮은 심각도 · 확신도 낮음 (2건)[low] 로컬에선 그대로인데 CI에서만 25초 빨라졌습니다.md:198 — 기준 2. 근거
[low] 로컬에선 그대로인데 CI에서만 25초 빨라졌습니다.md:166-172 — 기준 2. 근거
확인했으나 문제 없음
확인하지 못한 범위: |
형제 글(캐시 글)과 같은 1200×630 카드 — 로컬·CI 최적화 전후 막대 넷. 색은 blog-preset.ts 다크 토큰(paper.50/100, ink.950/600/200, accent.500, moss.600), 글꼴은 Pretendard + JetBrains Mono, satori + sharp로 렌더. 자동 생성 /og/ 카드 대신 이 파일을 thumbnail로 잇는다.
- "wall time은 그대로였다"가 표의 97.5 → 117.8초와 반대 방향이라, 20초 늘어난 사실을 먼저 쓰고 노이즈 범위라는 판단을 뒤에 붙인다 - node 잡 224초 = 스텝 166초 + checkout·setup + node 잡에서만 도는 저장소 동기화 검사. ui 잡 오버헤드(42·45초)와 다른 이유를 적는다
무엇
posts/ci/로컬에선 그대로인데 CI에서만 25초 빨라졌습니다.md를 다듬고 2026-09-18 예약 발행(status: scheduled)으로 올립니다. 배포 cron(KST 09:00)이 그날 공개합니다.바뀐 것
설명·구조
측정값 검증 — 제목의 25초를 GitHub jobs API로 다시 뽑아 대조했다
Run pnpm test머지 전후 9회: 295.3 → 269.4초 (−25.9초). 창을 20회·전체(7/97/15)로 넓혀도 2226초. 글의 범위 숫자를 추출값으로 교체재현성
testResults[].name,assertionResults[].fullName)확인
pnpm lint:posts에러·경고 0 (이 글 기준)