@devrouter/cli 0.2.0 → 0.3.0

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devrouter/cli",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "description": "Local dev routing CLI with shared Traefik reverse proxy",
5
5
  "author": "Roland Schlaefli",
6
6
  "homepage": "https://github.com/rschlaefli/devrouter#readme",
@@ -0,0 +1,59 @@
1
+ # Upgrade to devrouter 0.3.0
2
+
3
+ This minor release finishes worktree cleanup after deleted checkouts and adds
4
+ a team guide.
5
+
6
+ - `workspace gc` can now remove a Devsy workspace whose checkout folder was
7
+ already deleted.
8
+ - `workspace cleanup --all-worktrees` lists Docker leftovers: the Compose
9
+ stacks of deleted worktrees.
10
+ - `workspace leftover` removes approved leftovers from a hash-bound manifest.
11
+ - `docs/WORKTREE_CLEANUP.md` explains the whole cleanup flow for engineers.
12
+
13
+ There is no configuration change and no migration.
14
+
15
+ ## What changed for a consumer
16
+
17
+ - When the ordinary Devsy delete fails, `gc` forces it only when the recorded
18
+ folder no longer exists and the runtime is stopped or not found. A failed
19
+ delete of a folder that still exists is reported, never forced.
20
+ - The cleanup report gains a `dockerLeftovers` section with schema version 3.
21
+ A stack counts as a leftover only when all of its containers name the same
22
+ folder below `<repo>/trees/`, at least one container was created by DevPod
23
+ or Devsy, the folder no longer exists, it is not inside another existing
24
+ worktree, no registration still names it, and every container is stopped.
25
+ Blocked stacks name the next step (`workspace gc` or `git worktree prune`).
26
+ - `workspace cleanup --manifest --action leftover --output <file>` writes a
27
+ `docker-leftover-manifest`. `workspace leftover --manifest <file> --sha256
28
+ <hash>` is a dry run until `--yes`. It removes the listed containers, then
29
+ the listed volumes (project and anonymous volumes no other container uses),
30
+ then networks, and skips any stack that changed.
31
+ - Volumes that no container ties to a deleted worktree are reported and never
32
+ removed. Worktree `reclaim` and `trim` reject leftover manifests.
33
+
34
+ ## Task
35
+
36
+ Install the published 0.3.0 CLI. No migration or runtime-state change is
37
+ needed. Raise a repository's documented minimum devrouter version to 0.3.0
38
+ only when consumer source changes are authorized and the team should use the
39
+ leftover commands.
40
+
41
+ ## Validation
42
+
43
+ 1. Run `devrouter -V` from the consumer checkout. A repository Volta pin can
44
+ change which install resolves.
45
+ 2. Run `devrouter workspace cleanup --repo <checkout> --all-worktrees` and
46
+ confirm the report includes the Docker leftovers section.
47
+ 3. Run `devrouter workspace gc` and every leftover removal as a dry run first.
48
+ Run with `--yes` only after a person has approved the exact targets or the
49
+ manifest's printed SHA-256.
50
+
51
+ ## Report
52
+
53
+ Report:
54
+
55
+ - the release revision;
56
+ - the resolved executable and its installed version;
57
+ - the leftover and blocked counts from the cleanup report;
58
+ - for any authorized gc or leftover removal, the targets or manifest hash and
59
+ the per-target outcomes.