fix(docker): drop vendor/tokpress COPY step (build broken since v0.9.2) - #24
Merged
Conversation
…0.9.2)
The Dockerfile unconditionally COPY'd vendor/tokpress into the build,
but that path is kept outside this repository -- the COPY has been
failing on every tag push since v0.9.2. v0.9.4 and v0.9.5 both
triggered the Docker workflow and both failed identically.
The proxy already imports tokpress inside a try/except ImportError
guard (src/llm_relay/proxy/proxy.py around the `_tokpress_available`
flag), so the image runs unchanged when the package is absent --
the compression feature simply stays disabled, which has been the
de-facto state of every Docker image attempt since v0.9.2 anyway.
Action plan:
- Drop the COPY + pip install lines.
- Replace with a comment explaining why the optional layer is
intentionally absent from the published image.
- After merge, re-trigger the Docker workflow for the 0.9.5 tag
via `gh workflow run docker.yml -f tag=0.9.5` so users can
finally `docker pull ghcr.io/arknill/llm-relay:0.9.5`.
CHANGELOG: noted under Unreleased ### Fixed (no version bump --
this is a CI / image build fix, not a code change visible to PyPI
consumers).
Tests: 593 pass (no source change). Ruff clean. NDA grep on diff
clean.
4 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Docker workflow has been failing on every tag push since the
vendor/tokpressCOPY step was added (sometime between v0.9.1 andv0.9.2). Both v0.9.4 (PR #22) and v0.9.5 (PR #23) tag pushes failed
identically. This PR removes the broken step.
What was happening
The
vendor/directory is.gitignored (line 15) -- the source hasalways been kept outside this repo. The COPY only worked locally
because vendor/ exists on the maintainer's filesystem; on the CI
runner it never existed, so the build failed at step 4/10.
The last successful Docker build was v0.9.1 (2026-04-29), which
predates the tokpress COPY step.
Why removing it is safe
src/llm_relay/proxy/proxy.pyalready guards the import:And every call site checks
_tokpress_availablebefore using thefunction. With the package absent the flag stays
Falseand theoptional compression feature is simply disabled -- which is exactly
the runtime behaviour every successfully-built Docker image has had
since the failure was introduced (i.e. none of them, because none
were built).
No published image regresses; the actual regression is that the
last runnable image is v0.9.1 and we want v0.9.5 to be available
on ghcr.io.
Changes
Dockerfile: drop the COPY + RUN pair; replace with a shortcomment explaining the optional layer is intentionally absent
from the published image.
CHANGELOG.md: noted under[Unreleased] ### Fixed. No versionbump -- this is a CI / image build fix, not a code change visible
to PyPI consumers.
Test plan
pytest-- 593 pass (no source changes).ruff check src/ tests/-- clean.Post-merge
After this lands on
main, re-trigger the Docker workflow againstthe existing 0.9.5 tag so the image actually publishes:
That produces
ghcr.io/arknill/llm-relay:0.9.5from the currentmain(which has this Dockerfile fix), matching the PyPI 0.9.5release.