54 lines
2.2 KiB
JSON
54 lines
2.2 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "ca-skeleton-frontend/build-manifest.schema.json",
|
|
"title": "artifacts/release/build-manifest.json",
|
|
"description": "pnpm build 산출물. 세 branch 가 각각 다른 필드 집합을 제안하던 것을 합집합으로 확정한다 — bootstrap(FE-NFR-C04 build context), build-bundle(SLSA provenance), release-cache(release coherence 입력). 필드 추가·rename 은 Schema Owner 단독 결정이며 소비 branch 는 imports pin 으로 따라온다.",
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"required": ["buildId", "commit", "builtAt", "buildContext", "assetManifestHash"],
|
|
"properties": {
|
|
"buildId": {
|
|
"type": "string",
|
|
"description": "release 식별자. build-bundle D7 provenance 최소선."
|
|
},
|
|
"commit": {
|
|
"type": "string",
|
|
"description": "빌드 대상 commit sha. build-bundle D7."
|
|
},
|
|
"builtAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"description": "빌드 완료 시각(UTC ISO-8601)."
|
|
},
|
|
"buildContext": {
|
|
"type": "object",
|
|
"description": "FE-NFR-C04. hub §14.1 'context 가 없는 숫자는 evidence 로 인정하지 않는다' 를 만족시키는 최소 build context. bootstrap 이 제안한 nodeVersion/pnpmVersion/runnerImage 를 한 객체로 묶었다.",
|
|
"required": ["nodeVersion", "packageManagerVersion", "runnerImage"],
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"nodeVersion": { "type": "string" },
|
|
"packageManagerVersion": { "type": "string" },
|
|
"runnerImage": { "type": "string" }
|
|
}
|
|
},
|
|
"assetManifestHash": {
|
|
"type": "string",
|
|
"description": "hashed asset set 의 집계 해시. release-cache 가 release coherence 판정 입력으로 소비한다."
|
|
},
|
|
"assets": {
|
|
"type": "array",
|
|
"description": "산출된 hashed static asset 목록.",
|
|
"items": {
|
|
"type": "object",
|
|
"required": ["path", "contentHash", "bytes"],
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"path": { "type": "string" },
|
|
"contentHash": { "type": "string" },
|
|
"bytes": { "type": "integer", "minimum": 0 }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|