nexo/agent-roadmap/phase/upstream-runtime/milestones/cicd-operations.md
toki d7e044cf5c update: project documentation and build scripts
- Add smoke-compose script for compose validation
- Update build, lint, test scripts
- Update agent roadmap and phase documentation
- Update project README and docs
2026-05-30 19:10:05 +09:00

3.6 KiB

Milestone: 내부 검증 파이프라인과 업데이트 대응 루프

위치

  • Roadmap: agent-roadmap/ROADMAP.md
  • Phase: agent-roadmap/phase/upstream-runtime/PHASE.md

목표

Mattermost server/webapp/push-proxy update와 nexo Flutter SDK 검증을 내부 검증 파이프라인과 운영 기록 루프로 연결한다. upstream 업데이트 또는 SDK 변경 후 깨진 지점을 빠르게 감지하고, 수정/보류/rollback 판단을 남길 수 있는 흐름을 만든다.

상태

[계획]

승격 조건

  • 없음

구현 잠금

  • 상태: 해제
  • 결정 필요:
    • 없음
  • 결정 완료:
    • 2026-05-27: upstream update를 쉽게 따라가기 위한 검증 자동화와 이슈 대응 루프를 프로젝트 방향성에 포함한다.
    • 2026-05-30: 현 단계에서는 외부 Jenkins, production-like 배포, secret 정책, CD 파이프라인을 요구하지 않고 내부 검증 파이프라인을 먼저 만든다.

범위

  • workspace bin/test, bin/lint, bin/build 기반 기본 검증
  • optional Go test/vet/build와 webapp/npm 검증
  • local/internal compose smoke, server ping, webapp 접근, push-proxy smoke
  • Flutter SDK Dart/integration/Android native test
  • upstream update 실패 분류, 수정/보류/rollback 판단 기록, release note 입력 흐름

기능

Epic: [ci] Internal verification

upstream-followable runtime과 nexo SDK를 같은 변경 흐름에서 검증한다.

  • [workspace-checks] 내부 검증에서 bin/test, bin/lint, bin/build를 실행하고 skip된 도구를 보고하는 기준을 만든다.
  • [core-checks] optional Go test/vet/build와 webapp 검증을 upstream update 또는 core 변경 시 실행하는 기준을 만든다.
  • [compose-smoke] compose로 core, webapp, db, push-proxy를 올리고 최소 smoke를 확인하는 local/internal 검증 흐름을 만든다.
  • [sdk-checks] Flutter SDK Dart test, client integration test, Android native unit test를 환경별로 나누어 실행하는 기준을 만든다.

Epic: [cd] Update response loop

업데이트와 검증 실패가 추적 가능한 기록으로 남도록 대응 루프를 만든다.

  • [update-branch] Mattermost server/webapp/push-proxy baseline update용 branch, diff, patch inventory 절차를 정리한다.
  • [issue-loop] upstream update 또는 SDK 변경 실패를 server, webapp, push-proxy, SDK contract, infra 중 하나로 분류하고 후속 기록으로 남기는 절차를 만든다.
  • [release-note] server/front/push-proxy baseline과 Flutter SDK compatibility를 한 번에 볼 수 있는 release note 기준을 만든다.

완료 리뷰

  • 상태: 없음
  • 요청일: 없음
  • 완료 근거: 없음
  • 리뷰 필요:
    • 사용자가 완료 결과를 확인했다
    • archive 이동을 승인했다
  • 리뷰 코멘트: 없음

범위 제외

  • 외부 Jenkins, production-like 배포, secret 관리 정책, CD 파이프라인 구현은 후속 Milestone 전까지 포함하지 않는다.
  • 외부 공개용 landing page나 marketing site는 포함하지 않는다.
  • billing, organization management, 별도 admin console은 포함하지 않는다.

작업 컨텍스트

  • 관련 경로: .github/, bin/, services/core/, services/core/compose/, packages/messaging_flutter/, apps/flutter-test/, docs/
  • 표준선: 먼저 local/internal verification loop를 만들고, 외부 runner나 CD는 배포 필요성이 생긴 뒤 별도 Milestone으로 확장한다.
  • 선행 작업: 업스트림 팔로잉 기준선
  • 후속 작업: 운영 runbook, release/versioning 고도화, production-like CD 검토
  • 확인 필요: 없음