Skip to content

feat: automated multi-platform release binaries via GitHub Actions#22

Closed
Copilot wants to merge 6 commits intomasterfrom
copilot/add-gh-action-for-multi-platform-binaries
Closed

feat: automated multi-platform release binaries via GitHub Actions#22
Copilot wants to merge 6 commits intomasterfrom
copilot/add-gh-action-for-multi-platform-binaries

Conversation

Copy link

Copilot AI commented Mar 11, 2026

Adds a release.yml workflow that builds and attaches portable binaries for all supported backends across Linux, macOS (arm64/Metal only), and Windows on every GitHub Release publish, with a workflow_dispatch fallback to attach to an existing release tag.

Workflow matrix

Target Runner CMake flags
linux-x64-cpu-blas ubuntu-22.04 -DGGML_BLAS=ON
linux-x64-cuda ubuntu-22.04 -DGGML_CUDA=ON (installs cuda-toolkit-12-8)
linux-x64-vulkan ubuntu-22.04 -DGGML_VULKAN=ON
macos-arm64-metal macos-latest (Metal + Accelerate auto)
windows-x64-cpu windows-latest
windows-x64-cuda windows-latest -DGGML_CUDA=ON (pre-installed)
windows-x64-vulkan windows-latest -DGGML_VULKAN=ON (Chocolatey SDK)

Intel macOS (macos-13) dropped — Metal/Apple Silicon only.

Per-job steps

  • Checkout with submodules → install platform deps → cmake build → smoke-test all 6 binaries (--help) → package → gh release upload --clobber
  • Archives: .tar.gz (Linux/macOS), .zip (Windows)
  • permissions: contents: write scoped at workflow level

ci-build.yml tests

Smoke test for all 6 tools (ace-qwen3, dit-vae, ace-understand, neural-codec, quantize, mp3-codec)

…ll tools

Co-authored-by: lmangani <1423657+lmangani@users.noreply.github.com>
Copilot AI changed the title [WIP] Add multi-step GitHub action for compiling binaries feat: automated multi-platform release binaries via GitHub Actions Mar 11, 2026
Co-authored-by: lmangani <1423657+lmangani@users.noreply.github.com>
Updated the description for the release_tag input and commented out the windows-x64-cpu job.
@lmangani lmangani marked this pull request as ready for review March 12, 2026 08:36
@lmangani lmangani closed this Mar 12, 2026
@lmangani lmangani deleted the copilot/add-gh-action-for-multi-platform-binaries branch March 12, 2026 09:05
lmangani pushed a commit that referenced this pull request Mar 13, 2026
…ading (-DGGML_BACKEND_DL=ON) (#22)

* Fix Windows MSVC build for GGML DL mode and update to Registry API

* Update src/backend.h

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Apply n_threads configuration to tokenizer backend

* Fix thread params in fallback path for tokenizer

* Standardize CPU backend initialization with thread params

* Remove outdated comment and finalize CPU initialization

* Finalize CPU initialization logic with thread param propagation

* Update CMakeLists.txt

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Pascal <admin@serveurperso.com>
lmangani pushed a commit that referenced this pull request Mar 13, 2026
PR #22 duplicated the Registry API init logic in ace-understand.cpp
(12 lines of boilerplate identical to backend_init). Extract a shared
cpu_backend_new() helper in backend.h and replace both call sites:

- backend_init(): lambda replaced by cpu_backend_new()
- ace-understand.cpp: inline init replaced by cpu_backend_new()
- remove unused <thread> include from ace-understand.cpp

All 6 GPU/CPU modules go through backend_init() -> cpu_backend_new().
The FSQ tokenizer (CPU-only, no scheduler needed) calls cpu_backend_new()
directly. (Single source of truth)
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