ops(svos): v0.0.25 (UI 0.0.29, U23 the tree in depth) staged on nh3-svos; publish gated on the tag
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
# nh3-svos: STAGE SVOS v0.0.25 (f40bf6d) beside the live release. Installs into /opt/svos/releases/f40bf6d and runs the
|
||||
# new kernel's check-config against the live configuration. Does NOT switch current, stop or start anything.
|
||||
# svos-dev's request (thread 01M5ADWS1PZ5NWRXAVJVWGYTAE): UI 0.0.29 (U23 the tree in depth); kernel 0.0.25 is a
|
||||
# version bump; everything else carried from d14dc94. Built from the LOCAL tag before the push; the publish
|
||||
# (nh3-svos-f40bf6d-v0.0.25.yaml) first needs origin's v0.0.25 to name the same commit.
|
||||
steps:
|
||||
- name: Private staging dir
|
||||
shell: install -d -m 0700 /tmp/svos-stage-f40bf6d
|
||||
- {name: stage release, upload: {src: /tmp/claude-1000/-home-lkraven-development-eshpfi-management/e0be18fd-0734-4786-b933-904f0a74d2a2/scratchpad/svos-f40bf6d/svos-release-f40bf6d.tar.gz, dest: /tmp/svos-stage-f40bf6d/release.tar.gz, mode: "0644"}}
|
||||
- {name: stage uv, upload: {src: /home/lkraven/bin/uv, dest: /tmp/svos-stage-f40bf6d/uv, mode: "0755"}}
|
||||
- {name: stage installer, upload: {src: /tmp/claude-1000/-home-lkraven-development-eshpfi-management/e0be18fd-0734-4786-b933-904f0a74d2a2/scratchpad/svos-f40bf6d/install-release.py, dest: /tmp/svos-stage-f40bf6d/install-release.py, mode: "0644"}}
|
||||
- name: Verify staged hashes
|
||||
shell: cd /tmp/svos-stage-f40bf6d && printf '%s %s\n' bd343895eb9acac3e45057035b49e847f164e42478c9d244d41dd7793588eb1a release.tar.gz 83aa128da93e168283ed32cf75cd819fe17b135b3fc1f7ccb3c912eec198d9fb uv | sha256sum -c -
|
||||
changed_when: "false"
|
||||
- name: Install release f40bf6d beside the live one (current NOT switched)
|
||||
sudo: true
|
||||
shell: python3 /tmp/svos-stage-f40bf6d/install-release.py
|
||||
creates: /opt/svos/releases/f40bf6d/apps-env/pyvenv.cfg
|
||||
verify:
|
||||
- name: New kernel 0.0.25 accepts the live configuration as it is
|
||||
sudo: true
|
||||
shell: runuser -u svc-svos -- /opt/svos/releases/f40bf6d/kernel-env/bin/svos-kernel check-config --data-root /var/lib/svos
|
||||
changed_when: "false"
|
||||
- name: current still points at the live release
|
||||
shell: readlink /opt/svos/current
|
||||
changed_when: "false"
|
||||
@@ -0,0 +1,26 @@
|
||||
# nh3-svos -> SVOS v0.0.25 (f40bf6d): UI-only publish. UI 0.0.29 (U23: the hero's tree drawn in depth, skin only).
|
||||
# Kernel = a version bump; no app change, no manifest revision, no card.
|
||||
# svos-dev's request, thread 01M5ADWS1PZ5NWRXAVJVWGYTAE. PRE-REQS: the stage playbook; origin's v0.0.25 == f40bf6d78d06
|
||||
# (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 and voice keep running 2f29d0d's code and the judge and
|
||||
# interface d14dc94's (all identical in code to f40bf6d), so keep both dirs until those processes restart.
|
||||
steps:
|
||||
- name: Pre-reqs present
|
||||
sudo: true
|
||||
shell: test -f /opt/svos/releases/f40bf6d/static/index.html && readlink /opt/svos/current
|
||||
changed_when: "false"
|
||||
- name: Switch current to f40bf6d
|
||||
sudo: true
|
||||
shell: ln -sfn /opt/svos/releases/f40bf6d /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.29 live; d14dc94 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"
|
||||
Reference in New Issue
Block a user