ci: PR마다 lint·타입체크·단위·E2E 자동 실행 (#30) + E2E 셀렉터 하드닝#115
Merged
Conversation
- .github/workflows/ci.yml: pnpm 캐시 + Playwright(chromium), concurrency로 중복 실행 취소
CI=true에서 playwright가 프로덕션 빌드(build && start)로 E2E를 검증
- playwright.config: CI 리포터에 html 추가(실패 시 트레이스 포함 리포트 아티팩트)
- responsive.spec: #87로 추가된 접근성 라벨 사용 → 아이콘 클래스(.tabler-icon-menu-2) 대신
getByRole('button', name:'메뉴 열기')와 dialog 'site 메뉴'로 견고화
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
Owner
Author
✅ CI 실제 실행 검증 완료이 PR에서 워크플로우가 처음 돌았고 전부 통과했습니다.
참고 (비차단 경고)
이로써 #30(테스트 환경 구축)의 모든 항목이 완료됩니다. |
15 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
개요
이슈 #30의 마지막 선택 항목인 CI(GitHub Actions) 를 추가합니다. 이로써 #30(테스트 환경 구축)의 모든 항목이 완료됩니다. 더불어 직전 PR #114에서 트레이드오프로 남겼던 E2E 셀렉터를 #87(a11y) 반영분에 맞춰 견고화합니다.
변경 사항
.github/workflows/ci.yml—push(main)/pull_request(main)에서 단일 job 실행lint → tsc → unit(jest) → e2e(playwright)순차 검증concurrency로 중복 실행 취소CI=true가 자동 주입되어 playwright가 프로덕션 빌드(build && start) 로 E2E 검증playwright.config.ts— CI 리포터에html추가(아티팩트용)e2e/responsive.spec.ts—.tabler-icon-menu-2(아이콘 라이브러리 내부 클래스) →getByRole('button', { name: '메뉴 열기' })+dialog('사이트 메뉴'). #87로 접근성 라벨이 생겨 role 기반으로 전환 가능해짐비용
검증 (로컬)
pnpm --filter blog lint0 ·tsc --noEmitclean · 단위 72개 통과CI=true pnpm --filter blog test:e2e(프로덕션 빌드 경로) E2E 7개 통과, HTML 리포트 생성 확인🤖 Generated with Claude Code