Skip to content

ci: also publish to legacy py-baleen-cpu / py-baleen-gpu Docker Hub repos#5

Merged
loganylchen merged 2 commits into
devfrom
ci/push-legacy-repos
Jun 12, 2026
Merged

ci: also publish to legacy py-baleen-cpu / py-baleen-gpu Docker Hub repos#5
loganylchen merged 2 commits into
devfrom
ci/push-legacy-repos

Conversation

@loganylchen

Copy link
Copy Markdown
Owner

Why

Before the single-repo switch, images lived in separate Docker Hub repos btrspg/py-baleen-cpu and btrspg/py-baleen-gpu. Those still hold stale f5c-era images that users/scripts may still pull. Keep them in sync by pushing every build to the legacy repos too, alongside the new single py-baleen repo.

How

Each build job runs two metadata-action steps and the build-push step pushes the union:

  • meta${DH_USER}/py-baleen + ghcr.io/<owner>/py-baleen, variant as a tag suffix (-cpu/-gpu), explicit per-tag-suffixed latest on main.
  • meta_legacy${DH_USER}/py-baleen-<variant>, variant is the repo name so no suffix; explicit latest gated to the default branch.

Resulting tags

push new py-baleen legacy py-baleen-cpu / -gpu GHCR
dev dev-cpu / dev-gpu (+sha) :dev (+sha)
main latest-cpu / latest-gpu (+sha) :latest, :main (+sha)

Codex flagged (and this fixes) that latest=auto won't synthesize latest for branch/sha generators — both new and legacy now use an explicit type=raw,value=latest,enable={{is_default_branch}}.

Note

The legacy repos refresh only after this merges to dev (CI is push-triggered), which will also bring their :dev up to the current code (incl. the readdb fix).

Test plan

  • dev CI test matrix green
  • dev CI pushes py-baleen:dev-{cpu,gpu}, py-baleen-cpu:dev, py-baleen-gpu:dev, and GHCR

…ub repos

Before the single-repo switch, images lived in separate Docker Hub repos
btrspg/py-baleen-cpu and btrspg/py-baleen-gpu; those still hold stale f5c-era
images that users/scripts may pull. Keep them in sync by pushing each build to
the legacy repo as well, alongside the new single py-baleen repo.

Each build job now runs two metadata steps:
  - meta:        ${DH_USER}/py-baleen + ghcr.io/<owner>/py-baleen, variant as a
                 tag suffix (-cpu/-gpu), explicit per-tag-suffixed latest on main.
  - meta_legacy: ${DH_USER}/py-baleen-<variant>, variant IS the repo name so NO
                 suffix; standard latest=auto -> `latest` on the default branch.
The build-push step pushes the union of both tag sets. Net result:
  dev push  -> py-baleen:dev-cpu, py-baleen-cpu:dev (+ sha variants), GHCR
  main push -> py-baleen:latest-cpu, py-baleen-cpu:latest (+ main, sha)
latest=auto does not synthesize a `latest` tag for branch/sha generators, so
the legacy py-baleen-cpu/py-baleen-gpu repos would keep their stale f5c-era
:latest on main pushes — defeating the back-compat goal. Declare latest
explicitly (latest=false + type=raw,value=latest,enable={{is_default_branch}}),
matching the new single-repo metadata. Legacy repos carry no -cpu/-gpu suffix
since the variant is the repo name.
@loganylchen loganylchen merged commit 3dc9860 into dev Jun 12, 2026
5 checks passed
@loganylchen loganylchen deleted the ci/push-legacy-repos branch June 12, 2026 05:02
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