Skip to content

webui: Move static build output from repo code to HF Bucket#22937

Merged
allozaur merged 48 commits into
ggml-org:masterfrom
allozaur:allozaur/webui-build-strategy
May 14, 2026
Merged

webui: Move static build output from repo code to HF Bucket#22937
allozaur merged 48 commits into
ggml-org:masterfrom
allozaur:allozaur/webui-build-strategy

Conversation

@allozaur
Copy link
Copy Markdown
Contributor

@allozaur allozaur commented May 11, 2026

Overview

Close #17207

Move WebUI static build output files from the repository to a versioned Hugging Face Bucket, with automatic local/HF Bucket fallback during build.

Additional information

Build cases

CMake option Local files HF Bucket Result
LLAMA_BUILD_WEBUI=ON (default) exists ignored Uses local tools/server/public/
LLAMA_BUILD_WEBUI=ON + LLAMA_USE_PREBUILT_WEBUI=ON (default) not exists available Downloads from HF Bucket
LLAMA_BUILD_WEBUI=ON + LLAMA_USE_PREBUILT_WEBUI=ON not exists not available Builds without WebUI (warning)
LLAMA_BUILD_WEBUI=OFF - - Builds without WebUI

Runtime behavior while http server is not ready yet:

  • Built with WebUI: loading.html served to browsers (HTTP requests to / or .html), JSON 503 to APIs
  • Built without WebUI: JSON 503 for all requests

CMake examples

  # Default build (WebUI enabled, uses local or HF Bucket)
  cmake -B build

  # Force local WebUI (requires `npm run build` in tools/server/webui)
  cmake -B build -DLLAMA_BUILD_WEBUI=ON -DLLAMA_USE_PREBUILT_WEBUI=OFF

  # Disable WebUI entirely
  cmake -B build -DLLAMA_BUILD_WEBUI=OFF

  # Skip HF Bucket download, fail if local not available
  cmake -B build -DLLAMA_USE_PREBUILT_WEBUI=OFF

CI/CD changes

WebUI build output is no longer committed to the repo, so CI builds and distributes it as a reusable artifact:

New reusable workflows

  • webui-build.yml: Builds WebUI from source (Node.js + npm), generates SHA256 checksums, uploads as webui-build artifact
  • webui-publish.yml: Publishes the built WebUI to a versioned HF Bucket path, accepts version_tag input and hf_token secret

Modified workflows

  • release.yml: All build jobs now depend on webui-build artifact, download it via actions/download-artifact instead of relying on committed files. Added webui-publish job for release publishing
  • server.yml / server-self-hosted.yml: Build jobs now depend on webui-build artifact
  • server-webui.yml: Simplified to call webui-build.yml instead of building WebUI directly

Changes

  • Deleted: tools/server/public/{bundle.js,bundle.css,index.html,loading.html}
  • CMake (tools/server/CMakeLists.txt): Added local-first + HF Bucket download fallback
  • CI workflows: New webui-build.yml, changed to artifact download in release/build jobs
  • Server (server-http.cpp): Loading page logic preserved under #ifdef LLAMA_BUILD_WEBUI
  • Config: Updated .gitignore, removed .gitattributes and editorconfig rules for removed tools/server/public files from the repo

@github-actions github-actions Bot added server/webui examples devops improvements to build systems and github actions server build Compilation issues labels May 11, 2026
@allozaur allozaur force-pushed the allozaur/webui-build-strategy branch 8 times, most recently from fe1e1e3 to 8fe5cbe Compare May 11, 2026 22:51
@allozaur allozaur requested a review from ngxson May 11, 2026 23:29
@allozaur allozaur marked this pull request as ready for review May 11, 2026 23:29
@allozaur allozaur requested a review from ggerganov as a code owner May 11, 2026 23:29
Copilot AI review requested due to automatic review settings May 11, 2026 23:29
@allozaur allozaur requested review from a team as code owners May 11, 2026 23:29
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Moves the WebUI static build output out of the repo and into a versioned Hugging Face Bucket, adding build-time fallback logic (local → HF download → no WebUI), plus CI workflow updates to build/distribute WebUI as an artifact.

Changes:

  • Add CMake logic to embed WebUI assets from local tools/server/public/ or download prebuilt assets from an HF Bucket.
  • Restructure GitHub Actions workflows to build WebUI once and reuse it across server/release jobs via artifacts.
  • Rename/rebrand WebUI identifiers/docs from llama.cpp/llama-server-webui to llama-ui.

Reviewed changes

Copilot reviewed 27 out of 31 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
tools/server/webui/vite.config.ts Removes custom esbuild settings from WebUI build config
tools/server/webui/tests/stories/Introduction.mdx Updates Storybook intro naming/wording
tools/server/webui/svelte.config.js Renames SvelteKit app version name
tools/server/webui/src/routes/(chat)/chat/[id]/+page.svelte Uses APP_NAME in page title and adjusts constants import
tools/server/webui/src/lib/services/chat.service.ts Updates service docstring to new server naming
tools/server/webui/src/lib/constants/ui.ts Changes default app name to llama-ui
tools/server/webui/src/lib/components/app/server/ServerLoadingSplash.svelte Updates loading splash default message
tools/server/webui/scripts/install-git-hooks.sh Stops staging generated tools/server/public/ output in pre-commit
tools/server/webui/scripts/dev.sh Updates script header/comment formatting
tools/server/webui/package.json Renames package to llama-ui
tools/server/webui/README.md Renames and updates WebUI README wording
tools/server/server-http.cpp Adjusts “server not ready” middleware behavior for WebUI/non-WebUI builds
tools/server/public/loading.html Deletes committed static asset (moved out of repo)
tools/server/public/index.html Deletes committed static asset (moved out of repo)
tools/server/README.md Removes legacy Web UI/extension documentation section
tools/server/CMakeLists.txt Adds local-first + HF Bucket download fallback for WebUI assets
grammars/README.md Removes reference to legacy WebUI JS grammar tool path
common/common.h Makes common_params.webui default depend on compile-time macro
CMakeLists.txt Adds LLAMA_USE_PREBUILT_WEBUI option and formats option block
.gitignore Ignores tools/server/public directory now that it’s generated/downloaded
.github/workflows/webui-build.yml New reusable workflow to build and upload WebUI artifacts
.github/workflows/server.yml Adds dependency on WebUI build artifact for server jobs
.github/workflows/server-webui.yml Refactors to call reusable WebUI build workflow and reorganizes tests
.github/workflows/server-self-hosted.yml Adds dependency on WebUI build artifact for self-hosted server builds
.github/workflows/release.yml Adds dependency on WebUI build artifact for release jobs and sets LLAMA_BUILD_TAG
.github/labeler.yml Removes tools/server/public/** from label rules
.gitattributes Removes diff suppression for deleted generated WebUI file
.editorconfig Removes formatting overrides for deleted tools/server/public/** files
Files not reviewed (1)
  • tools/server/webui/package-lock.json: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread tools/server/CMakeLists.txt
Comment thread tools/server/CMakeLists.txt Outdated
Comment thread tools/server/CMakeLists.txt Outdated
Comment thread tools/server/CMakeLists.txt Outdated
Comment thread common/common.h
Comment thread tools/server/server-http.cpp Outdated
Comment thread .github/workflows/server-webui.yml Outdated
Comment thread .github/workflows/server-webui.yml Outdated
@allozaur allozaur requested review from CISC and ServeurpersoCom May 12, 2026 09:48
Comment thread .github/workflows/server-webui.yml Outdated
Comment thread .github/workflows/webui-build.yml Outdated
Comment thread .github/workflows/webui-publish.yml Outdated
Comment thread .github/workflows/webui-publish.yml Outdated
Comment thread .github/workflows/webui-publish.yml Outdated
@allozaur
Copy link
Copy Markdown
Contributor Author

Okay, perf. All worked on my fork:

Zrzut ekranu 2026-05-14 o 13 20 32 Zrzut ekranu 2026-05-14 o 13 20 10

@allozaur allozaur merged commit 253ba11 into ggml-org:master May 14, 2026
31 of 46 checks passed
@allozaur
Copy link
Copy Markdown
Contributor Author

I've removed all previous test uploads to HF Bucket and left only the latest so that building from source works for anyone with the fallback mechanism. Let's see how the actual release goes in few hours.

xxmustafacooTR pushed a commit to xxPlayground/llama-cpp-turboquant that referenced this pull request May 14, 2026
…#22937)

* ci: add workflow to publish webui to Hugging Face bucket

* ci: add webui release job to release workflow

* ci: test webui release job

* chore: Return to default minification strategy for build output files

* ci: extract webui build into separate workflow and job

* chore: Ignore webui static output + clean up references

* chore: Delete legacy webui static output

* chore: Ignore webui build static output

* fix: Workflow

* fix: Versioning naming

* chore: Update package name

* test: Test CI fix

* refactor: Naming

* server: implement webui build strategy with HF Bucket support

* chore: Remove test workflow

* chore: Use WebUI build workflow call in other workflows

* server: HF Buckets fallback for WebUI build

* refactor: App name variable

* refactor: Naming

* fix: Retrieve loading.html

* fix: workflow syntax

* fix: Rewrite malformed release.yml

* fix: Req param

* test: Re-add missing Playwright installation for CI tests

* refactor: Logic & security improvements

* refactor: Retrieve publishing jobs and DRY the workflows

* fix: Test workflow syntax

* fix: Upstream Release Tag for test workflow

* chore: Remove test workflow

* ci: Run WebUI jobs on `ubuntu-24.04-arm`

* refactor: Post-CR cleanup

Co-authored-by: Sigbjørn Skjæret <sigbjorn.skjaeret@scala.com>
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>

* refactor: CI cleanup

* refactor: Cleanup

* test: Test workflow

* refactor: use LLAMA_BUILD_NUMBER instead of LLAMA_BUILD_TAG for HF Bucket webui downloads

* server: add fallback mechanism for HF Bucket webui downloads from latest directory

* fix: Incorrect argument order in file(SHA256) calls for checksum verification

* refactor: Use cmake script for handling the HF Bucket download on build time

* feat: support local npm build for WebUI assets

* refactor: add `HF_ENABLED` flag to control WebUI build/download provisioning

* refactor: Cleanup

* chore: Remove test workflow

* fix: remove s390x from release workflow

* fix: add webui-build dependency to ubuntu-22-rocm and windows-hip

* Revert "fix: remove s390x from release workflow"

This reverts commit debcfff.

* fix: Release workflow file

* fix: Proper release tag used for HF Bucket upload

* fix: Remove duplicate steps in release workflow

---------

Co-authored-by: Sigbjørn Skjæret <sigbjorn.skjaeret@scala.com>
@CISC
Copy link
Copy Markdown
Member

CISC commented May 14, 2026

@allozaur allozaur deleted the allozaur/webui-build-strategy branch May 14, 2026 11:37
@allozaur
Copy link
Copy Markdown
Contributor Author

allozaur commented May 14, 2026

Seems downloading latest fails?

https://github.com/ggml-org/llama.cpp/actions/runs/25857292573/job/75978203319

It took this URL

-- WebUI: downloading assets from version: https://huggingface.co/buckets/ggml-org/llama-ui/resolve/1

So it seems it got 1 instead of latest.

I'll investigate further

@CISC
Copy link
Copy Markdown
Member

CISC commented May 14, 2026

So it seems it got 1 instead of latest.

It took latest afterwards, the 1 is normal when you checkout full depth.

@allozaur
Copy link
Copy Markdown
Contributor Author

So it seems it got 1 instead of latest.

It took latest afterwards, the 1 is normal when you checkout full depth.

Sorry, was checking this on GH Mobile and must have missed other rows in the log 😅 regardless, I'll see into that and let you know

@CISC
Copy link
Copy Markdown
Member

CISC commented May 14, 2026

So it seems it got 1 instead of latest.

It took latest afterwards, the 1 is normal when you checkout full depth.

Sorry, was checking this on GH Mobile and must have missed other rows in the log 😅 regardless, I'll see into that and let you know

Though, it should have been b1, so still incorrect. :)

xxmustafacooTR pushed a commit to xxPlayground/llama-cpp-turboquant that referenced this pull request May 14, 2026
…#22937)

* ci: add workflow to publish webui to Hugging Face bucket

* ci: add webui release job to release workflow

* ci: test webui release job

* chore: Return to default minification strategy for build output files

* ci: extract webui build into separate workflow and job

* chore: Ignore webui static output + clean up references

* chore: Delete legacy webui static output

* chore: Ignore webui build static output

* fix: Workflow

* fix: Versioning naming

* chore: Update package name

* test: Test CI fix

* refactor: Naming

* server: implement webui build strategy with HF Bucket support

* chore: Remove test workflow

* chore: Use WebUI build workflow call in other workflows

* server: HF Buckets fallback for WebUI build

* refactor: App name variable

* refactor: Naming

* fix: Retrieve loading.html

* fix: workflow syntax

* fix: Rewrite malformed release.yml

* fix: Req param

* test: Re-add missing Playwright installation for CI tests

* refactor: Logic & security improvements

* refactor: Retrieve publishing jobs and DRY the workflows

* fix: Test workflow syntax

* fix: Upstream Release Tag for test workflow

* chore: Remove test workflow

* ci: Run WebUI jobs on `ubuntu-24.04-arm`

* refactor: Post-CR cleanup

Co-authored-by: Sigbjørn Skjæret <sigbjorn.skjaeret@scala.com>
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>

* refactor: CI cleanup

* refactor: Cleanup

* test: Test workflow

* refactor: use LLAMA_BUILD_NUMBER instead of LLAMA_BUILD_TAG for HF Bucket webui downloads

* server: add fallback mechanism for HF Bucket webui downloads from latest directory

* fix: Incorrect argument order in file(SHA256) calls for checksum verification

* refactor: Use cmake script for handling the HF Bucket download on build time

* feat: support local npm build for WebUI assets

* refactor: add `HF_ENABLED` flag to control WebUI build/download provisioning

* refactor: Cleanup

* chore: Remove test workflow

* fix: remove s390x from release workflow

* fix: add webui-build dependency to ubuntu-22-rocm and windows-hip

* Revert "fix: remove s390x from release workflow"

This reverts commit debcfff.

* fix: Release workflow file

* fix: Proper release tag used for HF Bucket upload

* fix: Remove duplicate steps in release workflow

---------

Co-authored-by: Sigbjørn Skjæret <sigbjorn.skjaeret@scala.com>
marksverdhei added a commit to heiervang-technologies/ht-llama.cpp that referenced this pull request May 14, 2026
Re-enables svelte/no-unused-props, @typescript-eslint/no-explicit-any,
and the tight variant of @typescript-eslint/no-unused-vars that landed
disabled during the 2026-05-12 rebase. Those waivers were the
endurance-impaired answer to drift-zero — they hid the real surface
area rather than honouring it.

Visible debt after the revert (npm run lint):

  svelte/no-unused-props                65
  @typescript-eslint/no-explicit-any    40
  @typescript-eslint/no-unused-vars      2
  ────────────────────────────────────────
  total                                107

That number is the goalpost for the strategy-(b) Props re-derivation
follow-up. Up from b9df5c0's pre-fix count of 89 — the 31-commit
master catch-up (ggml-org#22937 chat.service.ts + +page shape shifts, the
autoscroll rework, new ChatMessage surfaces) introduced fresh Props
mismatches HT hasn't ported through yet.

Drift-zero conditional on waivers is not drift-zero. The pre-commit
hook and CI will fail on this lint surface until the cleanup lands —
that is the point. Bypassing the local hook via --no-verify is the
explicit fork-manager directive to surface debt as a tracked number
rather than mask it.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
marksverdhei added a commit to heiervang-technologies/ht-llama.cpp that referenced this pull request May 14, 2026
…loses #38)

The May 12 rebase landed with ChatMessageActions aliased to
ChatMessageActionCard (the thin 33-line card with {icon, message,
actions} Props) instead of ChatMessageActionIcons (the 215-line rich
icon-row that is the actual toolbar). Every message variant lost its
copy/edit/regenerate/speak buttons; the bug was silent because the
card component renders without error, it just renders the wrong thing.

The fix is the one-line alias swap. Its cost is visibility of the
Props mismatch: the two components have different Props shapes, so
the ~20 caller sites that pass {icon, message, actions} now type-fail
against ChatMessageActionIcons. b9df5c0 had the full surgery to
narrow Props back to upstream's shape, but skipping that commit on
the post-ggml-org#22937 rebase was deliberate (much of its body would strand
active upstream components). Re-derivation against the current
upstream surface is tracked as the strategy-(b) follow-up — see the
107-lint-error visible-debt commit on the same branch.

Visible debt after this commit:

  svelte-check          13 errors  (Props shape mismatches)
  eslint                107 errors (from prior waiver revert)
  ────────────────────────────────────────────────────
  total                 120

Both numbers feed the same goalpost. Pre-commit + CI will fail until
the cleanup lands — bypassed locally via --no-verify per the
fork-manager visible-debt directive.

Closes #38

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
xxmustafacooTR pushed a commit to xxPlayground/llama-cpp-turboquant that referenced this pull request May 15, 2026
…#22937)

* ci: add workflow to publish webui to Hugging Face bucket

* ci: add webui release job to release workflow

* ci: test webui release job

* chore: Return to default minification strategy for build output files

* ci: extract webui build into separate workflow and job

* chore: Ignore webui static output + clean up references

* chore: Delete legacy webui static output

* chore: Ignore webui build static output

* fix: Workflow

* fix: Versioning naming

* chore: Update package name

* test: Test CI fix

* refactor: Naming

* server: implement webui build strategy with HF Bucket support

* chore: Remove test workflow

* chore: Use WebUI build workflow call in other workflows

* server: HF Buckets fallback for WebUI build

* refactor: App name variable

* refactor: Naming

* fix: Retrieve loading.html

* fix: workflow syntax

* fix: Rewrite malformed release.yml

* fix: Req param

* test: Re-add missing Playwright installation for CI tests

* refactor: Logic & security improvements

* refactor: Retrieve publishing jobs and DRY the workflows

* fix: Test workflow syntax

* fix: Upstream Release Tag for test workflow

* chore: Remove test workflow

* ci: Run WebUI jobs on `ubuntu-24.04-arm`

* refactor: Post-CR cleanup

Co-authored-by: Sigbjørn Skjæret <sigbjorn.skjaeret@scala.com>
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>

* refactor: CI cleanup

* refactor: Cleanup

* test: Test workflow

* refactor: use LLAMA_BUILD_NUMBER instead of LLAMA_BUILD_TAG for HF Bucket webui downloads

* server: add fallback mechanism for HF Bucket webui downloads from latest directory

* fix: Incorrect argument order in file(SHA256) calls for checksum verification

* refactor: Use cmake script for handling the HF Bucket download on build time

* feat: support local npm build for WebUI assets

* refactor: add `HF_ENABLED` flag to control WebUI build/download provisioning

* refactor: Cleanup

* chore: Remove test workflow

* fix: remove s390x from release workflow

* fix: add webui-build dependency to ubuntu-22-rocm and windows-hip

* Revert "fix: remove s390x from release workflow"

This reverts commit debcfff.

* fix: Release workflow file

* fix: Proper release tag used for HF Bucket upload

* fix: Remove duplicate steps in release workflow

---------

Co-authored-by: Sigbjørn Skjæret <sigbjorn.skjaeret@scala.com>
dandm1 pushed a commit to dandm1/llama.cpp that referenced this pull request May 16, 2026
…#22937)

* ci: add workflow to publish webui to Hugging Face bucket

* ci: add webui release job to release workflow

* ci: test webui release job

* chore: Return to default minification strategy for build output files

* ci: extract webui build into separate workflow and job

* chore: Ignore webui static output + clean up references

* chore: Delete legacy webui static output

* chore: Ignore webui build static output

* fix: Workflow

* fix: Versioning naming

* chore: Update package name

* test: Test CI fix

* refactor: Naming

* server: implement webui build strategy with HF Bucket support

* chore: Remove test workflow

* chore: Use WebUI build workflow call in other workflows

* server: HF Buckets fallback for WebUI build

* refactor: App name variable

* refactor: Naming

* fix: Retrieve loading.html

* fix: workflow syntax

* fix: Rewrite malformed release.yml

* fix: Req param

* test: Re-add missing Playwright installation for CI tests

* refactor: Logic & security improvements

* refactor: Retrieve publishing jobs and DRY the workflows

* fix: Test workflow syntax

* fix: Upstream Release Tag for test workflow

* chore: Remove test workflow

* ci: Run WebUI jobs on `ubuntu-24.04-arm`

* refactor: Post-CR cleanup

Co-authored-by: Sigbjørn Skjæret <sigbjorn.skjaeret@scala.com>
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>

* refactor: CI cleanup

* refactor: Cleanup

* test: Test workflow

* refactor: use LLAMA_BUILD_NUMBER instead of LLAMA_BUILD_TAG for HF Bucket webui downloads

* server: add fallback mechanism for HF Bucket webui downloads from latest directory

* fix: Incorrect argument order in file(SHA256) calls for checksum verification

* refactor: Use cmake script for handling the HF Bucket download on build time

* feat: support local npm build for WebUI assets

* refactor: add `HF_ENABLED` flag to control WebUI build/download provisioning

* refactor: Cleanup

* chore: Remove test workflow

* fix: remove s390x from release workflow

* fix: add webui-build dependency to ubuntu-22-rocm and windows-hip

* Revert "fix: remove s390x from release workflow"

This reverts commit debcfff.

* fix: Release workflow file

* fix: Proper release tag used for HF Bucket upload

* fix: Remove duplicate steps in release workflow

---------

Co-authored-by: Sigbjørn Skjæret <sigbjorn.skjaeret@scala.com>
marksverdhei added a commit to heiervang-technologies/ht-llama.cpp that referenced this pull request May 16, 2026
…bui rename

Three coupled regressions surfaced when Markus hit super+A after the
2026-05-16 rebase: the Tauri shell binary was returning HTTP 500 on
/index.html because tools/server/public/ had been emptied by the
rebase (master's PR ggml-org#22937 moved the build sink to build/tools/ui/),
and the existing config kept pointing at the old paths.

Fixes in tauri.conf.json:

- beforeBuildCommand now `cd ../../ui && bun run build && copy → public`.
  The old `cd ../webui` path no longer exists; the appended copy step
  keeps tools/server/public/ populated so frontendDist resolves on a
  fresh checkout without manual intervention.
- beforeDevCommand and devUrl updated to match (and to bind 127.0.0.1
  rather than localhost so the dev server doesn't accidentally land on
  ::1).
- Window URL changed from http://localhost:5173/... → http://127.0.0.1:5173/...
  Sidesteps webkit2gtk's IPv6-first localhost resolution entirely. The
  embedded tiny-http server is already pinned IPv4 in src/lib.rs:73, so
  this makes both ends speak v4 explicitly and any future IPv6 squatter
  on 5173 can't intercept the webview.

.gitignore: tools/server/public/ is now a pure build sink, and the
tracked tts-default-ref.mp3 it carried was a stale duplicate of
tools/ui/static/tts-default-ref.mp3 (the SvelteKit canonical static).
Untracked it; the build step recopies the canonical file each time.

Diagnosed and fixed jointly with snoop-kube (cloud) and inventory-dev
(squatter cleanup) via /tmp/app-launch-summit.md.
@CISC
Copy link
Copy Markdown
Member

CISC commented May 17, 2026

@allozaur Hmmm, BTW, it seems that even though you make a stamp file, that stamp is never checked again, so once a build has been downloaded from HF bucket it will never get updated and you are stuck with this version until you clean/delete build.

@allozaur
Copy link
Copy Markdown
Contributor Author

@allozaur Hmmm, BTW, it seems that even though you make a stamp file, that stamp is never checked again, so once a build has been downloaded from HF bucket it will never get updated and you are stuck with this version until you clean/delete build.

Will follow up and make sure that it works right.

rsenthilkumar6 pushed a commit to rsenthilkumar6/llama.cpp that referenced this pull request May 19, 2026
…#22937)

* ci: add workflow to publish webui to Hugging Face bucket

* ci: add webui release job to release workflow

* ci: test webui release job

* chore: Return to default minification strategy for build output files

* ci: extract webui build into separate workflow and job

* chore: Ignore webui static output + clean up references

* chore: Delete legacy webui static output

* chore: Ignore webui build static output

* fix: Workflow

* fix: Versioning naming

* chore: Update package name

* test: Test CI fix

* refactor: Naming

* server: implement webui build strategy with HF Bucket support

* chore: Remove test workflow

* chore: Use WebUI build workflow call in other workflows

* server: HF Buckets fallback for WebUI build

* refactor: App name variable

* refactor: Naming

* fix: Retrieve loading.html

* fix: workflow syntax

* fix: Rewrite malformed release.yml

* fix: Req param

* test: Re-add missing Playwright installation for CI tests

* refactor: Logic & security improvements

* refactor: Retrieve publishing jobs and DRY the workflows

* fix: Test workflow syntax

* fix: Upstream Release Tag for test workflow

* chore: Remove test workflow

* ci: Run WebUI jobs on `ubuntu-24.04-arm`

* refactor: Post-CR cleanup

Co-authored-by: Sigbjørn Skjæret <sigbjorn.skjaeret@scala.com>
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>

* refactor: CI cleanup

* refactor: Cleanup

* test: Test workflow

* refactor: use LLAMA_BUILD_NUMBER instead of LLAMA_BUILD_TAG for HF Bucket webui downloads

* server: add fallback mechanism for HF Bucket webui downloads from latest directory

* fix: Incorrect argument order in file(SHA256) calls for checksum verification

* refactor: Use cmake script for handling the HF Bucket download on build time

* feat: support local npm build for WebUI assets

* refactor: add `HF_ENABLED` flag to control WebUI build/download provisioning

* refactor: Cleanup

* chore: Remove test workflow

* fix: remove s390x from release workflow

* fix: add webui-build dependency to ubuntu-22-rocm and windows-hip

* Revert "fix: remove s390x from release workflow"

This reverts commit debcfff.

* fix: Release workflow file

* fix: Proper release tag used for HF Bucket upload

* fix: Remove duplicate steps in release workflow

---------

Co-authored-by: Sigbjørn Skjæret <sigbjorn.skjaeret@scala.com>
ArberSephirotheca pushed a commit to ArberSephirotheca/llama.cpp that referenced this pull request May 19, 2026
…#22937)

* ci: add workflow to publish webui to Hugging Face bucket

* ci: add webui release job to release workflow

* ci: test webui release job

* chore: Return to default minification strategy for build output files

* ci: extract webui build into separate workflow and job

* chore: Ignore webui static output + clean up references

* chore: Delete legacy webui static output

* chore: Ignore webui build static output

* fix: Workflow

* fix: Versioning naming

* chore: Update package name

* test: Test CI fix

* refactor: Naming

* server: implement webui build strategy with HF Bucket support

* chore: Remove test workflow

* chore: Use WebUI build workflow call in other workflows

* server: HF Buckets fallback for WebUI build

* refactor: App name variable

* refactor: Naming

* fix: Retrieve loading.html

* fix: workflow syntax

* fix: Rewrite malformed release.yml

* fix: Req param

* test: Re-add missing Playwright installation for CI tests

* refactor: Logic & security improvements

* refactor: Retrieve publishing jobs and DRY the workflows

* fix: Test workflow syntax

* fix: Upstream Release Tag for test workflow

* chore: Remove test workflow

* ci: Run WebUI jobs on `ubuntu-24.04-arm`

* refactor: Post-CR cleanup

Co-authored-by: Sigbjørn Skjæret <sigbjorn.skjaeret@scala.com>
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>

* refactor: CI cleanup

* refactor: Cleanup

* test: Test workflow

* refactor: use LLAMA_BUILD_NUMBER instead of LLAMA_BUILD_TAG for HF Bucket webui downloads

* server: add fallback mechanism for HF Bucket webui downloads from latest directory

* fix: Incorrect argument order in file(SHA256) calls for checksum verification

* refactor: Use cmake script for handling the HF Bucket download on build time

* feat: support local npm build for WebUI assets

* refactor: add `HF_ENABLED` flag to control WebUI build/download provisioning

* refactor: Cleanup

* chore: Remove test workflow

* fix: remove s390x from release workflow

* fix: add webui-build dependency to ubuntu-22-rocm and windows-hip

* Revert "fix: remove s390x from release workflow"

This reverts commit debcfff.

* fix: Release workflow file

* fix: Proper release tag used for HF Bucket upload

* fix: Remove duplicate steps in release workflow

---------

Co-authored-by: Sigbjørn Skjæret <sigbjorn.skjaeret@scala.com>
baramofme pushed a commit to baramofme/llama-cpp-turboquant that referenced this pull request May 23, 2026
…#22937)

* ci: add workflow to publish webui to Hugging Face bucket

* ci: add webui release job to release workflow

* ci: test webui release job

* chore: Return to default minification strategy for build output files

* ci: extract webui build into separate workflow and job

* chore: Ignore webui static output + clean up references

* chore: Delete legacy webui static output

* chore: Ignore webui build static output

* fix: Workflow

* fix: Versioning naming

* chore: Update package name

* test: Test CI fix

* refactor: Naming

* server: implement webui build strategy with HF Bucket support

* chore: Remove test workflow

* chore: Use WebUI build workflow call in other workflows

* server: HF Buckets fallback for WebUI build

* refactor: App name variable

* refactor: Naming

* fix: Retrieve loading.html

* fix: workflow syntax

* fix: Rewrite malformed release.yml

* fix: Req param

* test: Re-add missing Playwright installation for CI tests

* refactor: Logic & security improvements

* refactor: Retrieve publishing jobs and DRY the workflows

* fix: Test workflow syntax

* fix: Upstream Release Tag for test workflow

* chore: Remove test workflow

* ci: Run WebUI jobs on `ubuntu-24.04-arm`

* refactor: Post-CR cleanup

Co-authored-by: Sigbjørn Skjæret <sigbjorn.skjaeret@scala.com>
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>

* refactor: CI cleanup

* refactor: Cleanup

* test: Test workflow

* refactor: use LLAMA_BUILD_NUMBER instead of LLAMA_BUILD_TAG for HF Bucket webui downloads

* server: add fallback mechanism for HF Bucket webui downloads from latest directory

* fix: Incorrect argument order in file(SHA256) calls for checksum verification

* refactor: Use cmake script for handling the HF Bucket download on build time

* feat: support local npm build for WebUI assets

* refactor: add `HF_ENABLED` flag to control WebUI build/download provisioning

* refactor: Cleanup

* chore: Remove test workflow

* fix: remove s390x from release workflow

* fix: add webui-build dependency to ubuntu-22-rocm and windows-hip

* Revert "fix: remove s390x from release workflow"

This reverts commit debcfff.

* fix: Release workflow file

* fix: Proper release tag used for HF Bucket upload

* fix: Remove duplicate steps in release workflow

---------

Co-authored-by: Sigbjørn Skjæret <sigbjorn.skjaeret@scala.com>
winstonma pushed a commit to winstonma/llama.cpp that referenced this pull request May 27, 2026
…#22937)

* ci: add workflow to publish webui to Hugging Face bucket

* ci: add webui release job to release workflow

* ci: test webui release job

* chore: Return to default minification strategy for build output files

* ci: extract webui build into separate workflow and job

* chore: Ignore webui static output + clean up references

* chore: Delete legacy webui static output

* chore: Ignore webui build static output

* fix: Workflow

* fix: Versioning naming

* chore: Update package name

* test: Test CI fix

* refactor: Naming

* server: implement webui build strategy with HF Bucket support

* chore: Remove test workflow

* chore: Use WebUI build workflow call in other workflows

* server: HF Buckets fallback for WebUI build

* refactor: App name variable

* refactor: Naming

* fix: Retrieve loading.html

* fix: workflow syntax

* fix: Rewrite malformed release.yml

* fix: Req param

* test: Re-add missing Playwright installation for CI tests

* refactor: Logic & security improvements

* refactor: Retrieve publishing jobs and DRY the workflows

* fix: Test workflow syntax

* fix: Upstream Release Tag for test workflow

* chore: Remove test workflow

* ci: Run WebUI jobs on `ubuntu-24.04-arm`

* refactor: Post-CR cleanup

Co-authored-by: Sigbjørn Skjæret <sigbjorn.skjaeret@scala.com>
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>

* refactor: CI cleanup

* refactor: Cleanup

* test: Test workflow

* refactor: use LLAMA_BUILD_NUMBER instead of LLAMA_BUILD_TAG for HF Bucket webui downloads

* server: add fallback mechanism for HF Bucket webui downloads from latest directory

* fix: Incorrect argument order in file(SHA256) calls for checksum verification

* refactor: Use cmake script for handling the HF Bucket download on build time

* feat: support local npm build for WebUI assets

* refactor: add `HF_ENABLED` flag to control WebUI build/download provisioning

* refactor: Cleanup

* chore: Remove test workflow

* fix: remove s390x from release workflow

* fix: add webui-build dependency to ubuntu-22-rocm and windows-hip

* Revert "fix: remove s390x from release workflow"

This reverts commit debcfff.

* fix: Release workflow file

* fix: Proper release tag used for HF Bucket upload

* fix: Remove duplicate steps in release workflow

---------

Co-authored-by: Sigbjørn Skjæret <sigbjorn.skjaeret@scala.com>
fewtarius pushed a commit to fewtarius/llama.cpp that referenced this pull request May 30, 2026
…#22937)

* ci: add workflow to publish webui to Hugging Face bucket

* ci: add webui release job to release workflow

* ci: test webui release job

* chore: Return to default minification strategy for build output files

* ci: extract webui build into separate workflow and job

* chore: Ignore webui static output + clean up references

* chore: Delete legacy webui static output

* chore: Ignore webui build static output

* fix: Workflow

* fix: Versioning naming

* chore: Update package name

* test: Test CI fix

* refactor: Naming

* server: implement webui build strategy with HF Bucket support

* chore: Remove test workflow

* chore: Use WebUI build workflow call in other workflows

* server: HF Buckets fallback for WebUI build

* refactor: App name variable

* refactor: Naming

* fix: Retrieve loading.html

* fix: workflow syntax

* fix: Rewrite malformed release.yml

* fix: Req param

* test: Re-add missing Playwright installation for CI tests

* refactor: Logic & security improvements

* refactor: Retrieve publishing jobs and DRY the workflows

* fix: Test workflow syntax

* fix: Upstream Release Tag for test workflow

* chore: Remove test workflow

* ci: Run WebUI jobs on `ubuntu-24.04-arm`

* refactor: Post-CR cleanup

Co-authored-by: Sigbjørn Skjæret <sigbjorn.skjaeret@scala.com>
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>

* refactor: CI cleanup

* refactor: Cleanup

* test: Test workflow

* refactor: use LLAMA_BUILD_NUMBER instead of LLAMA_BUILD_TAG for HF Bucket webui downloads

* server: add fallback mechanism for HF Bucket webui downloads from latest directory

* fix: Incorrect argument order in file(SHA256) calls for checksum verification

* refactor: Use cmake script for handling the HF Bucket download on build time

* feat: support local npm build for WebUI assets

* refactor: add `HF_ENABLED` flag to control WebUI build/download provisioning

* refactor: Cleanup

* chore: Remove test workflow

* fix: remove s390x from release workflow

* fix: add webui-build dependency to ubuntu-22-rocm and windows-hip

* Revert "fix: remove s390x from release workflow"

This reverts commit debcfff.

* fix: Release workflow file

* fix: Proper release tag used for HF Bucket upload

* fix: Remove duplicate steps in release workflow

---------

Co-authored-by: Sigbjørn Skjæret <sigbjorn.skjaeret@scala.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

build Compilation issues devops improvements to build systems and github actions examples script Script related server/webui server

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature Request: Handle building the webui static output via GH Actions workflow

5 participants