Skip to content

WebUI license texts: LF digest, a hard check on every run and every PR - #572

Merged
bernardladenthin merged 1 commit into
mainfrom
fix/webui-lockfile-digest
Oct 25, 2026
Merged

bernardladenthin merged 1 commit into
mainfrom
fix/webui-lockfile-digest

Conversation

@bernardladenthin

Copy link
Copy Markdown
Owner

The release run of v6.0.0 (40238595195) failed in Build WebUI assets (shared):

tools/ui/package-lock.json is d4f8f7d8…, the WebUI license texts were generated from ca12fa34…

Cause: the texts in llama/legal/natives/webui-npm were generated from a Windows checkout of llama.cpp (core.autocrlf), so LOCKFILE.sha256 recorded the digest of the CRLF lockfile. CI's Linux checkout of the same commit (6050b467, b11887) has LF: git show 6050b467c:tools/ui/package-lock.json | sha256sum = d4f8f7d8…, the CRLF working copy = ca12fa34…. Same lockfile, so the package list and the texts are right; only the recorded digest was wrong. Every snapshot run passed this check with a warning (--warn-only outside refs/tags/v*), so the release run was the first to stop. Nothing was published: every native build waits for build-webui.

Changes

  • webuilicenses.lockfile_digest hashes the lockfile with LF line ends; LOCKFILE.sha256 records d4f8f7d8…. New test: CRLF and LF give the same digest (red without the fix).
  • The check fails on every run; --warn-only is removed from the CLI and from build-webui.
  • New workflow webui-licenses.yml: the same check on every pull request and push -- sparse checkout of tools/ui at the pin, no npm, contents: read. Publish runs of pull requests are usually cancelled at the start gate, so build-webui alone would still only catch it in a dispatch.
  • CLAUDE.md (build-check table) and the bump runbook say so.

Local: the check against the pinned tools/ui passes (CRLF working copy, i.e. the case that broke); buildcheck tests 98, the same 3 Windows-local failures as on main; YAML of both workflows parses; run scripts 135 parse; release gate, templates, check-natives.py clean. The other refs/tags/v conditions in publish.yml are USE_CACHE and check-snapshot/check-tag only.

After the merge (owner): nothing of 6.0.0 was published, so move the tag to the merge commit and dispatch again:

git push origin :refs/tags/v6.0.0
git tag -f -a v6.0.0 <merge commit> -m "v6.0.0"
git push origin v6.0.0

🤖 Generated with Claude Code

https://claude.ai/code/session_01VszvDmRRPP1UcwozsUMY1L

The release run of v6.0.0 (40238595195) failed in build-webui: the texts
in llama/legal/natives/webui-npm were generated from a Windows checkout of
llama.cpp, so LOCKFILE.sha256 recorded the digest of the CRLF lockfile
(ca12fa34) while CI's Linux checkout of the same commit hashes d4f8f7d8.
The package list itself is right: same lockfile, other line ends.

- lockfile_digest hashes the lockfile with LF line ends, and
  LOCKFILE.sha256 records d4f8f7d8; a test pins that CRLF and LF agree.
- The check fails on every run. It only warned outside a release tag, so
  the snapshot runs passed it with a warning and the release run was the
  first to stop; --warn-only is gone.
- webui-licenses.yml runs the check on every pull request and push (a
  sparse checkout, no npm), because the Publish runs of pull requests are
  usually cancelled at the start gate.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VszvDmRRPP1UcwozsUMY1L
@coderabbitai

coderabbitai Bot commented Oct 25, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Caution

Review failed

The pull request is closed.

Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

@bernardladenthin
bernardladenthin merged commit b5ab4e3 into main Oct 25, 2026
10 of 17 checks passed
@bernardladenthin
bernardladenthin deleted the fix/webui-lockfile-digest branch October 25, 2026 22:11
@sonarqubecloud

Copy link
Copy Markdown

This branch had an error being deployed

1 failed deployment
maven-central — 0db698dc Deployed Oct 25, 2026 by bernardladenthin via Verify GPG signing key (no secrets printed) #1373
startgate — 0db698dc Deployed Oct 25, 2026 by bernardladenthin via Start gate (abort window) #1373
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.

1 participant