import { mkdir } from "node:fs/promises"; import { writeValidatedJsonArtifact } from "./lib/validated-json-artifact.ts"; import { localEvidenceAssessmentArtifactSchema } from "./contracts/release-artifacts.ts"; import { createLocalEvidenceAssessment } from "./lib/local-release-evidence.ts"; import { createReleaseCandidateManifest, LOCAL_EVIDENCE_ASSESSMENT_PATH, RELEASE_CANDIDATE_MANIFEST_PATH, releaseCandidateManifestSchema, } from "./lib/release-candidate.ts"; const assessment = await createLocalEvidenceAssessment(); await mkdir("artifacts/security", { recursive: true }); await writeValidatedJsonArtifact({ path: LOCAL_EVIDENCE_ASSESSMENT_PATH, schema: localEvidenceAssessmentArtifactSchema, value: assessment, }); const manifest = await createReleaseCandidateManifest(); await mkdir("artifacts/release", { recursive: true }); await writeValidatedJsonArtifact({ path: RELEASE_CANDIDATE_MANIFEST_PATH, schema: releaseCandidateManifestSchema, value: manifest, }); process.stdout.write( `Immutable release candidate: ${manifest.distSha256} (${manifest.files.length} files)\n`, );