# Milestone: 품질 게이트 자동화 ## 위치 - Roadmap: `agent-ops/roadmap/ROADMAP.md` - Phase: `agent-ops/roadmap/phase/validation-foundation/PHASE.md` ## 목표 반복 가능한 로컬 명령과 CI 기준으로 플러그인 변경의 기본 품질을 확인한다. Dart 분석, root unit test, example test, Android unit test, integration test를 변경 범위에 맞춰 실행할 수 있게 한다. ## 상태 [계획] ## 구현 잠금 - 상태: 잠금 - 결정 필요: 아래 체크리스트 - [ ] CI provider를 GitHub Actions로 둘지, 다른 내부 CI를 사용할지 결정한다 - [ ] Android emulator 기반 integration test를 PR 필수로 둘지, nightly/manual로 둘지 결정한다 ## 범위 - 로컬 검증 명령 표준화 - CI workflow 또는 내부 자동화 기준 정의 - Android SDK/Firebase 설정이 필요한 테스트의 실행 조건 분리 - 실패 시 어떤 레이어를 먼저 확인할지 문서화 ## 필수 기능 ### Epic: [local-checks] 로컬 검증 명령 개발자가 같은 명령으로 기본 품질을 확인하게 한다. - [ ] [root-analyze] root `flutter analyze` 기준을 유지한다 - [ ] [root-test] root `flutter test` 기준을 유지한다 - [ ] [example-checks] example `flutter analyze`와 `flutter test` 기준을 유지한다 - [ ] [android-test] Android unit test 실행 전제와 명령을 정리한다 ### Epic: [ci] 자동 품질 게이트 반복 가능한 CI 게이트를 만든다. - [ ] [workflow] 선택된 CI provider에 분석과 단위 테스트 workflow를 추가한다 - [ ] [android-sdk] Android unit test가 필요한 SDK 설정을 문서화하거나 자동화한다 - [ ] [optional-integration] emulator/integration test를 필수 또는 선택 job으로 분리한다 ## 완료 기준 - [ ] 문서에 있는 로컬 명령이 실제 repository 구조와 맞는다 - [ ] 기본 PR 검증에서 root 분석과 root test가 실행된다 - [ ] example 분석과 test가 기본 검증 범위에 포함된다 - [ ] Android SDK가 없을 때 실패 원인이 명확하게 드러난다 - [ ] 외부 Firebase/Mattermost 의존 테스트가 기본 PR 검증을 불안정하게 만들지 않는다 ## 완료 리뷰 - 상태: 없음 - 요청일: 없음 - 완료 근거: 없음 - 리뷰 필요: - [ ] 사용자가 완료 결과를 확인했다 - [ ] archive 이동을 승인했다 - 리뷰 코멘트: 없음 ## 범위 제외 - 실제 Firebase 프로젝트 secret 관리 체계 확정 - 릴리스 자동 배포 - Android runtime 기능 리팩터링 ## 작업 컨텍스트 - 관련 경로: `.github/**`, `README.md`, `example/README.md`, `android/**`, `example/android/**` - 표준선(선택): 외부 서비스가 필요한 검증은 기본 PR gate가 아니라 선택형 job 또는 manual smoke로 둔다 - 선행 작업: 프로젝트 운영 계약 정리, 독립 테스트 하네스 정착 - 후속 작업: Android 런타임 신뢰도 강화 - 확인 필요: CI provider와 emulator job 정책