Skip to content

ci: add tag-driven prebuilt release pipeline - #286

Open
drzsdrtfg wants to merge 22 commits into
0xShug0:mainfrom
drzsdrtfg:main
Open

ci: add tag-driven prebuilt release pipeline#286
drzsdrtfg wants to merge 22 commits into
0xShug0:mainfrom
drzsdrtfg:main

Conversation

@drzsdrtfg

Copy link
Copy Markdown

Summary

Adds the prebuilt release pipeline: every v* release now ships ready-to-run binaries attached to the GitHub Release. This is the full set of changes this fork adds over upstream 0xShug0/audio.cpp — 2 files.

Changes

File What it does
.github/workflows/release.yml Tag-driven release build + publish
docs/RELEASING.md Release / dry-run / verification docs

.github/workflows/release.yml

  • Triggers on a v* semver tag push, or manual workflow_dispatch with a publish checkbox (used for build-only dry runs). No release on every main push.
  • Builds audiocpp_cli, audiocpp_server, audiocpp_gguf with -DAUDIOCPP_DEPLOYMENT_BUILD=ON -DENGINE_ENABLE_LLAMAFILE=ON -DENGINE_ENABLE_CUDA_GRAPHS=ON.
  • Matrix (fail-fast off): macOS metal (arm64/x64), Ubuntu x64 cpu+vulkan, Windows x64 cpu+vulkan+cuda (12.4/13.3). linux-rocm is commented out (no AMD GPU runner).
  • Windows CUDA uses GGML_BACKEND_DL: thin shells + a single ggml-cuda.dll; the CUDA runtime ships once in a separate -cudart-...zip. CUDA archs are pinned all-real.
  • Assets: audio-<tag>-bin-windows-x64-<backend>.zip (+ -cudart-...zip); Linux/macOS as .tar.gz.
  • Release job: gh release upload to an existing release (--clobber) or gh release create on a new tag (--generate-notes).

docs/RELEASING.md

UI-only steps to draft a release, tag, dry-run from the Actions tab, plus the artifact table and the GPU-runtime verification note.

Validation

The prebuilt binaries were downloaded and run to confirm they work out of the box.

Hardware:

  • GPU: Radeon RX Vega 56 (Vulkan device: "Radeon RX Vega"; fp16:1, bf16:0, int dot:0, matrix cores:none, warp:64, 32 KB smem), 8 GB VRAM
  • CPU: Intel Core i5-10400 (6c/12t), Windows, AMD proprietary driver

Config: audiocpp_cli --task tts --family supertonic --model supertonic-3-f16.gguf --voice-id M1 --num-inference-steps 8 --seed 1234

Vulkan binary (Radeon RX Vega 56):

Sample Audio (s) Gen wall (s) RTF x real-time
Short 5.02 1.80 0.359 2.79x
Medium 27.26 1.70 0.062 16.06x
Long 76.09 5.08 0.067 14.97x

CPU binary (i5-10400):

Threads Audio (s) Gen wall (s) RTF x real-time
1 13.57 18.98 1.398 0.72x
4 27.28 10.67 0.391 2.56x
10 74.25 21.74 0.293 3.42x

These runs only confirm the shipped binaries enumerate the device and synthesize correctly; see the README for reference performance figures.

Notes

  • release.yml references macos-26 / macos-15-intel runner labels; adjust to this repo's runner pool if different.
  • ROCm is disabled by default (no AMD runner); enable via self-hosted HIP runners.
  • Optional follow-up: add a CI check job that runs the shipped Windows binaries.
  • No runtime/model changes; CI and docs only.
  • This PR's code and description were written and assisted by DeepSeek-V4-Flash-0731 through Cline.

…Vulkan SDK fix, OpenMP-off CUDA build) [no release]
…g-name, GGML_BACKEND_DL CUDA, robust cudart bundling)
@drzsdrtfg

Copy link
Copy Markdown
Author

btw I dont know whether the other binaries work pls test them out on my fork before you merge this

@0xShug0

0xShug0 commented Aug 20, 2026

Copy link
Copy Markdown
Owner

@drzsdrtfg Thank you for the PR! It may require some time to test...Stay tuned.

@drzsdrtfg

Copy link
Copy Markdown
Author

Ok. Just let me know when issues appear. @0xShug0

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