libghostty: add ABI manifest schema

The ABI manifest previously had no machine-readable grammar or test that
the public export conformed to it.

Define a Draft 2020-12 schema and add a build check that executes
ghostty_type_json for native and wasm libraries before validation. Run
both forms in CI and publish the schema with the generated API docs.
This commit is contained in:
Mitchell Hashimoto
2026-08-15 20:21:59 -07:00
parent 9673a22b01
commit c75559589e
9 changed files with 491 additions and 2 deletions

View File

@@ -701,6 +701,12 @@ jobs:
-Dtarget=wasm32-freestanding \
-Doptimize=ReleaseSmall
- name: Validate WASM ABI manifest
run: |
nix develop -c zig build test-lib-vt-schema \
-Dtarget=wasm32-freestanding \
-Doptimize=ReleaseSmall
- name: Optimize ReleaseSmall WASM
run: |
nix develop -c wasm-opt -O3 \
@@ -1470,6 +1476,9 @@ jobs:
- name: Test
run: nix develop -c zig build test-lib-vt
- name: Validate native ABI manifest
run: nix develop -c zig build test-lib-vt-schema
test-kaitai:
if: github.repository == 'ghostty-org/ghostty' && needs.skip.outputs.skip != 'true'
needs: skip