Retain wiki rollback images and expire unused CI images #17

Merged
Zayden-Jung merged 1 commits from codex/wiki-image-retention into main 2026-10-29 10:48:16 +00:00
Collaborator

Wiki CI leaves a runtime image and an integration image for every revision, so replacing the running containers does not stop historical images accumulating.

This change adds a wiki-only lifecycle entrypoint that locks the complete build/integration/deploy/cleanup sequence. Verified deployments atomically record a success ledger; cleanup keeps the current release, two previous successful releases, their operational test images, every container-referenced image, and a 72-hour debug window. Until three successes have been recorded, historical runtime images remain protected. The matching test images must stay because existing Studio verification/publishing scripts use them as tools.

The cleanup CLI defaults to preview and prints keep/delete reasons. Apply rechecks references and never uses forced removal, global prune, or volume deletion. New build-stage labels allow later expiry of owned failed build containers only when exited, at least 72 hours old, and without mounts. Legacy prompt:* images, foreign tags/digests, unlabelled old intermediates, persistent data and backups are excluded. Cleanup errors preserve the original CI result.

Validation on the user-confirmed ces-control host:

  • 21 Python policy/orchestration tests passed, including rollback protection, bootstrap, same-ID multi-tag protection, Studio tool dependencies, lock refusal, reference rechecks, no forced removal, preview without mutation, local containerd digests and failure-result preservation.
  • bash -n scripts/deploy.sh passed.
  • Real Docker preview completed successfully: current runtime and its tool image retained; runtime history protected during bootstrap; remaining tests still within the debug window. No real apply/delete was executed.
  • git diff --check passed. No local compilation/build was run.

A dedicated PR workflow runs only Python policy tests and shell syntax checks on ces-control. Full Docker build, integration and deployment remain main-push-only and have not run for this change; they execute after the user manually merges. Existing old workflow jobs/raw Docker commands do not acquire the new lock, so let old wiki jobs finish before the first apply. This PR does not enable a timer or clean the legacy prompt images.

Base: main. Head: codex/wiki-image-retention. Waiting for user manual merge; no auto-merge or deployment performed.

Wiki CI leaves a runtime image and an integration image for every revision, so replacing the running containers does not stop historical images accumulating. This change adds a wiki-only lifecycle entrypoint that locks the complete build/integration/deploy/cleanup sequence. Verified deployments atomically record a success ledger; cleanup keeps the current release, two previous successful releases, their operational test images, every container-referenced image, and a 72-hour debug window. Until three successes have been recorded, historical runtime images remain protected. The matching test images must stay because existing Studio verification/publishing scripts use them as tools. The cleanup CLI defaults to preview and prints keep/delete reasons. Apply rechecks references and never uses forced removal, global prune, or volume deletion. New build-stage labels allow later expiry of owned failed build containers only when exited, at least 72 hours old, and without mounts. Legacy prompt:* images, foreign tags/digests, unlabelled old intermediates, persistent data and backups are excluded. Cleanup errors preserve the original CI result. Validation on the user-confirmed ces-control host: - 21 Python policy/orchestration tests passed, including rollback protection, bootstrap, same-ID multi-tag protection, Studio tool dependencies, lock refusal, reference rechecks, no forced removal, preview without mutation, local containerd digests and failure-result preservation. - bash -n scripts/deploy.sh passed. - Real Docker preview completed successfully: current runtime and its tool image retained; runtime history protected during bootstrap; remaining tests still within the debug window. No real apply/delete was executed. - git diff --check passed. No local compilation/build was run. A dedicated PR workflow runs only Python policy tests and shell syntax checks on ces-control. Full Docker build, integration and deployment remain main-push-only and have not run for this change; they execute after the user manually merges. Existing old workflow jobs/raw Docker commands do not acquire the new lock, so let old wiki jobs finish before the first apply. This PR does not enable a timer or clean the legacy prompt images. Base: main. Head: codex/wiki-image-retention. Waiting for user manual merge; no auto-merge or deployment performed.
codex-bot added 1 commit 2026-10-29 10:44:55 +00:00
Retain verified wiki releases and expire unused CI images
Wiki image retention checks / retention-policy (pull_request) Successful in 52s
dbc3ad8c69
Zayden-Jung merged commit 9a603cf87e into main 2026-10-29 10:48:16 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Zayden-Jung/probably-rendering-one-more-pixel-tonight#17