Skip to content

fix(docker): copy README.md into builder stage - #11

Merged
ljadach merged 1 commit into
mainfrom
dockerfile-readme
Apr 12, 2026
Merged

ljadach merged 1 commit into
mainfrom
dockerfile-readme

Conversation

@ljadach

@ljadach ljadach commented Apr 12, 2026

Copy link
Copy Markdown
Owner

Summary

One-line fix: Dockerfile was missing COPY README.md in the builder stage. Because pyproject.toml declares readme = "README.md", hatchling's metadata validation fails during uv build --wheel with OSError: Readme file does not exist: README.md.

Why it went unnoticed

The docker CI job has needs: [lint, test]. lint has been red since ac16da8 (2026-01-25), so the docker step never actually ran on main for ~11 weeks. Once #10 greened lint, docker ran for the first time and surfaced this pre-existing bug.

Change

-COPY pyproject.toml uv.lock* ./
+COPY pyproject.toml uv.lock* README.md ./
 COPY src/ src/

Test plan

  • uv build --wheel succeeds locally (README.md present in workdir, matching the fixed Dockerfile)
  • CI docker job passes (will verify on the PR)

🤖 Generated with Claude Code

pyproject.toml declares readme = "README.md", so hatchling requires
the file to exist at build time for metadata validation. The build
stage was copying pyproject.toml and src/ but not README.md,
causing 'uv build --wheel' to fail with:

    OSError: Readme file does not exist: README.md

This was masked for ~11 weeks because the docker CI job has
needs: [lint, test] and lint was failing since ac16da8 — the docker
step only started running once lint went green in #10.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@ljadach
ljadach merged commit bdd612f into main Apr 12, 2026
5 checks passed
@ljadach
ljadach deleted the dockerfile-readme branch April 12, 2026 22:24
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