Skip to content

fix(build): green build & allTests on macOS — refresh API dumps, gate Linux K/N tests#789

Merged
michalharakal merged 1 commit into
developfrom
fix/macos-build-and-api-dumps
Jul 3, 2026
Merged

fix(build): green build & allTests on macOS — refresh API dumps, gate Linux K/N tests#789
michalharakal merged 1 commit into
developfrom
fix/macos-build-and-api-dumps

Conversation

@michalharakal

Copy link
Copy Markdown
Contributor

Summary

Restores a green ./gradlew build and ./gradlew allTests on a macOS host. Two independent breakages on develop:

  1. Stale binary-compatibility API dumps — committed source added public API but the .api snapshots were never refreshed, so jvmApiCheck failed.
  2. Native K/N link failure on macOSlinkDebugTestLinuxX64 fails because the CMake host build emits Mach-O objects that ld.lld cannot cross-link into a Linux ELF (archive member … is neither ET_REL nor LLVM bitcode), and a Linux .kexe can't execute on macOS anyway.

Changes

API dumps refreshed (additive only) — verified nothing was dropped from the real public surface; the only "removals" were methods relocating out of a synthetic $DefaultImpls holder:

  • skainet-backend-cpu — new KernelProfile diagnostic object
  • skainet-lang-core, skainet-lang-dag, skainet-compile-dag, skainet-compile-opt — new backward ops (sin, cos, gather, indexSelect, tril, unfold, convTranspose1d), OutputDesignatedGraph, prunedToOutputs

skainet-backend-native-cpu/build.gradle.kts — gate the linuxX64/linuxArm64 K/N test-link + test-run tasks on a Linux host. On non-Linux hosts they're disabled so build/allTests stay green locally; compileKotlinLinux* (klib) and publishing are untouched, and the native NEON parity suite still runs on Linux CI / qemu-aarch64 / the SL2610 board. Mirrors the existing -PcrossArm64 opt-in gating.

Trade-off

On macOS the native NEON parity tests are skipped locally (they can only run on Linux). The JVM-side FFM parity tests still run and pass. Adding a macOS host K/N target (so they run natively on a Mac) was considered and deferred as a larger, separate change.

Test

  • ./gradlew build — SUCCESSFUL
  • ./gradlew allTests — SUCCESSFUL (119 test-result suites, 0 failures; 13 native-cpu FFM parity suites among them)

🤖 Generated with Claude Code

…hosts

Restores a green ./gradlew build and allTests on a macOS host.

- Refresh binary-compatibility API dumps that lagged committed source:
  KernelProfile (backend-cpu); sin/cos/gather/indexSelect/tril/unfold/
  convTranspose1d backward ops, OutputDesignatedGraph, prunedToOutputs
  (lang-core, lang-dag, compile-dag, compile-opt). Additive only.
- Gate the linuxX64/linuxArm64 K/N test-link + test-run tasks on a Linux
  host in skainet-backend-native-cpu. The CMake host build emits Mach-O
  objects on macOS, which ld.lld cannot cross-link into a Linux ELF, and a
  Linux .kexe cannot execute on macOS. klib compilation and publishing are
  untouched; the native NEON parity suite still runs on Linux CI / qemu /
  the SL2610 board. Mirrors the existing -PcrossArm64 opt-in gating.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@github-actions

github-actions Bot commented Jul 3, 2026

Copy link
Copy Markdown

📖 Documentation Preview

The documentation has been built successfully for this PR.

Generated Files:

  • Operator documentation: docs/modules/operators/_generated_/
  • JSON schema output: operators.json

Artifacts:

  • Download the documentation-preview-789 artifact to view the complete documentation locally.

This comment will be updated automatically when the PR is updated.

@michalharakal michalharakal merged commit 7717d17 into develop Jul 3, 2026
14 checks passed
@michalharakal michalharakal deleted the fix/macos-build-and-api-dumps branch July 3, 2026 06:51
michalharakal added a commit that referenced this pull request Jul 5, 2026
…nt 2.07×

Bumps VERSION_NAME 0.33.0 -> 0.34.0. Bundles the develop changes since 0.33.0:
the new skainet-data-source module (URI-backed sources, HF auth, raw format
parsers, suspend data pipeline DSL) + dataset operation views and richer
batches (#784/#785), the bf16-native DSL -> StableHLO export path and the
pluggable per-phase/per-target compile-optimization seam (#788/#791), NEON
K-quant matmul perf (block-outer order + fused Q8 int8 dot, 2.07x Q4_K on
Cortex-A55) with aarch64 board verification (#786/#787), LayerNorm f32
normalization + rank-0 tensor-type emission fixes, macOS host build fix
(#789), Code of Conduct (#790), and the offline markup-antora docs image (#781).

Minor bump (not patch): new published module skainet-data-source; all data-api
additions are default-bearing (no source-incompatible changes).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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