Skip to content

chore: retire the old Docker image (plex_generate_vid_previews)#276

Merged
stevezau merged 1 commit into
devfrom
chore/retire-old-docker-image
Jun 30, 2026
Merged

chore: retire the old Docker image (plex_generate_vid_previews)#276
stevezau merged 1 commit into
devfrom
chore/retire-old-docker-image

Conversation

@stevezau

Copy link
Copy Markdown
Owner

Retires the old image stevezzau/plex_generate_vid_previews (renamed to stevezzau/media_preview_generator). The old name had ~57k pulls vs ~19k for the new one, so instead of mirroring forever we push a one-shot tombstone over its tags and drop the recurring deprecated build from CI.

What's here

  • tombstone/nginx:1.27-alpine serving a "this image moved → switch to media_preview_generator" page on port 8080 (the app's port, so existing compose port-maps hit it; served for every path).
  • retire-deprecated-image.ymlworkflow_dispatch (gated on typing retire) that buildx-pushes the tombstone multi-arch over the old :latest + :dev. Run once after merge.
  • ci.yml — deprecated image flavour removed entirely (matrix entries, outputs, manifest + digest steps, Docker Hub description step, DOCKER_IMAGE_DEPRECATED). Canonical build/merge verified intact.
  • Banner + startup log — now "retired, no longer updated, switch now" (was "mirrors until 2026-10-29"); DEPRECATED_IMAGE_SUNSET_DATE removed.
  • DocsDOCKERHUB_README.md rename note updated to "retired"; deleted the orphaned DOCKERHUB_DEPRECATED_README.md.

Verification

Architecture Review run — no HIGH (canonical pipeline confirmed unbroken: no dangling docker_tags_deprecated//tmp/digests/deprecated refs, artifact↔merge pattern still digest-*-canonical). The two MED doc-drift items it found (stale README claims) are fixed in this commit. Both workflows pass YAML validation; banner tests updated + green.

Post-merge step: trigger the retire-deprecated-image workflow once to push the tombstone.

🤖 Generated with Claude Code

@codecov

codecov Bot commented Jun 30, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 84.00%. Comparing base (0269e8d) to head (f581390).

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##              dev     #276      +/-   ##
==========================================
- Coverage   84.03%   84.00%   -0.04%     
==========================================
  Files          89       89              
  Lines       19670    19669       -1     
==========================================
- Hits        16529    16522       -7     
- Misses       3141     3147       +6     
Files with missing lines Coverage Δ
media_preview_generator/web/app.py 83.28% <100.00%> (ø)
media_preview_generator/web/notifications.py 92.52% <ø> (-0.07%) ⬇️

... and 2 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

…ews)

The project was renamed to stevezzau/media_preview_generator. The old image
had ~57k pulls (vs ~19k for the new one) so rather than keep building a mirror,
push a one-shot "tombstone" image over its tags that tells stragglers to switch,
then drop the recurring deprecated build from CI.

- tombstone/: a tiny nginx:1.27-alpine image serving a static "this image moved
  -> switch to stevezzau/media_preview_generator" page on port 8080 (the app's
  port, so existing compose port-maps hit it; serves the page for every path).
- .github/workflows/retire-deprecated-image.yml: workflow_dispatch (gated on
  typing "retire") that buildx-pushes the tombstone multi-arch (amd64+arm64)
  over stevezzau/plex_generate_vid_previews:latest and :dev. Run ONCE.
- ci.yml: removed the deprecated image flavour entirely — the 2 deprecated
  matrix entries, docker_tags_deprecated output + echoes, the conditional image
  name (now always canonical), the deprecated digest download + manifest steps,
  the deprecated Docker Hub description step, and the DOCKER_IMAGE_DEPRECATED env.
- In-app banner + startup log: now say the old image is RETIRED (no longer
  updated, switch now) instead of "mirrors builds until 2026-10-29"; removed the
  DEPRECATED_IMAGE_SUNSET_DATE constant.
- DOCKERHUB_README.md: updated the rename note to "retired"; deleted the now-
  orphaned DOCKERHUB_DEPRECATED_README.md (its publish step was removed).

After merge, run the retire-deprecated-image workflow once to push the tombstone.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YC1Z1JFBVJ5xKi5YAqYKfc
@stevezau stevezau force-pushed the chore/retire-old-docker-image branch from ad97c23 to f581390 Compare June 30, 2026 01:15
@stevezau stevezau merged commit f8a2933 into dev Jun 30, 2026
16 checks passed
@stevezau stevezau deleted the chore/retire-old-docker-image branch June 30, 2026 01:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant