Skip to content

Tags: uhryniuk/godo

Tags

v1.2.1

Toggle v1.2.1's commit message
chore: run go fmt

v1.2.0

Toggle v1.2.0's commit message
feat(cmd): resolve command to absolute path before sending to daemon

exec.LookPath runs in the CLI process, which has the user's current
shell PATH (virtualenvs, nvm, pyenv shims, etc.). The resolved absolute
path is what gets stored in the job registry and passed to pty.Start,
so the daemon never needs to re-resolve it against its own (potentially
stale) PATH.

Fails fast at the CLI with a clear error if the command isn't found,
rather than surfacing a confusing pty.Start error from the daemon.

v1.1.0

Toggle v1.1.0's commit message
feat(cmd): add services list command

godo services (aliases: svc, svcs, service) lists every *.toml in
~/.godo/services/ as a table with NAME, COMMAND, AUTOSTART, RESTART,
CRON, FILE, and STATUS columns. Files that fail to parse appear as error
rows so broken configs are surfaced without hiding healthy ones.

Adds service.LoadAllWithErrors to return per-file errors as a map keyed
by absolute path instead of a single combined error string.

v1.0.1

Toggle v1.0.1's commit message
fix(tests): resolve macOS test failures

Two issues caused all tests to fail on macOS:

- sockaddr_un.sun_path is limited to 103 chars on macOS vs 107 on Linux.
  t.TempDir() embeds the full test name in the path, pushing long names
  past the limit and silently breaking net.Listen. Switched test helpers
  to os.MkdirTemp which omits the test name from the path.

- procIsStopped read /proc/<pid>/status which does not exist on macOS.
  Split into lifecycle_linux_test.go (/proc) and lifecycle_darwin_test.go
  (ps -o state=, checking first char is T since macOS returns "TN" etc.)

v1.0.0

Toggle v1.0.0's commit message
ci: add goreleaser release workflow and bump protocol version to 1.0.0