fix(skill-build): use --host/--port for thv serve and correct health-check path#17
Merged
Merged
Conversation
…path The skill-build action started the ToolHive daemon with `thv serve --address`, a flag no released thv supports, so daemon startup failed with "unknown flag: --address" (closes #16). Upstream thv exposes `--host`/`--port` for `thv serve`. Two further latent bugs from upstream drift are fixed alongside it: - The readiness probe polled `/api/v1beta/health`, but the health route is mounted at top-level `/health`. The old path 404s, which would have timed out the 30s wait even after the flag fix. - `/health` returns 503 when no container runtime is present, and `curl -sf` fails on 503. Skill build/push only package OCI artifacts and do not need a container runtime, so readiness now treats any HTTP response (including 503) as "daemon up". This also unblocks runners without Docker (relates to #3). Adds a daily scheduled CI run so future breakage from upstream ToolHive "latest" releases is caught proactively rather than at the next push. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
JAORMX
approved these changes
Jun 17, 2026
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.
Summary
Fixes the
skill-buildaction, which is broken at runtime withError: unknown flag: --address. Verified against the ToolHive v0.29.1 source (cmd/thv/app/server.go,pkg/api/server.go,pkg/api/v1/healthcheck.go).Closes #16.
Root cause
The action installs
thv@latestand starts a daemon to servethv skill build/thv skill push. It passed CI at merge time (2026-03-10) but upstreamthvlater drifted, breaking three things — only the first is fatal:thv serve --addressno longer exists 🔴 —serveregisters--host(default127.0.0.1) and--port(default8080), not--address. This is the reported hard failure./api/v1beta/health, but the health route is mounted at top-level/health. The old path 404s and would have timed out the 30s wait even after fixing the flag./healthreturns503unless a container runtime (Docker/Podman) is running, andcurl -sffails on503. Skill build/push only package OCI artifacts (viago-containerregistry) and don't need a runtime, so readiness should not depend on it.Changes
thv serve --address "127.0.0.1:${PORT}"→thv serve --host "127.0.0.1" --port "${PORT}"/healthand accept any HTTP response (including503) as "daemon up" — which also unblocks runners without Docker (relates to macOS: Container runtime not available for Toolhive #3).scheduletrigger totest.ymlso future breakage from upstreamthv@latestreleases is caught proactively rather than at the next push. (Thetest-skill-build-actionjob already existed; it simply hadn't re-run since the upstream change.)Testing
thv serveflags, the/healthmount point, and the503-without-runtime behavior were confirmed directly in the ToolHive v0.29.1 source.test-skill-build-actionend-to-end againstthv@latest.🤖 Generated with Claude Code