ci: prepare Claude Desktop changelog entry

This commit is contained in:
Alexandre
2026-08-02 17:55:41 +02:00
parent 0664e00ad1
commit 57aac487c5

View File

@@ -0,0 +1,49 @@
name: Prepare Claude Desktop changelog
on:
push:
branches:
- agent/claude-headroom-memory
permissions:
contents: write
jobs:
update-changelog:
if: github.actor != 'github-actions[bot]'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7.0.1
with:
ref: agent/claude-headroom-memory
fetch-depth: 0
- name: Prepend release note and remove this one-shot workflow
shell: bash
run: |
python3 - <<'PY'
from pathlib import Path
path = Path("claude_desktop/CHANGELOG.md")
text = path.read_text()
marker = "## 1.38 (02-08-2026)"
if marker not in text:
entry = """## 1.38 (02-08-2026)
- Reduce Claude Desktop add-on RAM use in three places without removing Headroom, RTK, TokenSave, Cowork, Dispatch, or the streamed desktop. Headroom's heavy HTTP proxy is no longer started at container boot: a standard-library TCP gate stays on port 8787, starts the real proxy on the first request, and stops it after 15 minutes without traffic (`HEADROOM_IDLE_TIMEOUT_SECONDS` remains overridable through `env_vars`). This releases the proxy's Python, ONNX Runtime, tokenizer, and Kompress model allocations while the add-on is idle; a later request starts a clean backend transparently.
- Prevent Headroom from loading a second Kompress model inside every Claude Desktop/Claude Code MCP process. The add-on now intercepts `headroom mcp serve` with a lightweight adapter that retains upstream MCP retrieval/statistics behavior but delegates `headroom_compress` to the shared proxy's loopback `/v1/compress` endpoint. The MCP process explicitly disables local Kompress and never imports `headroom.compress`, so only the proxy backend can own the ML runtime.
- Remove the add-on-wide `tmpfs: true` mount and undo the shared Selkies script's `/tmp/cache` redirection for this add-on. Electron/Chromium, Mesa, and application caches now live under the selected persistent home (`$HOME/.cache`) as reclaimable filesystem cache instead of RAM-backed cgroup shmem. Runtime sockets and XDG runtime state remain under `/run`.
"""
path.write_text(entry + text)
PY
rm -f .github/workflows/agent-claude-changelog.yml
- name: Commit changelog
shell: bash
run: |
git config user.name "github-actions[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
git add claude_desktop/CHANGELOG.md .github/workflows/agent-claude-changelog.yml
git commit -m "docs(claude_desktop): document memory reduction"
git push origin HEAD:agent/claude-headroom-memory