github nesquena/hermes-webui v0.51.87
v0.51.87 — Release BK (stage-380) — 2-PR Docker hygiene + CI gate

latest releases: v0.51.89, v0.51.88
2 hours ago

Release BK — stage-380 — 2-PR Docker hygiene + CI gate

Closes the source-only-test gap that v0.51.84 (#2470) opened. The :ro mount + chown -h ... {} + regression silently shipped through 5800+ green pytests — this release adds a real Docker runtime smoke gate that builds, mounts, and health-checks every compose variant on every PR.

Fixed

  • #2490 by @nesquena-hermes — Multi-container Docker startup is no longer broken by the v0.51.84 :ro mount on hermes-agent-src. docker_init.bash now stages the agent source into /tmp/hermes-agent-build via rsync (with a cp -a fallback) and runs the uv pip install against that writable copy, leaving the underlying :ro mount untouched. Caught by the new smoke gate (below) on its very first CI run against its own PR.

Infrastructure

  • #2490 by @nesquena-hermes — Add a Docker runtime smoke gate (.github/workflows/docker-smoke.yml) triggered on PRs touching Dockerfile, docker_init.bash, docker-compose*.yml, .dockerignore, or .env.docker.example. Validates every compose file parses, then matrix-runs single / two-container / three-container variants end-to-end against a real Docker daemon: rebuilds the local Dockerfile, brings the stack up with a 120s health window, probes /health, and greps startup logs for known-bad signatures (EROFS, Traceback, PermissionError, error_exit, !! ERROR, !! Exiting script, etc.). Per-run project names + EXIT-trap teardown for safe concurrency on self-hosted runners.

Added

  • #2482 by @Michaelyklam (refs #2453) — Add a durable source/API boundary inventory for the WebUI's remaining Hermes Agent source dependencies: chat execution, runtime events, profiles, goals, slash/plugin commands, provider/auth/model catalogs, redaction parity, and imported Agent/Gateway sessions. The new RFC tracks the replacement API contracts needed before the source mount can be removed.

Changed

  • #2482 by @Michaelyklam (refs #2453) — Make the multi-container source boundary more explicit: Docker docs and README link the boundary inventory, and docker_init.bash emits a startup warning when the WebUI sees a writable agent-source mount instead of the default read-only hermes-agent-src mount.

Verification

  • pytest: 5894 passed, 6 skipped, 3 xpassed, 0 failed
  • Docker runtime smoke: single ✓, two-container ✓, three-container ✓ (the gate that's being added validated itself)
  • Opus advisor: SHIP — verified merged docker_init.bash region order (warning → staging copy → install → cleanup), CHANGELOG hygiene, BAD_PATTERNS includes the new error markers
  • CI: 3.11 / 3.12 / 3.13 all green plus 4 Docker smoke jobs all green
  • Tag SHA verified against merge commit

Don't miss a new hermes-webui release

NewReleases is sending notifications on new releases.