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
8428c65f
Unverified
Commit
8428c65f
authored
Apr 17, 2026
by
Saravana Periyasamy
Committed by
GitHub
Apr 17, 2026
Browse files
refactor(ci): switch sccache auth to IRSA web identity (#8324)
parent
90ccc92c
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
37 additions
and
62 deletions
+37
-62
.github/actions/build-flavor/action.yml
.github/actions/build-flavor/action.yml
+0
-10
.github/actions/docker-build/action.yml
.github/actions/docker-build/action.yml
+0
-8
.github/actions/docker-remote-build/action.yml
.github/actions/docker-remote-build/action.yml
+12
-16
.github/workflows/build-flavor.yml
.github/workflows/build-flavor.yml
+0
-2
.github/workflows/build-frontend-image.yaml
.github/workflows/build-frontend-image.yaml
+0
-2
.github/workflows/build-test-distribute-flavor.yml
.github/workflows/build-test-distribute-flavor.yml
+0
-2
.github/workflows/container-validation-dynamo.yml
.github/workflows/container-validation-dynamo.yml
+0
-2
.github/workflows/shared-build-image.yml
.github/workflows/shared-build-image.yml
+0
-2
container/templates/wheel_builder.Dockerfile
container/templates/wheel_builder.Dockerfile
+25
-18
No files found.
.github/actions/build-flavor/action.yml
View file @
8428c65f
...
@@ -44,14 +44,6 @@ inputs:
...
@@ -44,14 +44,6 @@ inputs:
description
:
'
SCCache
S3
Bucket'
description
:
'
SCCache
S3
Bucket'
required
:
false
required
:
false
default
:
'
'
default
:
'
'
aws_access_key_id
:
description
:
'
AWS
Access
Key
ID'
required
:
false
default
:
'
'
aws_secret_access_key
:
description
:
'
AWS
Secret
Access
Key'
required
:
false
default
:
'
'
hf_token
:
hf_token
:
description
:
'
HuggingFace
token'
description
:
'
HuggingFace
token'
required
:
false
required
:
false
...
@@ -239,8 +231,6 @@ runs:
...
@@ -239,8 +231,6 @@ runs:
aws_default_region
:
${{ inputs.aws_default_region }}
aws_default_region
:
${{ inputs.aws_default_region }}
sccache_s3_bucket
:
${{ inputs.sccache_s3_bucket }}
sccache_s3_bucket
:
${{ inputs.sccache_s3_bucket }}
aws_account_id
:
${{ inputs.aws_account_id }}
aws_account_id
:
${{ inputs.aws_account_id }}
aws_access_key_id
:
${{ inputs.aws_access_key_id }}
aws_secret_access_key
:
${{ inputs.aws_secret_access_key }}
no_cache
:
${{ inputs.no_cache }}
no_cache
:
${{ inputs.no_cache }}
extra_tags
:
${{ steps.extra-tags.outputs.tags }}
extra_tags
:
${{ steps.extra-tags.outputs.tags }}
push_image
:
${{ inputs.push_image }}
push_image
:
${{ inputs.push_image }}
...
...
.github/actions/docker-build/action.yml
View file @
8428c65f
...
@@ -34,12 +34,6 @@ inputs:
...
@@ -34,12 +34,6 @@ inputs:
aws_account_id
:
aws_account_id
:
description
:
'
AWS
Account
ID'
description
:
'
AWS
Account
ID'
required
:
false
required
:
false
aws_access_key_id
:
description
:
'
AWS
Access
Key
ID'
required
:
false
aws_secret_access_key
:
description
:
'
AWS
Secret
Access
Key'
required
:
false
outputs
:
outputs
:
image_tag
:
image_tag
:
...
@@ -106,8 +100,6 @@ runs:
...
@@ -106,8 +100,6 @@ runs:
GITHUB_TOKEN
:
${{ inputs.ci_token }}
GITHUB_TOKEN
:
${{ inputs.ci_token }}
AWS_DEFAULT_REGION
:
${{ inputs.aws_default_region }}
AWS_DEFAULT_REGION
:
${{ inputs.aws_default_region }}
SCCACHE_S3_BUCKET
:
${{ inputs.sccache_s3_bucket }}
SCCACHE_S3_BUCKET
:
${{ inputs.sccache_s3_bucket }}
AWS_ACCESS_KEY_ID
:
${{ inputs.aws_access_key_id }}
AWS_SECRET_ACCESS_KEY
:
${{ inputs.aws_secret_access_key }}
PLATFORM
:
${{ inputs.platform }}
PLATFORM
:
${{ inputs.platform }}
ECR_HOSTNAME
:
${{ inputs.aws_account_id }}.dkr.ecr.${{ inputs.aws_default_region }}.amazonaws.com
ECR_HOSTNAME
:
${{ inputs.aws_account_id }}.dkr.ecr.${{ inputs.aws_default_region }}.amazonaws.com
GITHUB_RUN_ID
:
${{ github.run_id }}
GITHUB_RUN_ID
:
${{ github.run_id }}
...
...
.github/actions/docker-remote-build/action.yml
View file @
8428c65f
...
@@ -28,12 +28,6 @@ inputs:
...
@@ -28,12 +28,6 @@ inputs:
aws_account_id
:
aws_account_id
:
description
:
'
AWS
Account
ID'
description
:
'
AWS
Account
ID'
required
:
false
required
:
false
aws_access_key_id
:
description
:
'
AWS
Access
Key
ID'
required
:
false
aws_secret_access_key
:
description
:
'
AWS
Secret
Access
Key'
required
:
false
no_cache
:
no_cache
:
description
:
'
Disable
Docker
build
cache'
description
:
'
Disable
Docker
build
cache'
required
:
false
required
:
false
...
@@ -71,8 +65,6 @@ runs:
...
@@ -71,8 +65,6 @@ runs:
env
:
env
:
AWS_DEFAULT_REGION
:
${{ inputs.aws_default_region }}
AWS_DEFAULT_REGION
:
${{ inputs.aws_default_region }}
SCCACHE_S3_BUCKET
:
${{ inputs.sccache_s3_bucket }}
SCCACHE_S3_BUCKET
:
${{ inputs.sccache_s3_bucket }}
AWS_ACCESS_KEY_ID
:
${{ inputs.aws_access_key_id }}
AWS_SECRET_ACCESS_KEY
:
${{ inputs.aws_secret_access_key }}
PLATFORM
:
${{ inputs.platform }}
PLATFORM
:
${{ inputs.platform }}
ECR_HOSTNAME
:
${{ inputs.aws_account_id }}.dkr.ecr.${{ inputs.aws_default_region }}.amazonaws.com
ECR_HOSTNAME
:
${{ inputs.aws_account_id }}.dkr.ecr.${{ inputs.aws_default_region }}.amazonaws.com
GITHUB_RUN_ID
:
${{ github.run_id }}
GITHUB_RUN_ID
:
${{ github.run_id }}
...
@@ -162,16 +154,20 @@ runs:
...
@@ -162,16 +154,20 @@ runs:
done <<< "$EXTRA_BUILD_ARGS"
done <<< "$EXTRA_BUILD_ARGS"
fi
fi
# Pass
AWS credentials
as build secrets for sccache S3 access.
# Pass
IRSA web identity token
as build secrets for sccache S3 access.
#
Dockerfile steps reference these via --mount=type=secret,id=aws-key-id,env=...
#
The runner pod has IRSA which provides AWS_WEB_IDENTITY_TOKEN_FILE and
#
Disable tracing to prevent set -x from leaking credentials into logs.
#
AWS_ROLE_ARN. We pass the token file and role ARN to BuildKit so sccache
set +x
# can authenticate via STS AssumeRoleWithWebIdentity -- no static keys needed.
SECRET_ARGS=""
SECRET_ARGS=""
if [ "${{ inputs.use_sccache }}" == "true" ] && [ -n "${AWS_ACCESS_KEY_ID:-}" ]; then
if [ "${{ inputs.use_sccache }}" == "true" ]; then
SECRET_ARGS+=" --secret id=aws-key-id,env=AWS_ACCESS_KEY_ID"
TOKEN_FILE="${AWS_WEB_IDENTITY_TOKEN_FILE:-}"
SECRET_ARGS+=" --secret id=aws-secret-id,env=AWS_SECRET_ACCESS_KEY"
if [ -n "$TOKEN_FILE" ] && [ -f "$TOKEN_FILE" ] && [ -n "${AWS_ROLE_ARN:-}" ]; then
SECRET_ARGS+=" --secret id=aws-web-identity-token,src=${TOKEN_FILE}"
SECRET_ARGS+=" --secret id=aws-role-arn,env=AWS_ROLE_ARN"
else
echo "::warning::IRSA web identity token not available; sccache S3 cache will be disabled"
fi
fi
fi
set -x
docker buildx build \
docker buildx build \
--progress=plain \
--progress=plain \
...
...
.github/workflows/build-flavor.yml
View file @
8428c65f
...
@@ -116,8 +116,6 @@ jobs:
...
@@ -116,8 +116,6 @@ jobs:
azure_acr_user
:
${{ secrets.AZURE_ACR_USER }}
azure_acr_user
:
${{ secrets.AZURE_ACR_USER }}
azure_acr_password
:
${{ secrets.AZURE_ACR_PASSWORD }}
azure_acr_password
:
${{ secrets.AZURE_ACR_PASSWORD }}
sccache_s3_bucket
:
${{ secrets.SCCACHE_S3_BUCKET }}
sccache_s3_bucket
:
${{ secrets.SCCACHE_S3_BUCKET }}
aws_access_key_id
:
${{ secrets.AWS_ACCESS_KEY_ID }}
aws_secret_access_key
:
${{ secrets.AWS_SECRET_ACCESS_KEY }}
hf_token
:
${{ secrets.HF_TOKEN }}
hf_token
:
${{ secrets.HF_TOKEN }}
build_timeout_minutes
:
${{ inputs.build_timeout_minutes }}
build_timeout_minutes
:
${{ inputs.build_timeout_minutes }}
push_image
:
${{ inputs.push_image }}
push_image
:
${{ inputs.push_image }}
...
...
.github/workflows/build-frontend-image.yaml
View file @
8428c65f
...
@@ -170,8 +170,6 @@ jobs:
...
@@ -170,8 +170,6 @@ jobs:
aws_default_region
:
${{ secrets.AWS_DEFAULT_REGION }}
aws_default_region
:
${{ secrets.AWS_DEFAULT_REGION }}
sccache_s3_bucket
:
${{ secrets.SCCACHE_S3_BUCKET }}
sccache_s3_bucket
:
${{ secrets.SCCACHE_S3_BUCKET }}
aws_account_id
:
${{ secrets.AWS_ACCOUNT_ID }}
aws_account_id
:
${{ secrets.AWS_ACCOUNT_ID }}
aws_access_key_id
:
${{ secrets.AWS_ACCESS_KEY_ID }}
aws_secret_access_key
:
${{ secrets.AWS_SECRET_ACCESS_KEY }}
push_image
:
true
push_image
:
true
extra_build_args
:
|
extra_build_args
:
|
EPP_IMAGE=${{ steps.calculate-target-tag.outputs.epp_image_uri }}
EPP_IMAGE=${{ steps.calculate-target-tag.outputs.epp_image_uri }}
...
...
.github/workflows/build-test-distribute-flavor.yml
View file @
8428c65f
...
@@ -219,8 +219,6 @@ jobs:
...
@@ -219,8 +219,6 @@ jobs:
azure_acr_user
:
${{ secrets.AZURE_ACR_USER }}
azure_acr_user
:
${{ secrets.AZURE_ACR_USER }}
azure_acr_password
:
${{ secrets.AZURE_ACR_PASSWORD }}
azure_acr_password
:
${{ secrets.AZURE_ACR_PASSWORD }}
sccache_s3_bucket
:
${{ secrets.SCCACHE_S3_BUCKET }}
sccache_s3_bucket
:
${{ secrets.SCCACHE_S3_BUCKET }}
aws_access_key_id
:
${{ secrets.AWS_ACCESS_KEY_ID }}
aws_secret_access_key
:
${{ secrets.AWS_SECRET_ACCESS_KEY }}
hf_token
:
${{ secrets.HF_TOKEN }}
hf_token
:
${{ secrets.HF_TOKEN }}
build_timeout_minutes
:
${{ inputs.build_timeout_minutes }}
build_timeout_minutes
:
${{ inputs.build_timeout_minutes }}
push_image
:
${{ inputs.push_image }}
push_image
:
${{ inputs.push_image }}
...
...
.github/workflows/container-validation-dynamo.yml
View file @
8428c65f
...
@@ -128,8 +128,6 @@ jobs:
...
@@ -128,8 +128,6 @@ jobs:
aws_default_region
:
${{ secrets.AWS_DEFAULT_REGION }}
aws_default_region
:
${{ secrets.AWS_DEFAULT_REGION }}
aws_account_id
:
${{ secrets.AWS_ACCOUNT_ID }}
aws_account_id
:
${{ secrets.AWS_ACCOUNT_ID }}
sccache_s3_bucket
:
${{ secrets.SCCACHE_S3_BUCKET }}
sccache_s3_bucket
:
${{ secrets.SCCACHE_S3_BUCKET }}
aws_access_key_id
:
${{ secrets.AWS_ACCESS_KEY_ID }}
aws_secret_access_key
:
${{ secrets.AWS_SECRET_ACCESS_KEY }}
push_image
:
'
true'
push_image
:
'
true'
-
name
:
Build and Push Test Image
-
name
:
Build and Push Test Image
env
:
env
:
...
...
.github/workflows/shared-build-image.yml
View file @
8428c65f
...
@@ -241,8 +241,6 @@ jobs:
...
@@ -241,8 +241,6 @@ jobs:
aws_default_region
:
${{ secrets.AWS_DEFAULT_REGION }}
aws_default_region
:
${{ secrets.AWS_DEFAULT_REGION }}
sccache_s3_bucket
:
${{ secrets.SCCACHE_S3_BUCKET }}
sccache_s3_bucket
:
${{ secrets.SCCACHE_S3_BUCKET }}
aws_account_id
:
${{ secrets.AWS_ACCOUNT_ID }}
aws_account_id
:
${{ secrets.AWS_ACCOUNT_ID }}
aws_access_key_id
:
${{ secrets.AWS_ACCESS_KEY_ID }}
aws_secret_access_key
:
${{ secrets.AWS_SECRET_ACCESS_KEY }}
no_cache
:
${{ inputs.no_cache }}
no_cache
:
${{ inputs.no_cache }}
extra_tags
:
${{ steps.extra-tags.outputs.tags }}
extra_tags
:
${{ steps.extra-tags.outputs.tags }}
push_image
:
${{ inputs.push_image }}
push_image
:
${{ inputs.push_image }}
...
...
container/templates/wheel_builder.Dockerfile
View file @
8428c65f
...
@@ -255,8 +255,9 @@ ENV SCCACHE_BUCKET=${USE_SCCACHE:+${SCCACHE_BUCKET}} \
...
@@ -255,8 +255,9 @@ ENV SCCACHE_BUCKET=${USE_SCCACHE:+${SCCACHE_BUCKET}} \
# Always build FFmpeg so libs are available for Rust checks in CI
# Always build FFmpeg so libs are available for Rust checks in CI
# Do not delete the source tarball for legal reasons
# Do not delete the source tarball for legal reasons
ARG
FFMPEG_VERSION
ARG
FFMPEG_VERSION
RUN
--mount
=
type
=
secret,id
=
aws-key-id,env
=
AWS_ACCESS_KEY_ID
\
RUN
--mount
=
type
=
secret,id
=
aws-web-identity-token,target
=
/run/secrets/aws-token
\
--mount
=
type
=
secret,id
=
aws-secret-id,env
=
AWS_SECRET_ACCESS_KEY
\
--mount
=
type
=
secret,id
=
aws-role-arn,env
=
AWS_ROLE_ARN
\
export
AWS_WEB_IDENTITY_TOKEN_FILE
=
/run/secrets/aws-token
&&
\
export
SCCACHE_S3_KEY_PREFIX
=
${
SCCACHE_S3_KEY_PREFIX
:-${
TARGETARCH
}}
&&
\
export
SCCACHE_S3_KEY_PREFIX
=
${
SCCACHE_S3_KEY_PREFIX
:-${
TARGETARCH
}}
&&
\
if
[
"
$USE_SCCACHE
"
=
"true"
]
;
then
\
if
[
"
$USE_SCCACHE
"
=
"true"
]
;
then
\
eval
$(
/tmp/use-sccache.sh setup-env
)
;
\
eval
$(
/tmp/use-sccache.sh setup-env
)
;
\
...
@@ -292,13 +293,13 @@ RUN --mount=type=secret,id=aws-key-id,env=AWS_ACCESS_KEY_ID \
...
@@ -292,13 +293,13 @@ RUN --mount=type=secret,id=aws-key-id,env=AWS_ACCESS_KEY_ID \
/tmp/use-sccache.sh show-stats
"FFMPEG"
&&
\
/tmp/use-sccache.sh show-stats
"FFMPEG"
&&
\
ldconfig
&&
\
ldconfig
&&
\
mkdir
-p
/usr/local/src/ffmpeg
&&
\
mkdir
-p
/usr/local/src/ffmpeg
&&
\
# Remove build artifacts (config.log, etc.) before preserving the source.
find /tmp/ffmpeg-
${
FFMPEG_VERSION
}
\(
-name
config.log
-o
-name
config.status
\)
-delete
&&
\
find /tmp/ffmpeg-${FFMPEG_VERSION} -name config.log -delete && \
mv
/tmp/ffmpeg-
${
FFMPEG_VERSION
}*
/usr/local/src/ffmpeg/
mv
/tmp/ffmpeg-
${
FFMPEG_VERSION
}*
/usr/local/src/ffmpeg/
# Build and install UCX
# Build and install UCX
RUN
--mount
=
type
=
secret,id
=
aws-key-id,env
=
AWS_ACCESS_KEY_ID
\
RUN
--mount
=
type
=
secret,id
=
aws-web-identity-token,target
=
/run/secrets/aws-token
\
--mount
=
type
=
secret,id
=
aws-secret-id,env
=
AWS_SECRET_ACCESS_KEY
\
--mount
=
type
=
secret,id
=
aws-role-arn,env
=
AWS_ROLE_ARN
\
export
AWS_WEB_IDENTITY_TOKEN_FILE
=
/run/secrets/aws-token
&&
\
export
SCCACHE_S3_KEY_PREFIX
=
"
${
SCCACHE_S3_KEY_PREFIX
:-${
TARGETARCH
}}
"
&&
\
export
SCCACHE_S3_KEY_PREFIX
=
"
${
SCCACHE_S3_KEY_PREFIX
:-${
TARGETARCH
}}
"
&&
\
if
[
"
$USE_SCCACHE
"
=
"true"
]
;
then
\
if
[
"
$USE_SCCACHE
"
=
"true"
]
;
then
\
eval
$(
/tmp/use-sccache.sh setup-env
)
;
\
eval
$(
/tmp/use-sccache.sh setup-env
)
;
\
...
@@ -363,8 +364,9 @@ RUN --mount=type=secret,id=aws-key-id,env=AWS_ACCESS_KEY_ID \
...
@@ -363,8 +364,9 @@ RUN --mount=type=secret,id=aws-key-id,env=AWS_ACCESS_KEY_ID \
{% if device == "cuda" %}
{% if device == "cuda" %}
ARG
NIXL_LIBFABRIC_REF
ARG
NIXL_LIBFABRIC_REF
RUN
--mount
=
type
=
secret,id
=
aws-key-id,env
=
AWS_ACCESS_KEY_ID
\
RUN
--mount
=
type
=
secret,id
=
aws-web-identity-token,target
=
/run/secrets/aws-token
\
--mount
=
type
=
secret,id
=
aws-secret-id,env
=
AWS_SECRET_ACCESS_KEY
\
--mount
=
type
=
secret,id
=
aws-role-arn,env
=
AWS_ROLE_ARN
\
export
AWS_WEB_IDENTITY_TOKEN_FILE
=
/run/secrets/aws-token
&&
\
export
SCCACHE_S3_KEY_PREFIX
=
"
${
SCCACHE_S3_KEY_PREFIX
:-${
TARGETARCH
}}
"
&&
\
export
SCCACHE_S3_KEY_PREFIX
=
"
${
SCCACHE_S3_KEY_PREFIX
:-${
TARGETARCH
}}
"
&&
\
if
[
"
$USE_SCCACHE
"
=
"true"
]
;
then
\
if
[
"
$USE_SCCACHE
"
=
"true"
]
;
then
\
eval
$(
/tmp/use-sccache.sh setup-env
)
;
\
eval
$(
/tmp/use-sccache.sh setup-env
)
;
\
...
@@ -395,8 +397,9 @@ RUN --mount=type=secret,id=aws-key-id,env=AWS_ACCESS_KEY_ID \
...
@@ -395,8 +397,9 @@ RUN --mount=type=secret,id=aws-key-id,env=AWS_ACCESS_KEY_ID \
{% if framework == "vllm" and device == "cuda" %}
{% if framework == "vllm" and device == "cuda" %}
# Build and install AWS SDK C++ (required for NIXL OBJ backend / S3 support)
# Build and install AWS SDK C++ (required for NIXL OBJ backend / S3 support)
ARG
AWS_SDK_CPP_VERSION=1.11.760
ARG
AWS_SDK_CPP_VERSION=1.11.760
RUN
--mount
=
type
=
secret,id
=
aws-key-id,env
=
AWS_ACCESS_KEY_ID
\
RUN
--mount
=
type
=
secret,id
=
aws-web-identity-token,target
=
/run/secrets/aws-token
\
--mount
=
type
=
secret,id
=
aws-secret-id,env
=
AWS_SECRET_ACCESS_KEY
\
--mount
=
type
=
secret,id
=
aws-role-arn,env
=
AWS_ROLE_ARN
\
export
AWS_WEB_IDENTITY_TOKEN_FILE
=
/run/secrets/aws-token
&&
\
export
SCCACHE_S3_KEY_PREFIX
=
"
${
SCCACHE_S3_KEY_PREFIX
:-${
TARGETARCH
}}
"
&&
\
export
SCCACHE_S3_KEY_PREFIX
=
"
${
SCCACHE_S3_KEY_PREFIX
:-${
TARGETARCH
}}
"
&&
\
if
[
"
$USE_SCCACHE
"
=
"true"
]
;
then
\
if
[
"
$USE_SCCACHE
"
=
"true"
]
;
then
\
eval
$(
/tmp/use-sccache.sh setup-env cmake
)
;
\
eval
$(
/tmp/use-sccache.sh setup-env cmake
)
;
\
...
@@ -437,11 +440,12 @@ COPY components/ /opt/dynamo/components/
...
@@ -437,11 +440,12 @@ COPY components/ /opt/dynamo/components/
# Build ai-dynamo (pure Python) and ai-dynamo-runtime (maturin) wheels
# Build ai-dynamo (pure Python) and ai-dynamo-runtime (maturin) wheels
ARG
USE_SCCACHE
ARG
USE_SCCACHE
ARG
ENABLE_MEDIA_FFMPEG
ARG
ENABLE_MEDIA_FFMPEG
RUN
--mount
=
type
=
secret,id
=
aws-
key-id,env
=
AWS_ACCESS_KEY_ID
\
RUN
--mount
=
type
=
secret,id
=
aws-
web-identity-token,target
=
/run/secrets/aws-token
\
--mount
=
type
=
secret,id
=
aws-
secret-id,env
=
AWS_SECRET_ACCESS_KEY
\
--mount
=
type
=
secret,id
=
aws-
role-arn,env
=
AWS_ROLE_ARN
\
--mount
=
type
=
cache,target
=
/root/.cargo/registry
\
--mount
=
type
=
cache,target
=
/root/.cargo/registry
\
--mount
=
type
=
cache,target
=
/root/.cargo/git
\
--mount
=
type
=
cache,target
=
/root/.cargo/git
\
--mount
=
type
=
cache,target
=
/root/.cache/uv
\
--mount
=
type
=
cache,target
=
/root/.cache/uv
\
export
AWS_WEB_IDENTITY_TOKEN_FILE
=
/run/secrets/aws-token
&&
\
export
UV_CACHE_DIR
=
/root/.cache/uv
&&
\
export
UV_CACHE_DIR
=
/root/.cache/uv
&&
\
export
SCCACHE_S3_KEY_PREFIX
=
${
SCCACHE_S3_KEY_PREFIX
:-${
TARGETARCH
}}
&&
\
export
SCCACHE_S3_KEY_PREFIX
=
${
SCCACHE_S3_KEY_PREFIX
:-${
TARGETARCH
}}
&&
\
if
[
"
$USE_SCCACHE
"
=
"true"
]
;
then
\
if
[
"
$USE_SCCACHE
"
=
"true"
]
;
then
\
...
@@ -505,8 +509,9 @@ ARG USE_SCCACHE
...
@@ -505,8 +509,9 @@ ARG USE_SCCACHE
ARG
CUDA_MAJOR
ARG
CUDA_MAJOR
{% endif %}
{% endif %}
RUN
--mount
=
type
=
secret,id
=
aws-key-id,env
=
AWS_ACCESS_KEY_ID
\
RUN
--mount
=
type
=
secret,id
=
aws-web-identity-token,target
=
/run/secrets/aws-token
\
--mount
=
type
=
secret,id
=
aws-secret-id,env
=
AWS_SECRET_ACCESS_KEY
\
--mount
=
type
=
secret,id
=
aws-role-arn,env
=
AWS_ROLE_ARN
\
export
AWS_WEB_IDENTITY_TOKEN_FILE
=
/run/secrets/aws-token
&&
\
export
SCCACHE_S3_KEY_PREFIX
=
"
${
SCCACHE_S3_KEY_PREFIX
:-${
TARGETARCH
}}
"
&&
\
export
SCCACHE_S3_KEY_PREFIX
=
"
${
SCCACHE_S3_KEY_PREFIX
:-${
TARGETARCH
}}
"
&&
\
if
[
"
$USE_SCCACHE
"
=
"true"
]
;
then
\
if
[
"
$USE_SCCACHE
"
=
"true"
]
;
then
\
eval
$(
/tmp/use-sccache.sh setup-env
)
;
\
eval
$(
/tmp/use-sccache.sh setup-env
)
;
\
...
@@ -563,9 +568,10 @@ RUN echo "$NIXL_LIB_DIR" > /etc/ld.so.conf.d/nixl.conf && \
...
@@ -563,9 +568,10 @@ RUN echo "$NIXL_LIB_DIR" > /etc/ld.so.conf.d/nixl.conf && \
# Build NIXL wheel → /opt/dynamo/dist/nixl/nixl*.whl (C++ transport library, all targets)
# Build NIXL wheel → /opt/dynamo/dist/nixl/nixl*.whl (C++ transport library, all targets)
ARG
PYTHON_VERSION
ARG
PYTHON_VERSION
RUN
--mount
=
type
=
secret,id
=
aws-
key-id,env
=
AWS_ACCESS_KEY_ID
\
RUN
--mount
=
type
=
secret,id
=
aws-
web-identity-token,target
=
/run/secrets/aws-token
\
--mount
=
type
=
secret,id
=
aws-
secret-id,env
=
AWS_SECRET_ACCESS_KEY
\
--mount
=
type
=
secret,id
=
aws-
role-arn,env
=
AWS_ROLE_ARN
\
--mount
=
type
=
cache,target
=
/root/.cache/uv
\
--mount
=
type
=
cache,target
=
/root/.cache/uv
\
export
AWS_WEB_IDENTITY_TOKEN_FILE
=
/run/secrets/aws-token
&&
\
export
UV_CACHE_DIR
=
/root/.cache/uv
&&
\
export
UV_CACHE_DIR
=
/root/.cache/uv
&&
\
export
SCCACHE_S3_KEY_PREFIX
=
"
${
SCCACHE_S3_KEY_PREFIX
:-${
TARGETARCH
}}
"
&&
\
export
SCCACHE_S3_KEY_PREFIX
=
"
${
SCCACHE_S3_KEY_PREFIX
:-${
TARGETARCH
}}
"
&&
\
if
[
"
$USE_SCCACHE
"
=
"true"
]
;
then
\
if
[
"
$USE_SCCACHE
"
=
"true"
]
;
then
\
...
@@ -583,11 +589,12 @@ COPY components/ /opt/dynamo/components/
...
@@ -583,11 +589,12 @@ COPY components/ /opt/dynamo/components/
# Build kvbm wheel (with nixl linkage via auditwheel repair)
# Build kvbm wheel (with nixl linkage via auditwheel repair)
ARG
ENABLE_KVBM
ARG
ENABLE_KVBM
RUN
--mount
=
type
=
secret,id
=
aws-
key-id,env
=
AWS_ACCESS_KEY_ID
\
RUN
--mount
=
type
=
secret,id
=
aws-
web-identity-token,target
=
/run/secrets/aws-token
\
--mount
=
type
=
secret,id
=
aws-
secret-id,env
=
AWS_SECRET_ACCESS_KEY
\
--mount
=
type
=
secret,id
=
aws-
role-arn,env
=
AWS_ROLE_ARN
\
--mount
=
type
=
cache,target
=
/root/.cargo/registry
\
--mount
=
type
=
cache,target
=
/root/.cargo/registry
\
--mount
=
type
=
cache,target
=
/root/.cargo/git
\
--mount
=
type
=
cache,target
=
/root/.cargo/git
\
--mount
=
type
=
cache,target
=
/root/.cache/uv
\
--mount
=
type
=
cache,target
=
/root/.cache/uv
\
export
AWS_WEB_IDENTITY_TOKEN_FILE
=
/run/secrets/aws-token
&&
\
export
UV_CACHE_DIR
=
/root/.cache/uv
&&
\
export
UV_CACHE_DIR
=
/root/.cache/uv
&&
\
export
SCCACHE_S3_KEY_PREFIX
=
${
SCCACHE_S3_KEY_PREFIX
:-${
TARGETARCH
}}
&&
\
export
SCCACHE_S3_KEY_PREFIX
=
${
SCCACHE_S3_KEY_PREFIX
:-${
TARGETARCH
}}
&&
\
ARCH_ALT
=
$(
[
"
${
TARGETARCH
}
"
=
"amd64"
]
&&
echo
"x86_64"
||
echo
"aarch64"
)
&&
\
ARCH_ALT
=
$(
[
"
${
TARGETARCH
}
"
=
"amd64"
]
&&
echo
"x86_64"
||
echo
"aarch64"
)
&&
\
...
...
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