Repository navigation
ci : ROCm + Vulkan release builds per merge to master (lemonade-sdk/llamacpp-rocm layout) - #112
Merged
Merged
Conversation
…yout
Port of lemonade-sdk/llamacpp-rocm's build, test and nightly-alert workflows (MIT).
Same targets, same TheRock nightly ROCm, same bundled runtime libraries, same
llama-bNNNN-{os}-rocm-{target}-x64.zip assets and bNNNN release numbering.
Differences from the original: it builds this repository instead of cloning upstream,
falls back to the job token when there is no GH_TOKEN secret, runs the PR trigger only
for changes to the pipeline, and gates the self-hosted Strix Halo test jobs behind
repository variables so missing runners cannot hold a run in the queue.
Assisted-by: Claude Opus 5.5
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Release on push to master instead of a nightly cron and build the merged commit. Default to ubuntu; Windows remains available through workflow_dispatch. Strip the trailing whitespace the editorconfig check rejects. Assisted-by: Claude Opus 5.5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
build-ubuntu-vulkan builds the same commit with GGML_VULKAN=ON, portable CPU variants and $ORIGIN RPATH, and create-release adds llama-bNNNN-ubuntu-vulkan-x64.zip to the release. The vulkan dispatch input turns it off. Assisted-by: Claude Opus 5.5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
gaetan-puleo
approved these changes
Sep 29, 2026
dzannotti
added a commit
that referenced
this pull request
Sep 29, 2026
tests/test-backend-ops.cpp: keep both new test cases, upstream's test_mul_mat_id_w4a8/w4a4 from the sync and test_moe_prefill from #91. Assisted-by: Claude Opus 5.5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
iggy
reviewed
Sep 29, 2026
There was a problem hiding this comment.
file is called rocm-releases.md but it talks about rocm and vulkan... but I also don't see anything that actually builds vulkan or is it just using the upstream vulkan build action?
There was a problem hiding this comment.
nevermind on not seeing the vulkan action. It was furled in the github UI (and in a file called build-llamacpp-rocm.yml, which I didn't think to look in at first)
michal-zurkowski
pushed a commit
to michal-zurkowski/strix-llama.cpp
that referenced
this pull request
Oct 7, 2026
The Lint job (flake8-no-print, NP100) fails on master since halo-box#112 added this script with print() calls. Use the logging module like the other scripts. Assisted-by: Claude Opus 5.5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Overview
Adds ROCm and Vulkan release builds, one release per merge to master, Linux zips by default, in the same layout as lemonade-sdk/llamacpp-rocm: same pipeline, same assets, same release format. Tools that consume their releases (e.g. Lemonade) can point at this repo.
The files are lemonade's own, copied as-is (MIT, attribution in each file):
.github/workflows/build-llamacpp-rocm.ymlbuild-llamacpp-rocm.yml.github/workflows/test-llamacpp-rocm.ymltest-llamacpp-rocm.yml.github/workflows/nightly-failure-alert.ymlnightly-failure-alert.yml.github/actions/test-llamacpp-build/action.yml.github/actions/test-llamacpp-build/action.ymlscripts/rocm-release/gather_required_libs.pyutils/gather_required_libs.pyKept identical to lemonade:
gfx1151,gfx1150,gfx120X,gfx110X,gfx103X,gfx90a,gfx908, including the multi-arch target mapping.nightly.repo.amd.com, or a pinned version..sos plus therocblas/libraryandhipblaslt/librarykernel folders.$ORIGINRPATH on Linux.llama-bNNNN-ubuntu-rocm-{target}-x64.zip.bNNNNtags starting at b1000.Changed, because this repo is not a wrapper around upstream:
${{ github.repository }}) instead ofggerganov/llama.cpp. Thellamacpp_versioninput now means a branch or tag here, andlatestmeansmaster.secrets.GH_TOKEN || github.token, so it works without adding a secret.test-stx-halo,test-stx,test-llamacpp-rocm.yml) only run when the repo variablesSTX_HALO_RUNNERS/STX_RUNNERSaretrue. When skipped they still allow the release, exactly as in lemonade'screate-releasecondition. Without runners they would sit in the queue until they time out, as the self-hosted jobs did on Merge halo-box/llama.cpp master into strix (2026-09-15) #64.master(the merged commit, checked out by SHA) instead of lemonade's nightly cron. A newer merge cancels a release that is still building (concurrency).llama-bNNNN-ubuntu-vulkan-x64.zip) to each release. It is built from the same commit on ubuntu-22.04 with the LunarG Vulkan SDK,GGML_VULKAN=ON,GGML_BACKEND_DL+GGML_CPU_ALL_VARIANTSfor portable CPU code, and$ORIGINRPATH, using the same flags as upstream'srelease.ymlVulkan job. Its failure blocks the release, like a ROCm failure does. Thevulkandispatch input turns it off.workflow_dispatchwithoperating_systems: windows,ubuntustill builds Windows.The
bNNNNpattern only matches four digits, so it does not collide with theb1xxxxtags carried over from upstream.Measurements
Not applicable: CI configuration only, no runtime code changes.
Additional information
test-qsa-fast.cpp(fixed in tests : build test-qsa-fast on Windows #113); release builds useLLAMA_BUILD_TESTS=OFFand are not affected.release.ymlfails on every push to master here (the last 3 runs). This PR does not touch it.Requirements
stx-halorunner label.🤖 Generated with Claude Code