Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
OpenDAS
dynamo
Commits
d5af6040
"vscode:/vscode.git/clone" did not exist on "bd91dca6141e05bcfbe9bd4dea54cc58b9e37d75"
Unverified
Commit
d5af6040
authored
Feb 15, 2026
by
Ran Rubin
Committed by
GitHub
Feb 15, 2026
Browse files
chore: container build maintenance (#6316)
parent
9200ac9b
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
39 additions
and
24 deletions
+39
-24
.github/actions/bootstrap-buildkit/action.yml
.github/actions/bootstrap-buildkit/action.yml
+12
-1
.github/actions/docker-remote-build/action.yml
.github/actions/docker-remote-build/action.yml
+1
-2
.github/scripts/route_buildkit.sh
.github/scripts/route_buildkit.sh
+22
-17
aiconfigurator
aiconfigurator
+0
-1
container/templates/sglang_runtime.Dockerfile
container/templates/sglang_runtime.Dockerfile
+4
-3
No files found.
.github/actions/bootstrap-buildkit/action.yml
View file @
d5af6040
...
...
@@ -125,4 +125,15 @@ runs:
shell
:
bash
run
:
|
echo "Bootstrapping buildkit..."
docker buildx inspect ${{ inputs.builder_name }} --bootstrap
for i in 1 2 3; do
if docker buildx inspect ${{ inputs.builder_name }} --bootstrap; then
echo "Bootstrap succeeded on attempt $i"
break
fi
if [ "$i" -eq 3 ]; then
echo "::error::Bootstrap failed after 3 attempts"
exit 1
fi
echo "::warning::Bootstrap attempt $i failed, retrying in 10s..."
sleep 10
done
.github/actions/docker-remote-build/action.yml
View file @
d5af6040
...
...
@@ -107,8 +107,7 @@ runs:
# TODO: Fix this - Skip cache for frontend target - a different docker driver is used for the EPP build, which causes issues with cache export
CACHE_ARGS=""
if [[ "${{ inputs.target }}" != "frontend" ]]; then
CACHE_ARGS="--cache-to type=inline "
CACHE_ARGS+="--cache-from type=registry,ref=${ECR_HOSTNAME}/ai-dynamo/dynamo:${{ inputs.framework }}-cuda${CUDA_VERSION_MAJOR}-${PLATFORM}-cache "
CACHE_ARGS="--cache-from type=registry,ref=${ECR_HOSTNAME}/ai-dynamo/dynamo:${{ inputs.framework }}-cuda${CUDA_VERSION_MAJOR}-${PLATFORM}-cache "
CACHE_ARGS+="--cache-from type=registry,ref=${ECR_HOSTNAME}/ai-dynamo/dynamo:main-${{ inputs.framework }}-cuda${CUDA_VERSION_MAJOR}-${PLATFORM} "
CACHE_ARGS+="--cache-from type=registry,ref=${ECR_HOSTNAME}/ai-dynamo/dynamo:release-${{ inputs.framework }}-cuda${CUDA_VERSION_MAJOR}-${PLATFORM}-cache "
if [[ "$GITHUB_REF_NAME" =~ ^release ]]; then
...
...
.github/scripts/route_buildkit.sh
View file @
d5af6040
...
...
@@ -20,25 +20,30 @@
# business hours) gets the HEAVIEST workload (vllm/sglang-cuda12).
#
# Flavors are routed to BuildKit pods using modulo 3 on the pod index:
# - Pool 0 (idx % 3 == 0): trtllm
-cuda13
, general
(lightest - offsets overnight fallback load)
# - Pool 0 (idx % 3 == 0): trtllm
(any CUDA)
, general (lightest - offsets overnight fallback load)
# - Pool 1 (idx % 3 == 1): vllm-cuda13, sglang-cuda13 (share cuda-dl-base + wheel_builder cache)
# - Pool 2 (idx % 3 == 2): vllm-cuda12, sglang-cuda12 (heaviest - only active during business hours)
# Note: Unrecognized route keys (e.g. trtllm-cuda12) fall through to pool 0 via wildcard.
#
# SELECTION: From the candidate pool, ONE pod is randomly selected and its
# tcp:// address is written to $GITHUB_OUTPUT.
#
# FALLBACK: If no pods match the target pool, the highest available index is used.
#
# EXPECTED ROUTING TABLE (pod indices returned for each flavor):
# +------+---------------+---------+-------------+---------------+-------------+---------------+
# | Pods | trtllm-cuda13 | general | vllm-cuda13 | sglang-cuda13 | vllm-cuda12 | sglang-cuda12 |
# | | (mod 0) | (mod 0) | (mod 1) | (mod 1) | (mod 2) | (mod 2) |
# +------+---------------+---------+-------------+---------------+-------------+---------------+
# | 1 | 0 | 0 | 0 (fb) | 0 (fb) | 0 (fb) | 0 (fb) |
# | 2 | 0 | 0 | 1 | 1 | 1 (fb) | 1 (fb) |
# | 3 | 0 | 0 | 1 | 1 | 2 | 2 |
# | 4 | 0, 3 | 0, 3 | 1 | 1 | 2 | 2 |
# | 5 | 0, 3 | 0, 3 | 1, 4 | 1, 4 | 2 | 2 |
# | 6 | 0, 3 | 0, 3 | 1, 4 | 1, 4 | 2, 5 | 2, 5 |
# +------+---------------+---------+-------------+---------------+-------------+---------------+
# (fb) = fallback - no pods matched target pool, returns max available index
# CANDIDATE POOL TABLE (one pod is randomly selected from the candidate set):
# +------+---------------------+---------+---------------+---------------+---------------+---------------+
# | Pods | trtllm (any cuda) | general | vllm-cuda13 | sglang-cuda13 | vllm-cuda12 | sglang-cuda12 |
# | | (pool 0, mod 0) | (pool 0)| (pool 1,mod 1)| (pool 1,mod 1)| (pool 2,mod 2)| (pool 2,mod 2)|
# +------+---------------------+---------+---------------+---------------+---------------+---------------+
# | 1 | {0} | {0} | {0} (fb) | {0} (fb) | {0} (fb) | {0} (fb) |
# | 2 | {0} | {0} | {1} | {1} | {1} (fb) | {1} (fb) |
# | 3 | {0} | {0} | {1} | {1} | {2} | {2} |
# | 4 | {0, 3} | {0, 3} | {1} | {1} | {2} | {2} |
# | 5 | {0, 3} | {0, 3} | {1, 4} | {1, 4} | {2} | {2} |
# | 6 | {0, 3} | {0, 3} | {1, 4} | {1, 4} | {2, 5} | {2, 5} |
# +------+---------------------+---------+---------------+---------------+---------------+---------------+
# {x, y} = candidate pool; ONE pod is randomly selected from this set
# (fb) = no pods in target pool; falls back to highest available index
#
# =============================================================================
...
...
@@ -142,7 +147,7 @@ if ! command -v nslookup &> /dev/null; then
fi
# --- RETRY CONFIGURATION ---
MAX_RETRIES
=
${
MAX_RETRIES
:-
8
}
MAX_RETRIES
=
${
MAX_RETRIES
:-
2
}
RETRY_DELAY
=
${
RETRY_DELAY
:-
30
}
# ---------------------------
...
...
aiconfigurator
@
7c08d2f2
Subproject commit 7c08d2f2c4e289afe49f48e56d392a7d7221155d
container/templates/sglang_runtime.Dockerfile
View file @
d5af6040
...
...
@@ -84,12 +84,13 @@ RUN --mount=type=cache,target=/root/.cache/pip,sharing=locked \
COPY
--chmod=775 --chown=dynamo:0 benchmarks/ /workspace/benchmarks/
# Install common and test dependencies as root
RUN
--mount
=
type
=
bind
,source
=
.,target
=
/mnt/local_src
\
RUN
--mount
=
type
=
bind
,source
=
container/deps/requirements.txt,target
=
/tmp/deps/requirements.txt
\
--mount
=
type
=
bind
,source
=
container/deps/requirements.test.txt,target
=
/tmp/deps/requirements.test.txt
\
--mount
=
type
=
cache,target
=
/root/.cache/pip,sharing
=
locked
\
export
PIP_CACHE_DIR
=
/root/.cache/pip
&&
\
pip
install
--break-system-packages
\
--requirement
/
mnt/local_src/container
/deps/requirements.txt
\
--requirement
/
mnt/local_src/container
/deps/requirements.test.txt
\
--requirement
/
tmp
/deps/requirements.txt
\
--requirement
/
tmp
/deps/requirements.test.txt
\
sglang
==
${
SGLANG_VERSION
}
&&
\
cd
/workspace/benchmarks
&&
\
pip
install
--break-system-packages
.
&&
\
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment