Skip to content

The Docker Hub readme publish uses the root README, not Docker/README.md, and is truncated #562

Description

@ptr727

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions