2.2 KiB
2.2 KiB
지속 검증
목표
외부 CI runner에서 동일 언어 테스트, 크로스 언어 테스트, proto 동기화 검사를 실행해 모든 사용 가능 구현체에 대한 신뢰도를 자동화한다.
단계
검증과 호환성
상태
진행 중
범위
- README의 테스트 명령 매트릭스를 반복 가능한 CI workflow로 만든다.
- Dart, Go, Kotlin, Python, TypeScript 동일 언어 테스트를 포함한다.
- 사용 가능한 크로스 언어 테스트 runner를 포함한다.
- proto 파일 변경 시 proto 동기화 검사를 포함한다.
- 기존 로컬 명령 및 프로젝트 test-matrix 스킬과 workflow를 맞춘다.
필수 기능
- 외부 CI 진입점을 확정한다. 변경 전까지는 마이그레이션된 로드맵 맥락상 Jenkins를 현재 후보로 유지한다.
- Dart unit test를 실행한다.
- Go unit test를 실행한다.
- Kotlin unit test를 실행한다.
- Python unit test를 실행한다.
- TypeScript check와 unit test를 실행한다.
- Dart, Go, Kotlin, Python, TypeScript 간 사용 가능한 크로스 언어 검사를 실행한다.
- Proto binding에 영향이 있을 때
tools/check_proto_sync.sh를 실행한다. - 실패를 확인하고 매트릭스를 로컬에서 다시 실행하는 방법을 문서화한다.
완료 기준
- 단일 CI job 또는 pipeline이 전체 지원 언어 및 크로스 언어 매트릭스를 검증할 수 있다.
- CI 실패가 실패한 언어 쌍 또는 동일 언어 package를 명확히 식별한다.
README.md의 로컬 명령이 자동화 workflow와 일치한다.
범위 제외
- 이 마일스톤에서 C# 또는 Swift 구현 작업을 추가하지 않는다.
- CI 편의를 위해 프로토콜 동작이나 package API를 변경하지 않는다.
- 모든 일반 개발 작업에서 전체 로드맵을 읽도록 요구하지 않는다.
작업 컨텍스트
가장 가까운 기존 자동화 맥락으로 agent-ops/skills/project/run-proto-socket-test-matrix/SKILL.md와 agent-ops/skills/project/run-proto-socket-test-matrix/scripts/run_matrix.sh를 사용한다. 사용자가 다른 runner를 선택하기 전까지 Jenkins를 현재 문서화된 후보로 본다.