[Carry] Dockerfile: precompiled-wheel passthrough log + dist mkdir - #15
Draft
terafin wants to merge 1 commit into
Draft
[Carry] Dockerfile: precompiled-wheel passthrough log + dist mkdir#15terafin wants to merge 1 commit into
terafin wants to merge 1 commit into
Conversation
…r csrc-build Adds an informational early-out RUN step to docker/Dockerfile's csrc-build stage. When the precompiled-wheel build-args are advertised (VLLM_USE_PRECOMPILED + VLLM_MERGE_BASE_COMMIT non-empty), the step logs that the fast path is engaged and pre-creates /workspace/dist defensively for the downstream COPY. The actual short-circuit lives in setup.py upstream — precompiled_build_ext replaces cmake_build_ext when USE_PRECOMPILED_EXTENSIONS is truthy, and precompiled_wheel_utils handles the wheel fetch + extraction. The two existing RUN blocks (sccache path L401-429, non-sccache path L434-445) already export VLLM_USE_PRECOMPILED + VLLM_PRECOMPILED_WHEEL_COMMIT to setup.py, so the fast-path machinery engages without modifying those blocks. This carry is the Dockerfile-visible half of the precompiled-wheel feature: without it, an operator watching `docker build` output cannot distinguish "5-minute wheel fetch succeeded silently" from "build is mysteriously fast, something must be broken." The log line + defensive mkdir make the fast path self-documenting and the COPY downstream robust to setup.py landing artifacts in a different path. Fail-loud on wheel-fetch failure is already enforced by setup.py: - precompiled_wheel_utils.fetch_metadata_for_variant asserts wheels non-None - urllib.urlretrieve raises HTTPError/URLError on 404 / network failure - precompiled_wheel_utils.determine_wheel_url raises ValueError on missing path So a missing wheel produces non-zero exit from `python3 setup.py bdist_wheel`; no Dockerfile-layer wrapper error-checking is needed. Carry lands on intarweb-dev via FORK_CARRIED_COMMITS — this carrier PR is informational only; the SHA goes into the Variable directly. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
intarweb-sync-bot
Bot
force-pushed
the
intarweb-dev
branch
29 times, most recently
from
June 13, 2026 17:10
7da42ed to
11c717e
Compare
intarweb-sync-bot
Bot
force-pushed
the
intarweb-dev
branch
27 times, most recently
from
June 19, 2026 23:09
f02f651 to
1f3d93f
Compare
intarweb-sync-bot
Bot
force-pushed
the
intarweb-dev
branch
3 times, most recently
from
June 27, 2026 08:04
6168dc5 to
ed80b87
Compare
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.
Internal carry — does NOT merge
Adds an early-out log +
mkdir -p /workspace/distto docker/Dockerfile's csrc-build stage when precompiled-wheel build-args are advertised (VLLM_USE_PRECOMPILED+VLLM_MERGE_BASE_COMMIT).Lands via
FORK_CARRIED_COMMITSVariable, not via this PR's merge. This PR exists as a stable carrier reference for the sync-upstream cherry-pick loop and as documentation surface for the carry's intent. See commit body for full design rationale.Why this is internal-only
The actual fast-path machinery (precompiled_build_ext, precompiled_wheel_utils, the
VLLM_USE_PRECOMPILEDenv wiring in the existing RUN blocks at L401-429 + L434-445) is already upstream. This carry is purely operator UX — explicit log line sodocker buildoutput makes the fast path observable, and a defensivemkdirso the downstreamCOPY --from=csrc-build /workspace/dist /precompiled-wheelsis robust to setup.py path changes.Upstream would (correctly) want a single source of truth between the two existing RUN blocks and this new RUN — they'd reasonably ask for refactoring into one consolidated RUN. That's a larger refactor than the carry needs and would conflict with their concurrent sccache + non-sccache work. So we carry locally and stay invisible to upstream.
Fail-loud verification
Wheel-fetch failure already exits non-zero via setup.py:
precompiled_wheel_utils.fetch_metadata_for_variantasserts wheels/repo_url non-Noneurllib.urlretrieveraises HTTPError/URLError on 404 / network failureprecompiled_wheel_utils.determine_wheel_urlraises ValueError on missing pathNo Dockerfile-layer wrapper needed.