Skip to content

ci: compare subset APIs with HarfBuzz and exercise Windows DLLs - #515

Open
behdad wants to merge 6 commits into
capi/hb-cplusplusfrom
capi/c-api-integration-tests
Open

behdad wants to merge 6 commits into
capi/hb-cplusplusfrom
capi/c-api-integration-tests

Conversation

@behdad

@behdad behdad commented Oct 7, 2026 •

Copy link
Copy Markdown
Member

Subset coverage currently runs locally while CI exercises only one C smoke case. Add all three differential suites to Linux CI: 48 Skia workflow cases, 15 input/flag cases, and 16 plan/map cases, with their additional lifetime, metadata, callback, and failure checks. Build the HarfBuzz reference at a fixed commit with optional backends disabled and pin fontTools for reproducibility.

Add a native Windows job that builds default and subset-enabled versions of the single harfrust_c DLL and executes actual C and C++ consumers. Core-only tests link the default build; subset tests link the feature-enabled build. The C++ checks cover C++11/C++17 on Linux/macOS and C++14/C++17 with the MSVC standard library, core-only linking, both subset include orders, shared handles, ownership, and user-data destruction.

Validation: all 79 differential cases pass against a fresh HarfBuzz reference build. The single Windows GNU DLL with subset enabled builds and links; its C subset example and all six C++11/C++17 variants execute successfully under Wine. Updated Linux, macOS, and native Windows CI are running.

Stacked on #514; follows #507.

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