chore(ci): drop :latest image tag — stable/beta/alpha is canonical

The renamed channel naming (latest → stable) only landed in the
filesystem layout and the bootstrap; the image-publish pipeline still
applied :latest as an alias for :stable on stable releases. Drop it
to avoid mixed terminology.

.woodpecker.yml: stable releases now apply only :X.Y.Z, :stable,
:beta, :alpha. zddc/README.md updated to show stable/beta/alpha
channel tags and explicitly note :latest is not published.

To clean up the existing :latest tag on the registry (one-time):

  curl -X DELETE \
    -H "Authorization: token $CODEBERG_TOKEN" \
    https://codeberg.org/api/v1/packages/varasys/container/zddc-server/latest

or via the web UI at codeberg.org/VARASYS/-/packages/container/zddc-server.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
ZDDC 2026-04-28 10:07:52 -05:00
parent 91d6e61e22
commit c2e8d364a9
2 changed files with 15 additions and 7 deletions

View file

@ -14,11 +14,13 @@
# #
# Image tags applied (cascading) # Image tags applied (cascading)
# ------------------------------ # ------------------------------
# stable release: :X.Y.Z + :stable, :beta, :alpha, :latest # stable release: :X.Y.Z + :stable, :beta, :alpha
# beta release: :X.Y.Z-beta.N + :beta, :alpha # beta release: :X.Y.Z-beta.N + :beta, :alpha
# alpha release: :X.Y.Z-alpha.N + :alpha # alpha release: :X.Y.Z-alpha.N + :alpha
# #
# `:latest` is kept as an alias for `:stable` (Docker convention). # `:latest` is intentionally NOT published. The project uses
# `stable / beta / alpha` channel terminology consistently; see
# AGENTS.md "Channel discipline".
# #
# To enable: in the Woodpecker dashboard at https://ci.codeberg.org → # To enable: in the Woodpecker dashboard at https://ci.codeberg.org →
# repo → Settings → Secrets, add codeberg_user (your Codeberg username) # repo → Settings → Secrets, add codeberg_user (your Codeberg username)
@ -53,7 +55,7 @@ steps:
*) CHANNEL=stable ;; *) CHANNEL=stable ;;
esac esac
case "$CHANNEL" in case "$CHANNEL" in
stable) TAGS="$VERSION stable beta alpha latest" ;; stable) TAGS="$VERSION stable beta alpha" ;;
beta) TAGS="$VERSION beta alpha" ;; beta) TAGS="$VERSION beta alpha" ;;
alpha) TAGS="$VERSION alpha" ;; alpha) TAGS="$VERSION alpha" ;;
esac esac

View file

@ -295,13 +295,19 @@ tree.
## Container image ## Container image
Each `zddc-server-vX.Y.Z` git tag publishes a runtime image to Codeberg's Each `zddc-server-vX.Y.Z` git tag publishes a runtime image to Codeberg's
container registry via the Woodpecker CI pipeline at `.woodpecker.yml`: container registry via the Woodpecker CI pipeline at `.woodpecker.yml`,
with cascading channel tags:
``` ```
codeberg.org/varasys/zddc-server:X.Y.Z codeberg.org/varasys/zddc-server:X.Y.Z # immutable, exact version
codeberg.org/varasys/zddc-server:latest codeberg.org/varasys/zddc-server:stable # current stable
codeberg.org/varasys/zddc-server:beta # tracks stable-or-newer beta
codeberg.org/varasys/zddc-server:alpha # tracks beta-or-newer alpha
``` ```
`:latest` is intentionally not published — the project uses
stable/beta/alpha channel terminology consistently.
Pull and run: Pull and run:
```sh ```sh
@ -310,7 +316,7 @@ podman run --rm -p 8443:8443 \
-e ZDDC_TLS_CERT=none \ -e ZDDC_TLS_CERT=none \
-e ZDDC_ADDR=:8080 \ -e ZDDC_ADDR=:8080 \
-e ZDDC_INSECURE_DIRECT=1 \ -e ZDDC_INSECURE_DIRECT=1 \
codeberg.org/varasys/zddc-server:latest codeberg.org/varasys/zddc-server:stable
``` ```
The image: The image: