Files
trex-core/.proofline/criteria/ac-0006.md
T

1.6 KiB

id, status
id status
ac-0006 active

stable SHA tag와 immutable digest 추적성

Criterion

모든 성공 게시 이미지는 전체 40자리 lowercase hexadecimal source commit에서 결정적으로 파생된 앞 12자리 lowercase SHA tag와 전체 commit 값을 담은 org.opencontainers.image.revision label을 가져야 한다. SHA tag는 source를 찾기 위한 stable selector이며 배포·rollback의 불변 정본은 registry가 반환한 sha256 digest다. v* tag event에서는 같은 loaded image에 해당 Git tag를 추가하지만 이동 가능한 latest tag는 게시하지 않아야 하며, workflow output 또는 summary는 GHCR image reference, 64-hex digest와 전체 source commit을 함께 기록해야 한다.

Verification

  • 성공 조건: main event는 source commit 앞 12자리 SHA tag를, v* event는 같은 loaded image의 SHA tag와 release tag를 생성한다. OCI revision과 summary/output의 image reference·sha256 digest·전체 source commit이 해당 실행 입력 및 push 결과와 일치한다.
  • 실패·경계 조건: source commit 형식 오류, SHA tag 파생 불일치, 빈/형식 오류 digest, source commit 불일치, release tag용 별도 build, latest tag 생성 또는 OCI revision 누락은 성공 output·summary를 만들 수 없다. digest 오류가 push 이후 발견되면 job은 nonzero로 종료한다.
  • 검사 방법: synthetic main/v* event와 유효·무효 commit/digest를 publication helper에 입력하는 단위 테스트, Docker image label inspection, workflow의 tag/summary 정적 검사 및 latest 생성 금지 회귀 검사를 실행한다.