Skip to content

feat(release): package the Go release (static binary + prebuilt frontend) - #316

Merged
gnacho merged 1 commit into
mainfrom
feat/go-release-packaging
Oct 23, 2026
Merged

gnacho merged 1 commit into
mainfrom
feat/go-release-packaging

Conversation

@gnacho

@gnacho gnacho commented Oct 23, 2026

Copy link
Copy Markdown
Owner

Part of #304 (phase 7 packaging): the release artifacts switch from the Node tarball (server/dist + node_modules per arch) to the Go layout.

  • release.yml: matrix build of the static Go binary per arch (native runners, CGO_ENABLED=0, -ldflags version), frontend build, single tarball with dist/ + deltos-go + deploy/ + install.sh, combined checksums. Tests: go test -race replaces the vitest job.
  • deltos-update.sh: installs the binary atomically (install to .new + mv, avoiding Text file busy while the service runs), keeps .env, data and both layouts (capistrano/plano) with documented rollbacks.
  • install.sh: no versioned Node runtime, no xz dependency; ExecStart points at current/deltos-go; fresh installs get a random SESSION_SECRET (>= 32 chars, production-safe).

Validated locally: sh -n both scripts, actionlint clean, no NODE_* leftovers, and the exact packaging steps executed by hand produce a tarball with the layout both scripts expect.

@gnacho
gnacho merged commit d677165 into main Oct 23, 2026
4 checks passed
@gnacho
gnacho deleted the feat/go-release-packaging branch October 23, 2026 17:00
gnacho added a commit that referenced this pull request Oct 23, 2026
…end) (#316)

Phase 7 packaging for #304: release artifacts switch to the Go layout (static binary + prebuilt frontend + deploy scripts + installer). Atomic binary install in the updater, no Node runtime in the installer, random SESSION_SECRET on fresh installs. Validated locally (script syntax, actionlint, hand-run packaging) and by CI.
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