unoverse 0.1.147 → 0.1.148

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -77,6 +77,35 @@
77
77
  docker compose up -d 2>&1 | tail -6
78
78
  register: up_result
79
79
 
80
+ # `up -d` RECREATES ON CONFIG CHANGE, NOT ON IMAGE CHANGE — not reliably, and not on
81
+ # every compose version. On a live ground it moved every service to the new images
82
+ # except one: umap's new image was pulled and sitting on disk while the container kept
83
+ # running the old one, twice across two deploys, and the only symptom was a model bug
84
+ # that had already been fixed. So the deploy verifies its own work: any service whose
85
+ # running container is not on the image its tag now points to is recreated by name.
86
+ - name: "[3b/4] Recreate services the restart left on an old image"
87
+ shell: |
88
+ cd {{ gravity_dir }}
89
+ stale=""
90
+ for c in $(docker compose ps -q); do
91
+ running=$(docker inspect --format '{{ '{{' }}.Image{{ '}}' }}' "$c")
92
+ tag=$(docker inspect --format '{{ '{{' }}.Config.Image{{ '}}' }}' "$c")
93
+ current=$(docker image inspect --format '{{ '{{' }}.Id{{ '}}' }}' "$tag" 2>/dev/null || true)
94
+ svc=$(docker inspect --format '{{ '{{' }}index .Config.Labels "com.docker.compose.service"{{ '}}' }}' "$c")
95
+ [ -n "$current" ] && [ "$running" != "$current" ] && stale="$stale $svc"
96
+ done
97
+ if [ -n "$stale" ]; then
98
+ echo "stale:$stale"
99
+ docker compose up -d --force-recreate $stale 2>&1 | tail -6
100
+ else
101
+ echo "every service is on the image its tag points to"
102
+ fi
103
+ register: recreate_result
104
+
105
+ - name: "[3b/4] Recreate output"
106
+ debug:
107
+ msg: "{{ recreate_result.stdout_lines | default(['done']) }}"
108
+
80
109
  - name: "[4/4] Service status"
81
110
  shell: |
82
111
  cd {{ gravity_dir }}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "unoverse",
3
- "version": "0.1.147",
3
+ "version": "0.1.148",
4
4
  "description": "The Unoverse front door — create a Studio project, a universe, or a client app, and launch Studio.",
5
5
  "license": "SEE LICENSE IN README.md",
6
6
  "type": "module",