Skip to content

Build the bindings on every push and pull request - #10

Merged
estebanzimanyi merged 1 commit into
MobilityDB:mainfrom
estebanzimanyi:ci/build-and-generate-check
Aug 15, 2026
Merged

Build the bindings on every push and pull request#10
estebanzimanyi merged 1 commit into
MobilityDB:mainfrom
estebanzimanyi:ci/build-and-generate-check

Conversation

@estebanzimanyi

Copy link
Copy Markdown
Member

A workflow regenerates the bindings from the committed catalog, fails on drift against core/functions/functions.generated.ts and core/c-src/bindings.c, and type-checks the result.

The repository otherwise runs only a docs deployment, so nothing regenerates the bindings, compares them against the committed sources, or type-checks them. Drift means either the generator changed without its output being refreshed, or the output is edited directly, and both leave a surface no catalog projection produces. The step also runs the generator assertion that every emitted wrapper consults the MEOS error state, which otherwise fires only when somebody regenerates by hand.

Running the runtime tests needs the WebAssembly module, which the Docker emscripten target builds and the repository does not commit, so that job is separate work.

The job is four steps: npm ci, npm run generate, the drift check, and tsc --noEmit.

The repository runs only a docs deployment, so nothing regenerates the
bindings, compares them against the committed sources, or type-checks the
result. Eleven hand-written wrappers reached main without consulting the MEOS
error state partly for that reason: the generator asserts the invariant, but
the assertion only fires when somebody regenerates by hand.

The job regenerates from the committed catalog, fails on any drift against
core/functions/functions.generated.ts and core/c-src/bindings.c, and type-checks.
Drift means either the generator changed without its output being refreshed or
the output was edited directly, and both leave a surface no catalog projection
produces.

Running the runtime tests needs the WebAssembly module, which the Docker
emscripten target builds and the repository does not commit, so that job is
separate work.
@estebanzimanyi
estebanzimanyi merged commit efceed0 into MobilityDB:main Aug 15, 2026
1 check passed
@estebanzimanyi
estebanzimanyi deleted the ci/build-and-generate-check branch August 15, 2026 17:35
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