ops(svos): v0.0.21 (UI 0.0.25, the /tasks draft survives a hidden tab) staged on nh3-svos; publish gated on the tag

This commit is contained in:
vh
2026-10-19 01:03:18 -07:00
parent f9ec331919
commit 265faa4b15
2 changed files with 52 additions and 0 deletions
@@ -0,0 +1,26 @@
# nh3-svos -> SVOS v0.0.21 (45d3a48): UI-only publish. UI 0.0.25 (the /tasks draft runs on its own request channel and
# survives a hidden tab / a session publish that is not ready). Kernel 0.0.21 = a version bump; no app change, no card.
# svos-dev's request, thread 01M59JY4V62Z43WZ0CWZGERK8M. PRE-REQS: the stage playbook; origin's v0.0.21 == 45d3a48a8919
# (git ls-remote on nh3-dev before this runs). current must move because svos-front-inventory generates from
# /opt/svos/current/static; NOTHING restarts: the kernel, knowledge, judge and voice keep running 15c2d04's code and the
# interface 6d4cb1c's (all identical in code), so keep both dirs until those processes restart.
steps:
- name: Pre-reqs present
sudo: true
shell: test -f /opt/svos/releases/45d3a48/static/index.html && readlink /opt/svos/current
changed_when: "false"
- name: Switch current to 45d3a48
sudo: true
shell: ln -sfn /opt/svos/releases/45d3a48 /opt/svos/current.new && chgrp -h svc-svos /opt/svos/current.new && mv -T /opt/svos/current.new /opt/svos/current && readlink /opt/svos/current
- name: Front door inventory (UI 0.0.25 live; 81cc5a2 becomes previous)
sudo: true
shell: /usr/local/sbin/svos-front-inventory 2>&1 | grep -E 'GENERATED|updated|root \*|path /assets' | head -4
verify:
- name: Front door inventory current; health unchanged
sudo: true
shell: /usr/local/sbin/svos-front-inventory --check && curl -s http://127.0.0.1:8400/health && echo
changed_when: "false"
- name: Which release dir each running service maps (nothing restarted)
sudo: true
shell: for u in svos-kernel svos-interface svos-knowledge svos-judge svos-voice; do pid=$(systemctl show $u -p MainPID --value); printf '%s %s\n' $u "$(grep -oE '/opt/svos/releases/[0-9a-f]+' /proc/$pid/maps | sort -u | tr '\n' ' ')"; done
changed_when: "false"