Skip to content

ci(ts): split the ts job into fast/slow lanes (like java)#170

Merged
dmealing merged 1 commit into
mainfrom
ci/split-ts-fast-slow-lanes
Jul 4, 2026
Merged

ci(ts): split the ts job into fast/slow lanes (like java)#170
dmealing merged 1 commit into
mainfrom
ci/split-ts-fast-slow-lanes

Conversation

@dmealing

@dmealing dmealing commented Jul 4, 2026

Copy link
Copy Markdown
Member

Mirrors the java-fast/java-slow split (#162). The ts job ran build+typecheck + conformance + completeness + docker integration all in one job, so a docker/sidecar hiccup (or integration flakiness) failed the whole ts signal, and the fast correctness verdict waited on the slow integration.

Now two parallel jobs:

  • ts-fast — build+typecheck, conformance, completeness (the pure-code signal; no docker/sidecar).
  • ts-slow — build + docker/sidecar integration tests (shared PG sidecar, dynamic port).

ci-local.sh grows --only ts-fast|ts-slow plus a build-only gate_ts_build for the isolated slow lane (the workspace dist/ is needed for integration; the fast lane's build already produces it in the umbrella case, so no double build). --only ts and a plain local run still run both lanes, byte-equivalent to before. detect still emits the umbrella ts; both jobs gate on it.

Verified: --only ts-slow builds and runs the full integration suite 116/0 green against a real sidecar; the dry-run lister confirms ts-fast/ts-slow/ts/no-flags select the right steps with no duplicate build. Validated end-to-end via a workflow_dispatch run on this branch before merge.

🤖 Generated with Claude Code

Mirrors the java-fast/java-slow split. The ts job ran build+typecheck +
conformance + completeness + docker integration all in one job, so a
docker/sidecar hiccup (or the integration flakiness fixed in #167) failed the
whole ts signal and the fast correctness verdict waited on the slow integration.

Now two parallel jobs:
- ts-fast: build+typecheck, conformance, completeness — the pure-code signal, no
  docker/sidecar.
- ts-slow: build + docker/sidecar integration tests (with the shared PG sidecar).

ci-local.sh grows `--only ts-fast|ts-slow` (+ a build-only gate_ts_build for the
isolated slow lane, since the workspace dist/ is needed for integration and the
fast lane's build already produces it in the umbrella case). `--only ts` and a
plain local run still run both lanes, byte-equivalent to before — no double
build. detect still emits the umbrella token `ts`; both jobs gate on it.

Verified: `--only ts-slow` builds and runs the full integration suite 116/0 green
against a real sidecar; the dry-run lister confirms ts-fast/ts-slow/ts/no-flags
all select the right steps with no duplicate build.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ew1XfYSbEAezxjs9opynAe
@dmealing
dmealing merged commit 5e809f8 into main Jul 4, 2026
10 checks passed
@dmealing
dmealing deleted the ci/split-ts-fast-slow-lanes branch July 4, 2026 17:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant