Surfaced by the release dispatched after the resync promotion, run 33347642895. The run succeeded, and every one of the ten Publish docker hub readme job matrix legs logged:
! The README content exceeds DockerHub's limit and has been truncated to 25000 bytes.
Cause
publish-release.yml line 239 passes the root README to the publish action:
- name: Publish Docker Hub readme step
uses: peter-evans/dockerhub-description@... # v5.0.0
with:
repository: ${{ matrix.repository }}
short-description: ${{ github.event.repository.description }}
readme-filepath: ./README.md
The fleet spec says that is the wrong file. spec/readme-structure.md, "Docker Hub README":
A repo that publishes a Docker image keeps a separate Docker/README.md for the overview: Docker Hub's description has a much smaller size limit than a project README, so it carries a trimmed overview, not the full README. It is published by the docker-readme workflow task, not copied from the root README.
So Docker/README.md exists in this repo for exactly this purpose and is not being used.
| File |
Size |
Docker Hub limit |
README.md |
47,270 bytes |
25,000 |
Docker/README.md |
528 bytes |
25,000 |
What Docker Hub currently shows
All ten repositories carry the first 25,000 bytes of the project README, cut mid-document at whatever byte 25,000 lands on. That is roughly the first half, ending somewhere inside the configuration section, with no license, no project link, and no indication to a reader that anything was removed.
Not caused by the resync, but made worse by it
The README was already 41,043 bytes before the resync and already over the limit, so this has been truncating for a while and nobody saw it, since the run still reports success. The README restructure took it to 47,270, moving the cut point earlier without changing the nature of the fault.
The fix
Point the step at ./Docker/README.md. That file was converted to reference-style links in #558 and is currently unused, so this also makes that work reachable.
Worth a second look while doing it: the truncation is a warning rather than a failure, so a publish job that silently ships half a document reports green. If the action can be made to fail on truncation, or a size check added before it, this becomes visible the next time rather than after another year.
The related About-panel half of that same spec section is still open too: the description there is the retired tagline, and it feeds short-description on the same step.
Surfaced by the release dispatched after the resync promotion, run 33347642895. The run succeeded, and every one of the ten
Publish docker hub readme jobmatrix legs logged:Cause
publish-release.ymlline 239 passes the root README to the publish action:The fleet spec says that is the wrong file.
spec/readme-structure.md, "Docker Hub README":So
Docker/README.mdexists in this repo for exactly this purpose and is not being used.README.mdDocker/README.mdWhat Docker Hub currently shows
All ten repositories carry the first 25,000 bytes of the project README, cut mid-document at whatever byte 25,000 lands on. That is roughly the first half, ending somewhere inside the configuration section, with no license, no project link, and no indication to a reader that anything was removed.
Not caused by the resync, but made worse by it
The README was already 41,043 bytes before the resync and already over the limit, so this has been truncating for a while and nobody saw it, since the run still reports success. The README restructure took it to 47,270, moving the cut point earlier without changing the nature of the fault.
The fix
Point the step at
./Docker/README.md. That file was converted to reference-style links in #558 and is currently unused, so this also makes that work reachable.Worth a second look while doing it: the truncation is a warning rather than a failure, so a publish job that silently ships half a document reports green. If the action can be made to fail on truncation, or a size check added before it, this becomes visible the next time rather than after another year.
The related About-panel half of that same spec section is still open too: the description there is the retired tagline, and it feeds
short-descriptionon the same step.