Skip to content

ci(release): package parakeet-server alongside parakeet-cli - #30

Merged
mudler merged 1 commit into
mudler:masterfrom
quartzjer:ci/release-add-server-binary
Jun 19, 2026
Merged

ci(release): package parakeet-server alongside parakeet-cli#30
mudler merged 1 commit into
mudler:masterfrom
quartzjer:ci/release-add-server-binary

Conversation

@quartzjer

Copy link
Copy Markdown
Contributor

What

The release workflow already builds parakeet-server (examples/server, the OpenAI-compatible HTTP server) on every tag — PARAKEET_BUILD_SERVER defaults ON and the configure step never disables it — but the Package steps copy only parakeet-cli, so the server never reaches the release assets.

This packages parakeet-server into the bin- bundles for every (platform, backend) pair (Linux cpu/vulkan/cuda x64 + cpu arm64, macOS metal arm64 + cpu x64, Windows cpu/vulkan/cuda x64), adds a --help usage smoke test next to the existing CLI one, and sets -DPARAKEET_BUILD_SERVER=ON explicitly so the intent is clear and robust to a future default change. BUILD_SHARED_LIBS=OFF keeps it a single self-contained binary like the CLI, so nothing extra is bundled.

Why

parakeet-server is the natural way to run Parakeet as a managed local STT service over a stable HTTP contract (POST /v1/audio/transcriptions, single model, one request at a time) — the same downstream value llama.cpp and whisper.cpp ship as llama-server / whisper-server: a download-and-run server you can supervise and talk to over the OpenAI-compatible API, without compiling from source or pulling a container image. Follow-up to #21 (pre-built binaries) and #25 (C-API lib bundles).

Notes

  • I kept the server in the same bin- bundle as the CLI (two self-contained binaries per bundle). Happy to split it into separate parakeet-server-… bundles instead if you'd rather keep one binary per bundle — just say which you prefer.
  • Verified locally from a clean checkout: parakeet-server builds and runs (usage: parakeet-server --model … [--host] [--port] [--threads N] …, serves POST /v1/audio/transcriptions). The change here is purely packaging an already-built target.
  • I can trigger this workflow on the fork via workflow_dispatch to confirm the bundles attach before merge if that's useful.

parakeet-server (examples/server, the OpenAI-compatible HTTP server)
already builds in the release workflow — PARAKEET_BUILD_SERVER defaults ON
and the configure step never disables it — but the Package steps only copy
parakeet-cli, so it never reaches the release assets.

Package it into the bin- bundles for every (platform, backend) pair, with a
--help usage smoke test, the same way llama.cpp / whisper.cpp ship
llama-server / whisper-server. BUILD_SHARED_LIBS=OFF keeps it a single
self-contained binary like the CLI, so no extra libraries are bundled.

@mudler mudler left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks

@mudler
mudler merged commit 450e2ee into mudler:master Jun 19, 2026
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.

2 participants