Skip to content

ci: fix 3rd-party Werror, android omnivoice-dac-parity link, vulkan test-gguf#17

Merged
lalalune merged 3 commits into
mainfrom
eliza/ci-fixes-werror-android-gguf
May 19, 2026
Merged

ci: fix 3rd-party Werror, android omnivoice-dac-parity link, vulkan test-gguf#17
lalalune merged 3 commits into
mainfrom
eliza/ci-fixes-werror-android-gguf

Conversation

@lalalune
Copy link
Copy Markdown
Member

Summary

Three CI fixes for failures on main HEAD (22582b2):

  • CI (3rd-party)tools/kokoro/include/kokoro-layers.h had two output_pad parameters that go unused in the per-element body (the caller uses them to size T_out). -Werror=unused-parameter failed the build on ubuntu-24-llguidance. Cast to (void) and document why.
  • CI (android)omnivoice-dac-parity was being added unconditionally and called ggml_backend_cpu_init / ggml_backend_cpu_set_n_threads, but android NDK cross-compile doesn't define a ggml-cpu CMake target, producing undefined symbol link errors. Gate the whole add_executable + add_test on if(TARGET ggml-cpu) so backends without CPU silently skip it. Matches the pattern tools/kokoro/CMakeLists.txt already uses for kokoro_lib.
  • CI (vulkan)tests/test-gguf.cpp had a hard-coded ~88-char long-name string for the HANDCRAFTED_TENSORS_BAD_NAME_SIZE case. omnivoice's CMakeLists bumps GGML_MAX_NAME to 128 PUBLIC on the ggml/llama targets, so the test name was no longer longer than the limit and the in-test sanity GGML_ASSERT(name.length() >= GGML_MAX_NAME) fired. Pad the suffix in a loop so the oversize-name path is always exercised under any GGML_MAX_NAME.

Test plan

  • CI (3rd-party) green (ubuntu-24-llguidance build)
  • CI (android) green (gradlew build, arm64-v8a)
  • CI (vulkan) green (test-gguf passes on ubuntu-24-vulkan-llvmpipe)
  • Other workflows (CI, Server, sycl, cann, apple, sanitize…) remain unaffected

lalalune added 3 commits May 19, 2026 00:09
…se1d

The output_pad arg affects T_out (computed by caller) but doesn't
change the per-element accumulation, so the body legitimately doesn't
reference it. Keep the parameter as part of the PyTorch convention
and explicit-void the unused-param warning that fails -Werror builds
on 3rd-party / android / vulkan CI lanes.
The parity harness calls ggml_backend_cpu_init() and
ggml_backend_cpu_set_n_threads() directly. On Android NDK cross-compile
the ggml-cpu CMake target is not defined, so the executable was being
built with an unresolved link to ggml-cpu, producing:

  ld.lld: error: undefined symbol: ggml_backend_cpu_init
  ld.lld: error: undefined symbol: ggml_backend_cpu_set_n_threads

Move the entire add_executable + add_test under `if(TARGET ggml-cpu)`
so the test is silently skipped on backends without a CPU target,
matching how tools/kokoro/CMakeLists.txt already gates kokoro_lib's
ggml-cpu link.
tools/omnivoice/CMakeLists.txt bumps GGML_MAX_NAME to 128 PUBLIC on
ggml + llama so audio tokenizer tensor names load correctly. That
propagates to test-gguf.cpp, where the hand-crafted long-name test
case had a hardcoded ~88-char string. Under GGML_MAX_NAME=128 the
string was shorter than the limit, the BAD_NAME_SIZE branch failed
to actually generate an oversize name, and the in-test sanity
assert fired:

  GGML_ASSERT(name.length() >= GGML_MAX_NAME) failed

Append the long suffix in a loop until name strictly exceeds
GGML_MAX_NAME, so the oversize-name failure path is always
exercised regardless of the GGML_MAX_NAME value the test is
compiled with.
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 19, 2026

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: f6a56f49-afe3-42c1-8c77-dfe16e659bee

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch eliza/ci-fixes-werror-android-gguf

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@lalalune lalalune merged commit d88a3dc into main May 19, 2026
52 of 115 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant