Skip to content

Commit 4db6f85

Browse files
committed
moving the DYNAMO_COMMIT_SHA to avoid invalidating the layer cache
1 parent d0137ef commit 4db6f85

File tree

4 files changed

+25
-19
lines changed

4 files changed

+25
-19
lines changed

container/Dockerfile

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -338,9 +338,6 @@ ARG ARCH_ALT
338338
ENV DYNAMO_HOME=/opt/dynamo \
339339
CARGO_TARGET_DIR=/opt/dynamo/target
340340

341-
ARG DYNAMO_COMMIT_SHA
342-
ENV DYNAMO_COMMIT_SHA=$DYNAMO_COMMIT_SHA
343-
344341
RUN apt-get update -y \
345342
&& apt-get install -y --no-install-recommends \
346343
# required for AIC perf files
@@ -427,5 +424,9 @@ RUN chmod 755 /opt/dynamo/.launch_screen && \
427424

428425
USER dynamo
429426

427+
# Set DYNAMO_COMMIT_SHA late to avoid cache invalidation
428+
ARG DYNAMO_COMMIT_SHA
429+
ENV DYNAMO_COMMIT_SHA=$DYNAMO_COMMIT_SHA
430+
430431
ENTRYPOINT ["/opt/nvidia/nvidia_entrypoint.sh"]
431432
CMD []

container/Dockerfile.sglang

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -333,10 +333,6 @@ ${NIXL_PLUGIN_DIR}:\
333333
/usr/local/nvidia/lib64:\
334334
${LD_LIBRARY_PATH}
335335

336-
ARG DYNAMO_COMMIT_SHA
337-
ENV DYNAMO_COMMIT_SHA=$DYNAMO_COMMIT_SHA
338-
339-
340336
# Copy NATS and ETCD from dynamo_base, and UCX/NIXL
341337
COPY --from=dynamo_base /usr/bin/nats-server /usr/bin/nats-server
342338
COPY --from=dynamo_base /usr/local/bin/etcd/ /usr/local/bin/etcd/
@@ -387,6 +383,10 @@ COPY --chown=dynamo: deploy /workspace/deploy
387383
COPY --chown=dynamo: components/ /workspace/components/
388384
COPY --chown=dynamo: recipes/ /workspace/recipes/
389385

386+
# Set DYNAMO_COMMIT_SHA late to avoid cache invalidation
387+
ARG DYNAMO_COMMIT_SHA
388+
ENV DYNAMO_COMMIT_SHA=$DYNAMO_COMMIT_SHA
389+
390390
ENTRYPOINT ["/opt/nvidia/nvidia_entrypoint.sh"]
391391
CMD []
392392

@@ -408,9 +408,6 @@ FROM runtime AS dev
408408
ARG WORKSPACE_DIR=/sgl-workspace/dynamo
409409
ARG PYTHON_VERSION
410410

411-
ARG DYNAMO_COMMIT_SHA
412-
ENV DYNAMO_COMMIT_SHA=$DYNAMO_COMMIT_SHA
413-
414411
# NOTE: SGLang uses system Python (not a virtualenv in framework/runtime stages) to align with
415412
# upstream SGLang Dockerfile: https://github.com/sgl-project/sglang/blob/main/docker/Dockerfile
416413
# For dev stage, we create a lightweight venv with --system-site-packages to satisfy maturin develop
@@ -498,5 +495,9 @@ RUN python3 -m pip install --no-cache-dir \
498495
matplotlib \
499496
tabulate
500497

498+
# Set DYNAMO_COMMIT_SHA late to avoid cache invalidation
499+
ARG DYNAMO_COMMIT_SHA
500+
ENV DYNAMO_COMMIT_SHA=$DYNAMO_COMMIT_SHA
501+
501502
ENTRYPOINT ["/opt/nvidia/nvidia_entrypoint.sh"]
502503
CMD []

container/Dockerfile.trtllm

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -200,9 +200,6 @@ ENV NIXL_PLUGIN_DIR=$NIXL_LIB_DIR/plugins
200200
# workaround for pickle lib issue
201201
ENV OMPI_MCA_coll_ucc_enable=0
202202

203-
ARG DYNAMO_COMMIT_SHA
204-
ENV DYNAMO_COMMIT_SHA=$DYNAMO_COMMIT_SHA
205-
206203
# Install Python, build-essential and python3-dev as apt dependencies
207204
RUN if [ ${ARCH_ALT} = "x86_64" ]; then \
208205
ARCH_FOR_GPG=${ARCH_ALT}; \
@@ -382,6 +379,11 @@ RUN chmod 755 /opt/dynamo/.launch_screen && \
382379
echo 'cat /opt/dynamo/.launch_screen' >> /etc/bash.bashrc
383380

384381
USER dynamo
382+
383+
# Set DYNAMO_COMMIT_SHA late to avoid cache invalidation
384+
ARG DYNAMO_COMMIT_SHA
385+
ENV DYNAMO_COMMIT_SHA=$DYNAMO_COMMIT_SHA
386+
385387
ENTRYPOINT ["/opt/nvidia/nvidia_entrypoint.sh"]
386388
CMD []
387389

container/Dockerfile.vllm

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -182,9 +182,6 @@ ENV NIXL_PREFIX=/opt/nvidia/nvda_nixl
182182
ENV NIXL_LIB_DIR=$NIXL_PREFIX/lib/${ARCH_ALT}-linux-gnu
183183
ENV NIXL_PLUGIN_DIR=$NIXL_LIB_DIR/plugins
184184

185-
ARG DYNAMO_COMMIT_SHA
186-
ENV DYNAMO_COMMIT_SHA=$DYNAMO_COMMIT_SHA
187-
188185
# Install Python, build-essential and python3-dev as apt dependencies
189186
RUN apt-get update && \
190187
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
@@ -306,6 +303,10 @@ RUN chmod 755 /opt/dynamo/.launch_screen && \
306303

307304
USER dynamo
308305

306+
# Set DYNAMO_COMMIT_SHA late to avoid cache invalidation
307+
ARG DYNAMO_COMMIT_SHA
308+
ENV DYNAMO_COMMIT_SHA=$DYNAMO_COMMIT_SHA
309+
309310
ENTRYPOINT ["/opt/nvidia/nvidia_entrypoint.sh"]
310311
CMD []
311312

@@ -327,9 +328,6 @@ FROM runtime AS dev
327328
# Don't want ubuntu to be editable, just change uid and gid.
328329
ARG WORKSPACE_DIR=/workspace
329330

330-
ARG DYNAMO_COMMIT_SHA
331-
ENV DYNAMO_COMMIT_SHA=$DYNAMO_COMMIT_SHA
332-
333331
USER root
334332
# Install utilities as root
335333
RUN apt-get update -y && \
@@ -377,5 +375,9 @@ COPY --from=dynamo_base /usr/local/cargo /usr/local/cargo
377375
RUN uv pip install maturin[patchelf] && \
378376
uv pip install --no-deps -e .
379377

378+
# Set DYNAMO_COMMIT_SHA late to avoid cache invalidation
379+
ARG DYNAMO_COMMIT_SHA
380+
ENV DYNAMO_COMMIT_SHA=$DYNAMO_COMMIT_SHA
381+
380382
ENTRYPOINT ["/opt/nvidia/nvidia_entrypoint.sh"]
381383
CMD []

0 commit comments

Comments
 (0)