Skip to content

release: version flag, tagged binary releases, systemd unit#38

Merged
CMGS merged 2 commits into
mainfrom
feat/release-channel
Jul 13, 2026
Merged

release: version flag, tagged binary releases, systemd unit#38
CMGS merged 2 commits into
mainfrom
feat/release-channel

Conversation

@CMGS

@CMGS CMGS commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

The "single static binary" story gets its last mile: a way to know what you are running, a place to download it, and a unit to run it under.

  • sandboxd -version: stamped via -ldflags -X main.version (make sandboxd uses git describe --match 'v*', so SDK tags don't leak in); untagged builds fall back to the Go-embedded VCS revision. The version is also logged once at startup, so journals identify the running build.
  • release.yml: a v* tag builds static linux/amd64 sandboxd + sandbox-mcp (CGO_ENABLED=0 -trimpath -s -w), writes SHA256SUMS, and publishes a GitHub release with generated notes. SDK packages keep their separate sdk-*-v* → PyPI path.
  • packaging/sandboxd.service: the minimal unit from deploy.md, shipped as a file; deploy.md now points at releases and the unit.

Hot-path cost: zero — a startup log line and a flag.

Evidence: make sandboxd && dist/sandboxd -versionsandboxd 6615de0-dirty (VCS fallback path, no v* tag yet); module tests green; dual-GOOS lint 0 issues; the workflow first fires on the first v* tag.

@CMGS CMGS merged commit f6ef221 into main Jul 13, 2026
1 check passed
@CMGS CMGS deleted the feat/release-channel branch July 13, 2026 07:06
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