Skip to content

release-train: develop -> staging - #494

Open
LukasWodka wants to merge 2 commits into
stagingfrom
release-train/to-staging
Open

release-train: develop -> staging#494
LukasWodka wants to merge 2 commits into
stagingfrom
release-train/to-staging

Conversation

@LukasWodka

@LukasWodka LukasWodka commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Automated promotion by the release train (RFC-0008 D14). Head is the train-managed release-train/to-staging branch (a mirror of develop), so it never collides with a human PR. Merged only when the fr-gate is green.


Note

Low Risk
Offboard UX and best-effort disk cleanup only; behavior is stricter messaging and clearer image scope, covered by new tests.

Overview
Fixes backend#1861: tracebloc delete no longer claims disk was reclaimed when host Docker image cleanup did nothing.

PruneImages now returns how many ghcr.io/tracebloc/* refs were removed. delete uses that count: info when zero (usual after k3d teardown), success with count when images were removed, and unchanged guidance on failure—no fake “reclaimed” line.

Docs and nodeboot comments spell out scope: chart images live in the k3d node’s containerd and go away with cluster delete; host reclaim is only for images the installer actually pulled there (e.g. Windows GPU k3s-cuda), not Docker Hub tracebloc/* or a blanket prune.

Also bumps CLI to 0.10.6 and jsonschema/v6 to 6.0.3, with tests and golden strings for the new messages.

Reviewed by Cursor Bugbot for commit 23b2f3a. Bugbot is set up for automated code reviews on this repo. Configure here.

… to 6.0.3 (#488)

* chore(deps): bump github.com/santhosh-tekuri/jsonschema/v6

Bumps [github.com/santhosh-tekuri/jsonschema/v6](https://github.com/santhosh-tekuri/jsonschema) from 6.0.2 to 6.0.3.
- [Release notes](https://github.com/santhosh-tekuri/jsonschema/releases)
- [Commits](santhosh-tekuri/jsonschema@v6.0.2...v6.0.3)

---
updated-dependencies:
- dependency-name: github.com/santhosh-tekuri/jsonschema/v6
  dependency-version: 6.0.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore(version): bump to 0.10.6 for the jsonschema/v6 6.0.3 dependency bump

The dep change touches go.mod/go.sum (in the gate's publish-paths), so the
version-bump-gate requires VERSION > develop (0.10.5). Dependabot doesn't bump
VERSION; do it here so the bump ships as a versioned release.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Lukas Wuttke <lukas@tracebloc.io>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
@LukasWodka

Copy link
Copy Markdown
Contributor Author

bugbot run

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Bugbot reviewed your changes and found no new issues!

Comment @cursor review or bugbot run to trigger another review on this PR

Reviewed by Cursor Bugbot for commit e7ffd3b. Configure here.

@tracebloc-release-train tracebloc-release-train Bot added the gate-nudge Toggled by the release train to (re-)fire the fr-gate label Aug 13, 2026
…d#1861) (#495)

`tracebloc delete`'s image reclaim printed "Reclaimed tracebloc's downloaded
images." whether or not it removed anything. On every install except a Windows
GPU host it removes nothing, so an operator offboarding a machine was told disk
was freed when the step was a no-op.

The reported cause was that the scope constant names the wrong registry: our
chart images ship from Docker Hub, not ghcr. Verified against the producers, the
scope turns out to be right and the explanation around it wrong.

`docker images` reads the HOST daemon. Every chart image, the ingestor Job and
the training images are pulled by containerd INSIDE the k3d node — nothing in
the installer does a host `docker pull` or `k3d image import` for them — so the
host daemon never lists them, and `k3d cluster delete` (step 3, before this one)
reclaims them with the node container. The one tracebloc image that does reach
the host daemon is the GPU node image the Windows GPU installer pulls, which
`ghcr.io/tracebloc/*` matches. Widening the pattern would also be inert or
harmful: `docker.io/tracebloc/*` matches nothing (the daemon stores Hub images
under their short name), and `tracebloc/*` would reach a developer's locally
built images.

So the pattern stays; the comment, the test and the success message are fixed.

- imageReference: replace the wrong premise with the host-daemon-vs-node-
  containerd reason, why widening is wrong in both directions, and the
  mirror/air-gapped gap it cannot cover.
- PruneImages returns the number of references removed. A failed `rmi` returns
  0 — nothing is claimed reclaimed when the removal didn't succeed.
- delete.go says "No tracebloc images left to reclaim." on 0, and reports the
  count otherwise. The preview line is unchanged: the offboard does remove the
  machine's images, via the cluster teardown.
- Tests: fixtures are names a producer actually publishes, replacing
  ghcr.io/tracebloc/jobs-manager:1.9.5, which no producer has ever written —
  that fixture is why the scope went unexamined. New TestImageReferenceScope
  asserts the scope against producer facts in both directions instead of
  asserting the constant back at itself.
- RFC-0001 §7.10: correct which step reclaims the chart images.
@LukasWodka

Copy link
Copy Markdown
Contributor Author

bugbot run

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Bugbot reviewed your changes and found no new issues!

Comment @cursor review or bugbot run to trigger another review on this PR

Reviewed by Cursor Bugbot for commit 23b2f3a. Configure here.

@tracebloc-release-train tracebloc-release-train Bot removed the gate-nudge Toggled by the release train to (re-)fire the fr-gate label Aug 13, 2026
@LukasWodka

Copy link
Copy Markdown
Contributor Author

bugbot run

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Bugbot reviewed your changes and found no new issues!

Comment @cursor review or bugbot run to trigger another review on this PR

Reviewed by Cursor Bugbot for commit 23b2f3a. Configure here.

@tracebloc-release-train tracebloc-release-train Bot added the gate-nudge Toggled by the release train to (re-)fire the fr-gate label Aug 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gate-nudge Toggled by the release train to (re-)fire the fr-gate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant