Skip to main content
← Back to list
01Issue
FeatureShippedSwamp CLI
Assigneesstack72

Relationships

#462 ci: aws-check and gcp-check jobs take ~30min — rethink whether full model type-checking is needed per PR

Opened by stack72 · 5/27/2026· Shipped 5/27/2026

Problem

The aws-check and gcp-check CI jobs run deno check, deno lint, and deno fmt across every service directory (255 AWS + 260 GCP). The deno check task iterates one-by-one through ~515 service directories, which takes ~30 minutes in CI.

For generated code, most of these checks are redundant:

  • deno fmt — the generator already runs deno fmt on output during generation
  • deno lint — generated files use // deno-lint-ignore-file no-explicit-any, so lint is a no-op
  • deno check — the only real value, but if zodGenerator unit tests pass and the template produces valid TypeScript, the output is valid by construction

Options to consider

  1. Drop check/lint/fmt for generated models entirely. The codegen unit tests and idempotency check are the real correctness gate. Hand-editing model files is forbidden by CLAUDE.md.

  2. Run on a sample, not all 515 services. Pick 3-5 representative services per provider (one with json-typed properties, one with complex nested objects, one baseline) and type-check only those. Same confidence, under 2 minutes.

  3. Move to nightly/release gate. Full model checks run on a schedule or before release cuts, not on every PR. PRs only run codegen unit tests + filtered regeneration.

  4. Parallelize. Split the for service in model/aws/*/ loop into parallel matrix jobs or use xargs -P for concurrent type-checking. Doesn't reduce total compute but reduces wall-clock time.

Context

Surfaced during issue #457 — a 3-line change in codegen/shared/zodGenerator.ts that touched 390 generated files. The codegen unit tests (15 tests, <1s) and filtered regeneration (<30s) proved the fix correct. The full CI check adds 30 minutes without catching anything the unit tests didn't.

02Bog Flow
OPENTRIAGEDIN PROGRESSSHIPPED+ 1 MOREASSIGNED+ 2 MOREREVIEW+ 3 MOREPR_MERGEDCOMPLETE

Shipped

5/27/2026, 6:19:18 PM

Click a lifecycle step above to view its details.

03Sludge Pulse
stack72 assigned stack725/27/2026, 5:14:27 PM

Sign in to post a ripple.