docs(plan): CI 라벨 정책/auto-pr 충돌 해결/ZIPP 검증 TDD 결과 기록
This commit is contained in:
@@ -243,6 +243,28 @@
|
||||
- [2025-11-14 09:45] 프리뷰 텍스트 매칭 불안정으로 테스트 실패 → `data-testid` 기반 안정화(`preview-seo-title` 등) 및 텍스트 매칭 지점 `Title:`→`Locale:`로 조정, 전면 그린
|
||||
- [2025-11-14 20:30] E2E 실패: 스킵링크 활성화 후 main 포커스 미이동 → Exporter JS에 스킵링크 클릭 핸들러 추가(`tabindex=-1` + `focus()`) → 로컬/CI 모두 그린
|
||||
|
||||
- [2025-11-14 23:45] Gitea 라벨 중복 생성/페이로드 오류 → 워크플로 수정
|
||||
- auto-label.yml/auto-pr.yml에서 라벨 생성 로직 제거(기존 레이블만 사용)
|
||||
- 라벨 지정 시 JSON 페이로드를 `{"labels":[id]}` 형태로 고정
|
||||
- 다중 동일 라벨 존재 시 가장 작은 ID를 선택하도록 정렬 적용
|
||||
- ci.yml 자동 머지 가드: PR 라벨 조회 후 `automerge` 존재시에만 머지
|
||||
|
||||
## CI 파이프라인 자동화 결과(automerge)
|
||||
- 브랜치 푸시 → auto-pr로 PR 생성 → auto-label로 `automerge` 부여(기존 레이블만) → ci.yml에서 테스트 그린 시 자동 머지
|
||||
- 안전장치: `automerge` 라벨 없으면 머지 스킵, PR 닫힘/드래프트 시 머지 스킵
|
||||
- 진단 로그: API status/라벨 JSON 일부/머지 응답 코드 출력으로 디버그 용이성 확보
|
||||
|
||||
## 충돌 해결 기록
|
||||
- [2025-11-14 23:50] `.gitea/workflows/auto-pr.yml` main 병합 충돌 해결
|
||||
- 충돌 마커 제거, 메시지 통일: "기존 'automerge' 라벨만, 생성 금지"
|
||||
- PR 번호 해석 재시도 루프 유지 및 라벨 ID 해석 로직 안정화
|
||||
|
||||
## ZIP 검증 TDD(자산/메타)
|
||||
- 통합/메타 테스트 추가: `zip.validation.integrated.test.ts`, `zip.validation.meta.test.ts`
|
||||
- exportPage + buildZip 통합: 자산 경로 재작성 및 포함, 하위 폴더 포함 검증
|
||||
- index.html 메타(SEO/OG/Analytics) 보존 스냅샷 검증
|
||||
- Hero 이미지 `loading="lazy"`, `decoding="async"`, canonical, 다크모드 토큰 존재 확인
|
||||
|
||||
## 의사결정 기록(ADR)
|
||||
- [YYYY-MM-DD] Next.js(App Router) 채택: 생태계/배포/서버리스/SEO 편의성.
|
||||
- [YYYY-MM-DD] Sheets 기본 방안: Apps Script 웹앱 템플릿(사용자 편의/트래픽 분산).
|
||||
|
||||
Reference in New Issue
Block a user