mattermost-push-plugin/agent-ops/roadmap/phase/validation-foundation/milestones/quality-gates.md

2.9 KiB

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 analyzeflutter 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 정책