릴리스 체크리스트
본 문서는 공식적인 릴리스 게 이트 정책입니다.
릴리스 차단 조건
아래의 모든 조건이 충족되지 않으면 릴리스가 차단됩니다.
- 추적되는 소스/문서 파일에 병합 충돌 마커가 없습니다.
- 공개 문서에 대한 명명 규칙 검사가 통과합니다.
- 구성/빌드 무결성 검사가 통과합니다(
cmake -S . -B ...및cmake --build ... --target sima_neat). - 문서 링크 검사가 엄격한 모드에서 통과합니다(
DOCS_STRICT_LINKS=1). - 생성 단계 후 작업 트리가 깨끗합니다.
- 푸시 전과 릴리스 브랜치에서 해결되지 않은 충돌/정확성 오류가 없습니다.
- 충돌/정확성/스트레스/정적 분석 게이트가 릴리스 브랜치에서 녹색 상태입니다.
- 모델 아카이브 보안 게이트가 녹색 상태입니다(
model-archive-security-gate). - 설치 스모크 게이트가 녹색 상태입니다(
install-smoke). - 성능 회귀 게이트가 녹색 상태입니다(
perf-regression-gate). - 릴리스 태그에 대한 소크 안정성 테스트가 녹색 상태입니다(
soak-weekly). - 릴리스 후보에 대한 퍼즈 테스트가 녹색 상태입니다(
fuzz-nightly). - 제로 스킵 게이트가 엄격한 테스트 레인에 대해 녹색 상태입니다(
zero-skip-gate). - 필수 거버넌스 파일이 존재하고 유효합니다.
.github/CODEOWNERS.github/PULL_REQUEST_TEMPLATE.mdCONTRIBUTING.mddocs/develop-apps/contribute/release-checklist.md
- 릴리스 메타데이터가 완료되었습니다.
project(SimaNeat VERSION x.y.z)가CMakeLists.txt에 업데이트되었습니다.package-version및platform-version가 필요한 경우deps/manifest.json에 업데이트되었습니다.modelzoo-version이 검증된 Model Zoo 릴리스를 명시적으로 선택하며,platform-version과 다를 경우에만 해당됩니다. 생략하면 Model Zoo 해결은 기본적으로platform-version으로 설정됩니다.abi-version이deps/manifest.json에 있으며, 공개 C++ 유형 레이아웃 또는 내보낸 바이너리 계약이 호환되지 않게 변경될 때마다 증가합니다. 모든 C++ 애플리케이션 및 Python 바인딩은 해당 ABI를 사용하여 다시 빌드됩니다.CHANGELOG.md에## [x.y.z]항목이 있습니다.- 릴리스/태그 본문에 릴리스 노트가 준비되었습니다.
릴리스 흐름에서 "알려진 충돌 목록"은 허용되지 않습니다. 모든 충돌 회귀는 수정될 때까지 릴리스를 차단합니다.
필수 상태 검사
다음 검사는 릴리스 PR 및 릴리스 태그에서 필수적으로 수행됩니다.
repo-hygieneconfigure-build-sanitydocs-link-checkcrash-correctness-gatemodel-archive-security-gateinstall-smokeperf-regression-gatezero-skip-gatesoak-weekly(릴리스 태그에 필요)fuzz-nightly(릴리스 후보에 필요)stress-gateasan-ubsan-gaterelease-policy-check
이러한 검사는 다음에서 구현됩니다.
.github/workflows/release-gate.yml.github/workflows/test-crash-correctness-nightly.yml.github/workflows/model-archive-security.yml.github/workflows/install-smoke.yml.github/workflows/perf-regression.yml.github/workflows/zero-skip.yml.github/workflows/test-soak-weekly.yml.github/workflows/long-tests-weekly.yml.github/workflows/vulcan-fuzz-nightly.yml.github/workflows/test-stress-nightly.yml.github/workflows/sanitizers.yml
중복된 게이트 실행을 방지하기 위해 소유권 설정을 적용합니다.
main에 대한 릴리스가 아닌 PR은 자체 워크플로에서model-archive-security,install-smoke,perf-regression및zero-skip을 실행합니다.- 릴리스 PR(
release/*헤드 참조) 및 릴리스 참조(release/**,v*)는.github/workflows/release-gate.yml에서 동일한 단계를 실행합니다.