Skip to content

Mirror the official plone:5.2.14 into plone/plone - #213

Merged
ericof merged 1 commit into
mainfrom
issue-210
Oct 8, 2026
Merged

ericof merged 1 commit into
mainfrom
issue-210

Conversation

@ericof

@ericof ericof commented Oct 8, 2026

Copy link
Copy Markdown
Member

plone/plone stops at 5.2.4 (March 2021). The official plone:5.2.14 was built by Docker Official Images from this repository's own 5.2/5.2.14/debian (its manifest annotates plone/plone.docker@a3a9c7e). That Dockerfile can't be rebuilt faithfully any more: apt-get now gets 404s from bullseye-security.

So this copies the released image by digest rather than rebuilding it:

  • mirror/official-tags.txt pins the eight official 5.2.14 tags (5.2.14, 5.2.14-python38, 5.2, 5.2-python38, 5, 5-python38, python38, latest) to digest sha256:e73ae6e9….
  • mirror/mirror-official.sh checks that each source tag still has its pinned digest, then copies it with docker buildx imagetools create and checks that the copy kept the same digest. If an official tag moves, the run fails.
  • The mirror official workflow only runs the check on pull requests. It publishes to plone/plone and ghcr.io/plone/plone.docker only when dispatched from main, and fails if the Docker Hub credentials are missing.

What changes for users: after the publish, plone/plone:latest, 5, 5.2 and python38 point at 5.2.14 instead of 5.2.4. 5-python38 and 5.2-python38 are new tags. The official image is amd64 only, and so are these copies.

Tested locally: a verify-only run passed for all 8 tags, and a run with a wrong digest failed. A publish into a throwaway local registry kept the source digest on all 16 copies (8 tags to 2 targets). The script and workflow pass shellcheck and actionlint.

After merge: run the mirror official workflow from main. Then update the 5.2 row in plone/documentation's docs/install/containers/images/historical.md (plone/documentation#2103).

Refs #210

plone/plone stopped at 5.2.4 in March 2021. The official plone:5.2.14 was
built by Docker Official Images from 5.2/5.2.14/debian in this repository,
but that Dockerfile can no longer be rebuilt faithfully: bullseye-security
now answers apt-get with 404s.

Copy the official image by digest instead. mirror/official-tags.txt pins
the eight official 5.2.14 tags to their manifest-list digest, and
mirror/mirror-official.sh verifies the source digests, copies each tag with
buildx imagetools create, and checks that every copy kept the digest.

The mirror official workflow only verifies on pull requests and publishes
when dispatched from main. latest, 5, 5.2 and python38 on plone/plone move
from 5.2.4 to 5.2.14.

Refs #210
@ericof
ericof requested a review from a team as a code owner October 8, 2026 23:29
@ericof
ericof merged commit ee5c3fb into main Oct 8, 2026
7 checks passed
@ericof
ericof deleted the issue-210 branch October 8, 2026 23:30
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