Skip to content

Commit 2d8f4c1

Browse files
dmealingclaude
andcommitted
fix(ci): build the workspace before the hosted TypeScript conformance suites
The generated-output compile gates run the real TypeScript compiler over emitted code importing `@metaobjectsdev/runtime-ts/drizzle-fastify`. tsc resolves that subpath through the package's `exports` map, whose `types`/`default` conditions point at `dist/` — build output a fresh checkout does not have, and tsc does not honour the `bun` condition that lets bun's own resolution work off `src/`. scripts/ci-local.sh builds the workspace in its ts-fast lane before this same gate; the hosted job only ran `bun install`. That drift is why the #214 read-half tsc gate failed on both release tags with "Cannot find module '@metaobjectsdev/runtime-ts/drizzle-fastify' or its corresponding type declarations" while local CI stayed green off a previously-built dist/. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
1 parent 4809023 commit 2d8f4c1

1 file changed

Lines changed: 12 additions & 0 deletions

File tree

.github/workflows/conformance.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,18 @@ jobs:
116116
if: matrix.language == 'typescript'
117117
run: |
118118
bun install
119+
# Build the workspace BEFORE the suites. The generated-output compile
120+
# gates (e.g. the #214 read-half tsc gate) run the real TypeScript
121+
# compiler over emitted code that imports `@metaobjectsdev/runtime-ts/
122+
# drizzle-fastify`; tsc resolves that subpath through the package's
123+
# `exports` map, whose `types`/`default` conditions point at `dist/` —
124+
# build output a fresh checkout does not have (tsc does not honour the
125+
# `bun` condition that makes bun's own resolution work off `src/`).
126+
# `scripts/ci-local.sh` builds in its ts-fast lane before this same
127+
# gate, so without this step hosted and local-CI disagree: local stays
128+
# green off a previously-built dist/ while hosted fails with "Cannot
129+
# find module … or its corresponding type declarations".
130+
bun run --filter '*' build
119131
# Loader + YAML + object-model corpora (packages/metadata).
120132
cd server/typescript/packages/metadata && bun test test/conformance.test.ts test/yaml-conformance.test.ts test/object-model-conformance.test.ts
121133
# Registry-conformance gate (TS is the reference emitter — byte-matches

0 commit comments

Comments
 (0)