9 Commits
Author SHA1 Message Date
Duy /zuey/andGitHub 3e7876a4b4 fix(ci): avoid zuey release asset race (#129) 2026-05-31 22:37:08 +07:00
Duy /zuey/andGitHub 64c02ea5a6 ci: speed up zuey beta deploy (#127)
* ci: speed up zuey beta deploy

* ci: mark issue 88 plan complete
2026-05-31 21:47:28 +07:00
Duy /zuey/andGitHub 74930a1625 fix(ci): base64-encode zuey SSH key secret to dodge libcrypto error (#79)
* fix(ci): base64-encode zuey SSH key secret to dodge libcrypto error

First real deploy_zuey_beta run failed at the new 'Sync zuey ops scripts
to VPS' step with 'Load key: error in libcrypto' / Permission denied,
because GitHub Secrets storage normalized newlines inside the multi-line
PEM block.

Switch the secret to ZUEY_SSH_PRIVATE_KEY_B64 (single-line base64) and
base64 -d it on the runner. Single-line storage is immune to whitespace
mangling. Add a ssh-keygen -y -f pre-flight check that fails fast with
a clear remediation message if either the base64 or the decoded key is
malformed.

Refs: workflow run 26499549166

* fix(ci): create SSH key at 0600 from birth via umask 077

Defense-in-depth from review of PR #79: wrap the base64-decode pipeline
in a subshell that sets umask 077 so the decoded private key file is
created at 0600 directly, instead of relying on a chmod 0600 after the
fact (which left a brief 0644 window).
2026-05-27 17:59:08 +07:00
Goon 17845305dc feat(deploy): track zuey ops scripts in repo + CI auto-sync
- Move scripts/goclaw-upgrade-release.sh -> scripts/zuey/goclaw-upgrade-release.sh
- Add scripts/zuey/goclaw-deploy.sh (canonical source for /usr/local/bin/goclaw-deploy)
  with self-loop symlink guard fix: readlink -f ... 2>/dev/null || true + warn
  when previous resolves to empty. Without this, /opt/goclaw/current -> current
  aborts set -euo pipefail before ln -sfn fixes the symlink (observed 2026-05-27,
  silently failing every deploy_zuey_beta CI run).
- Wire Sync zuey ops scripts to VPS step in dev-beta-release.yaml:
  scp + sudo install both scripts before triggering gateway upgrade endpoint.
  Backup-if-changed via cmp -s; root:root 0755; bash -n syntax check; key shred.
  Gracefully skips with warning if ZUEY_SSH_PRIVATE_KEY or ZUEY_SUDO_PASS unset.
- Document required secrets and manual sync recipe in docs/deployment-guide.md.
- Changelog entry 2026-05-27.
2026-05-27 15:18:08 +07:00
Duy /zuey/andGitHub 8b661951c0 fix(deploy): detach gateway upgrades from service (#45) 2026-05-22 21:53:10 +07:00
Duy /zuey/andGitHub faa195156e feat(ci): deploy zuey beta releases (#40)
* feat(ci): deploy zuey beta releases

Add automatic zuey VPS deployment to the dev beta release workflow after prerelease assets are published. Publish beta checksums and make the host upgrade script tolerate beta asset naming and checksum fallback.

* fix(deploy): allow active beta release reruns

Treat an existing target release as success only when it is already the active release and still contains the expected binary and migrations. This keeps automated beta deploy reruns from failing after a prior successful deploy while preserving fail-closed behavior for stale or partial release directories.
2026-05-22 19:49:43 +07:00
Duy /zuey/andGitHub 134cc7119f docs(deployment): document codex service user auth (#17) 2026-05-18 20:23:41 +07:00
Duy Nguyen f09b08e44f feat(gateway): add remote release upgrade trigger 2026-05-18 06:56:17 +07:00
Duy Nguyen 0b6ecdecfe docs(deploy): add sanitized VPS deployment runbook 2026-05-17 20:47:33 +07:00