Spaces:
Sleeping
Sleeping
Commit History
-
Bump actions/checkout to v5
v4 is pinned to Node 20, which runners now force onto Node 24 with a deprecation warning on every run. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>1933995 -
Sync the HF Space from CI on every push to main
Builds the image on a runner, boots it, and asserts the three things that matter — it exits nonzero without OPENCODE_SERVER_PASSWORD, answers /api/health with basic auth, and serves the web UI on / — before pushing anything. A Dockerfile that only breaks on the Space would otherwise leave it parked in BUILD_ERROR with no signal here. The push is forced because GitHub is the source of truth; a hand-edit in the Space's web UI should not be able to block a deploy. The HF username is derived from the token via whoami rather than stored, which also turns a bad token into a clear error instead of an opaque git failure. Finally the job polls the Space until it reports RUNNING so a red check means a broken deploy, not just a failed push. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>e85a4d4
-
Add deployable opencode server image for HF Spaces and Railway
One Dockerfile serving both hosts. entrypoint.sh resolves the port at runtime ($PORT on Railway, 7860 to match app_port on HF Spaces), detects a writable /data mount and points the XDG dirs and workspace at it so sessions, provider logins and code survive restarts, and refuses to start without OPENCODE_SERVER_PASSWORD — every route on this server allows shell execution, so basic auth is not optional on a public URL. opencode is installed at build time rather than on first boot, since a free Space's filesystem is ephemeral and would otherwise re-download the release on every cold start. The installer hardcodes $HOME/.opencode/bin and ignores OPENCODE_INSTALL_DIR, so the binary is moved onto the shared PATH afterwards. The node images already ship a uid-1000 user, which is what HF Spaces requires, so `node` is reused instead of adding a colliding one. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>5bd2d41