-CI has eight logical jobs. Ubuntu x64 GNU, Windows x64 MSVC, and macOS arm64 each build the native addon and run all Rust, JavaScript, and type tests with Node.js 22.18.0; Ubuntu and Windows then smoke-test the public `@taffyjs/node` and `@taffyjs/yoga` entries with Bun 1.2.0 and Deno 2.2.0. Ubuntu also rejects stale committed package JavaScript and declarations after the build. A distribution matrix separately compiles all twelve non-FreeBSD template targets with napi-rs's maintained recipes and uploads every binary; this intentionally rebuilds Linux x64 GNU through napi-rs's cross toolchain for its distribution compatibility floor and applies the upstream macOS deployment target. A FreeBSD 15 VM builds and uploads the thirteenth native target. These distribution jobs prove compilation and artifact generation; they do not extend the blocking runtime matrix beyond the three full native test jobs. A separate Ubuntu WASIP job installs the Rust target and Playwright Chromium, builds `@taffyjs/wasm`, reruns the complete Node public API suite against it, runs type, package-content, packed-consumer, bundled-consumer, and browser-runtime checks against the generated package, and applies the same Bun 1.2.0 and Deno 2.2.0 smoke checks to the public entry. That job also builds `@taffyjs/yoga-wasm`, reruns the complete maintained Yoga behavior and declaration suites, inspects and installs the packed package with npm and pnpm, exercises both public entries in bundled Chromium, and smoke-tests both entries with Bun 1.2.0 and Deno 2.2.0. Alternate-runtime smoke checks perform one fixed layout rather than copying the complete behavior suite. A Node-only job checks formatting, JavaScript and repository TypeScript including maintained tools through Vite+'s type-aware lint path, the alignment among target declarations and platform package metadata, and generated-source drift. A Rust-only job checks formatting and Clippy. Publication workflows are not configured.
0 commit comments