Build the bindings on every push and pull request - #10
Merged
estebanzimanyi merged 1 commit intoAug 15, 2026
Merged
Conversation
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A workflow regenerates the bindings from the committed catalog, fails on drift against
core/functions/functions.generated.tsandcore/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, andtsc --noEmit.