fix: unblock scripts typecheck closeout
Split stale desired-state fixture commits and extend the aggregate scripts contract timeout so check --scripts-typecheck can close cleanly.
This commit is contained in:
@@ -4,7 +4,8 @@ import { rootPath } from "./src/config";
|
||||
|
||||
type JsonRecord = Record<string, unknown>;
|
||||
|
||||
const verifiedCommit = "b5486a61ab0aa6c227366a95d1afa68281584359";
|
||||
const verifiedDecisionCenterCommit = "b5486a61ab0aa6c227366a95d1afa68281584359";
|
||||
const verifiedFrontendCommit = "7b9aa4261c216586954cdf926ce2c914a9db5ae3";
|
||||
|
||||
function assertCondition(condition: unknown, message: string, detail: unknown = {}): void {
|
||||
if (!condition) throw new Error(`${message}: ${JSON.stringify(detail)}`);
|
||||
@@ -41,7 +42,7 @@ function runDeployPlan(environment: "dev" | "prod", serviceId: string): JsonReco
|
||||
"--service",
|
||||
serviceId,
|
||||
"--commit",
|
||||
verifiedCommit,
|
||||
verifiedDecisionCenterCommit,
|
||||
"--dry-run",
|
||||
], {
|
||||
cwd: rootPath(),
|
||||
@@ -59,7 +60,7 @@ function runDeployPlan(environment: "dev" | "prod", serviceId: string): JsonReco
|
||||
|
||||
function assertNoBuildK3sDecisionCenter(environment: "dev" | "prod", expectedDeployment: string, expectedNamespace: string): void {
|
||||
const service = findService(environment, "decision-center");
|
||||
assertCondition(service.commitId === verifiedCommit, `${environment}/decision-center desired commit must match verified live commit`, service);
|
||||
assertCondition(service.commitId === verifiedDecisionCenterCommit, `${environment}/decision-center desired commit must match verified live commit`, service);
|
||||
|
||||
const plan = runDeployPlan(environment, "decision-center");
|
||||
const registry = asRecord(plan.registry, `${environment}/decision-center registry`);
|
||||
@@ -67,11 +68,11 @@ function assertNoBuildK3sDecisionCenter(environment: "dev" | "prod", expectedDep
|
||||
const target = asRecord(plan.target, `${environment}/decision-center target`);
|
||||
|
||||
assertCondition(plan.ok === true && plan.dryRun === true && plan.mutation === false, `${environment}/decision-center dry-run must be non-mutating`, plan);
|
||||
assertCondition(plan.commit === verifiedCommit, `${environment}/decision-center dry-run commit mismatch`, plan);
|
||||
assertCondition(plan.commit === verifiedDecisionCenterCommit, `${environment}/decision-center dry-run commit mismatch`, plan);
|
||||
assertCondition(plan.serviceId === "decision-center", `${environment}/decision-center service id mismatch`, plan);
|
||||
assertCondition(plan.sourceImage === `127.0.0.1:5000/unidesk/decision-center:${verifiedCommit}`, `${environment}/decision-center source image mismatch`, plan);
|
||||
assertCondition(plan.sourceImage === `127.0.0.1:5000/unidesk/decision-center:${verifiedDecisionCenterCommit}`, `${environment}/decision-center source image mismatch`, plan);
|
||||
assertCondition(registry.repository === "unidesk/decision-center", `${environment}/decision-center registry repository mismatch`, registry);
|
||||
assertCondition(registry.tag === verifiedCommit, `${environment}/decision-center registry tag mismatch`, registry);
|
||||
assertCondition(registry.tag === verifiedDecisionCenterCommit, `${environment}/decision-center registry tag mismatch`, registry);
|
||||
assertCondition(build.producerBoundary === "ci publish-user-service", `${environment}/decision-center producer boundary mismatch`, build);
|
||||
assertCondition(build.willCompile === false, `${environment}/decision-center CD must not compile`, build);
|
||||
assertCondition(build.willRunDockerBuild === false, `${environment}/decision-center CD must not docker build`, build);
|
||||
@@ -85,7 +86,7 @@ function assertNoBuildK3sDecisionCenter(environment: "dev" | "prod", expectedDep
|
||||
|
||||
for (const environment of ["dev", "prod"] as const) {
|
||||
const frontend = findService(environment, "frontend");
|
||||
assertCondition(frontend.commitId === verifiedCommit, `${environment}/frontend desired commit must stay aligned to verified UI artifact`, frontend);
|
||||
assertCondition(frontend.commitId === verifiedFrontendCommit, `${environment}/frontend desired commit must stay aligned to verified UI artifact`, frontend);
|
||||
}
|
||||
|
||||
assertNoBuildK3sDecisionCenter("dev", "decision-center-dev", "unidesk-dev");
|
||||
@@ -93,7 +94,8 @@ assertNoBuildK3sDecisionCenter("prod", "decision-center", "unidesk");
|
||||
|
||||
process.stdout.write(`${JSON.stringify({
|
||||
ok: true,
|
||||
verifiedCommit,
|
||||
verifiedDecisionCenterCommit,
|
||||
verifiedFrontendCommit,
|
||||
checks: [
|
||||
"decision-center dev/prod desired commits match the verified live/artifact commit",
|
||||
"frontend dev/prod desired commits remain aligned to the same verified UI artifact",
|
||||
|
||||
@@ -387,7 +387,7 @@ export function runChecks(config: UniDeskConfig, options: CheckOptions = default
|
||||
items.push(commandItem("host-codex-commander:no-daemon-smoke-contract", ["bun", "scripts/host-codex-commander-no-daemon-smoke-contract-test.ts"], 30_000));
|
||||
items.push(commandItem("provider:runner-triage-contract", ["bun", "scripts/provider-runner-triage-contract-test.ts"], 30_000));
|
||||
items.push(commandItem("ssh:argv-guidance-contract", ["bun", "scripts/ssh-argv-guidance-contract-test.ts"], 30_000));
|
||||
items.push(commandItem("deploy:artifact-matrix-contract", ["bun", "scripts/deploy-artifact-matrix-contract-test.ts"], 30_000));
|
||||
items.push(commandItem("deploy:artifact-matrix-contract", ["bun", "scripts/deploy-artifact-matrix-contract-test.ts"], 90_000));
|
||||
items.push(commandItem("decision-center:desired-state-contract", ["bun", "scripts/decision-center-desired-state-contract-test.ts"], 30_000));
|
||||
items.push(commandItem("code-queue:active-run-heartbeat-visible", ["bun", "scripts/code-queue-liveness-diagnostics-test.ts", "--only", "code-queue:active-run-heartbeat-visible"], 30_000));
|
||||
items.push(commandItem("code-queue:trace-gap-not-stale", ["bun", "scripts/code-queue-liveness-diagnostics-test.ts", "--only", "code-queue:trace-gap-not-stale"], 30_000));
|
||||
|
||||
Reference in New Issue
Block a user