Skip to content

Dockerfiles: Update S3 SDK version - #1387

Merged
ovidiusm merged 1 commit into
ai-dynamo:mainfrom
aranadive:obj-update-s3-crt
Mar 3, 2026
Merged

ovidiusm merged 1 commit into
ai-dynamo:mainfrom
aranadive:obj-update-s3-crt

Conversation

@aranadive

@aranadive aranadive commented Mar 3, 2026 •

Copy link
Copy Markdown
Contributor

There is a bug in the currently used SDK 1.11.581 where the CrtCallback uses data after it was freed. SDK version 1.11.760 fixes this. Update dockerfiles to use latest version.

See aws/aws-sdk-cpp#3643.

There is a bug in the currently used SDK 1.11.581 where the CrtCallback
uses data after it was freed. SDK version 1.11.760 fixes this. Update
dockerfiles to use latest version.

Signed-off-by: Adit Ranadive <aranadive@nvidia.com>
@github-actions

github-actions Bot commented Mar 3, 2026

Copy link
Copy Markdown

👋 Hi aranadive! Thank you for contributing to ai-dynamo/nixl.

Your PR reviewers will review your contribution then trigger the CI to test your changes.

🚀

@aranadive

Copy link
Copy Markdown
Contributor Author

/build

@coderabbitai

coderabbitai Bot commented Mar 3, 2026

Copy link
Copy Markdown
Contributor
📝 Walkthrough

Walkthrough

Three Dockerfile files are updated to change the AWS SDK C++ Git branch reference from 1.11.581 to 1.11.760. All other build steps and cloning parameters remain unchanged.

Changes

Cohort / File(s) Summary
AWS SDK C++ Dependency Updates
benchmark/nixlbench/contrib/Dockerfile, contrib/Dockerfile, contrib/Dockerfile.manylinux
Updated AWS SDK C++ Git branch target from 1.11.581 to 1.11.760 across all three Dockerfile variants.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Poem

🐰 A hop, skip, and a version bump so fine,
From 581 to 760, the AWS SDK does shine,
Three little Dockerfiles, all updated with care,
The rabbit's build system floats through the air! ✨

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Description check ❓ Inconclusive The description is incomplete; it lacks proper structure per the template with distinct 'What?', 'Why?', and optional 'How?' sections. Restructure the description to follow the template with clearly labeled sections: What? (describing the Dockerfile updates), Why? (explaining the CrtCallback bug fix), and optionally How? (if relevant for implementation details).
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main change: updating S3 SDK version across Dockerfiles.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
benchmark/nixlbench/contrib/Dockerfile (1)

156-161: 🧹 Nitpick | 🔵 Trivial

Refactor this build step to avoid cd in RUN and align with Hadolint DL3003 guidance.

The current pattern uses cd inside a RUN chain, which Hadolint flags as DL3003. Switch to CMake's -S/-B flags plus cmake --build/--install to keep the step deterministic and maintainable, consistent with the Azure SDK build pattern already used in this Dockerfile (lines 169–173).

♻️ Proposed refactor
 RUN git clone --recurse-submodules --depth 1 --shallow-submodules https://github.com/aws/aws-sdk-cpp.git --branch 1.11.760 && \
-    mkdir sdk_build && \
-    cd sdk_build && \
-    cmake ../aws-sdk-cpp/ -DCMAKE_BUILD_TYPE=Release -DBUILD_ONLY="s3;s3-crt" -DENABLE_TESTING=OFF -DCMAKE_INSTALL_PREFIX=/usr/local && \
-    make -j && \
-    make install
+    cmake -S aws-sdk-cpp -B sdk_build -DCMAKE_BUILD_TYPE=Release -DBUILD_ONLY="s3;s3-crt" -DENABLE_TESTING=OFF -DCMAKE_INSTALL_PREFIX=/usr/local && \
+    cmake --build sdk_build -j${NPROC:-$(nproc)} && \
+    cmake --install sdk_build
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@benchmark/nixlbench/contrib/Dockerfile` around lines 156 - 161, Refactor the
Dockerfile RUN step that builds aws-sdk-cpp to avoid using cd by using CMake's
source/build directories and its --build/--install verbs: replace the chained
commands that clone aws-sdk-cpp and then "mkdir sdk_build && cd sdk_build &&
cmake ../aws-sdk-cpp/ ..." with a sequence that clones the repo (same URL and
--branch 1.11.760 and submodule flags) and then invokes cmake -S aws-sdk-cpp -B
sdk_build -DCMAKE_BUILD_TYPE=Release -DBUILD_ONLY="s3;s3-crt"
-DENABLE_TESTING=OFF -DCMAKE_INSTALL_PREFIX=/usr/local followed by cmake --build
sdk_build -- -j and cmake --install sdk_build; keep the same build options
(BUILD_ONLY/ENABLE_TESTING/CMAKE_INSTALL_PREFIX) and ensure the directory names
(aws-sdk-cpp, sdk_build) match the existing diff so Hadolint DL3003 is resolved.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@contrib/Dockerfile`:
- Around line 98-101: The Dockerfile RUN chain uses shell cd to switch into
aws_sdk_build which triggers DL3003; replace the cd-based build with explicit
CMake source and build directory flags instead: create the build directory
(aws_sdk_build) via mkdir and invoke cmake pointing to ../aws-sdk-cpp as the
source and the build dir as the current working directory using -S and -B (or
pass the build dir as the first argument) so you call cmake -S aws-sdk-cpp -B
aws_sdk_build ... (matching existing flags -DCMAKE_BUILD_TYPE=Release
-DBUILD_ONLY="s3;s3-crt" -DENABLE_TESTING=OFF
-DCMAKE_INSTALL_PREFIX=/usr/local), then run make -C aws_sdk_build
-j${NPROC:-$(nproc)} and make -C aws_sdk_build install; adjust the git clone and
directory names (aws-sdk-cpp, aws_sdk_build) accordingly to avoid using cd.

---

Outside diff comments:
In `@benchmark/nixlbench/contrib/Dockerfile`:
- Around line 156-161: Refactor the Dockerfile RUN step that builds aws-sdk-cpp
to avoid using cd by using CMake's source/build directories and its
--build/--install verbs: replace the chained commands that clone aws-sdk-cpp and
then "mkdir sdk_build && cd sdk_build && cmake ../aws-sdk-cpp/ ..." with a
sequence that clones the repo (same URL and --branch 1.11.760 and submodule
flags) and then invokes cmake -S aws-sdk-cpp -B sdk_build
-DCMAKE_BUILD_TYPE=Release -DBUILD_ONLY="s3;s3-crt" -DENABLE_TESTING=OFF
-DCMAKE_INSTALL_PREFIX=/usr/local followed by cmake --build sdk_build -- -j and
cmake --install sdk_build; keep the same build options
(BUILD_ONLY/ENABLE_TESTING/CMAKE_INSTALL_PREFIX) and ensure the directory names
(aws-sdk-cpp, sdk_build) match the existing diff so Hadolint DL3003 is resolved.

ℹ️ Review info

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 63c494e and bc7d2ea.

📒 Files selected for processing (3)
  • benchmark/nixlbench/contrib/Dockerfile
  • contrib/Dockerfile
  • contrib/Dockerfile.manylinux

Comment thread contrib/Dockerfile
@ovidiusm
ovidiusm merged commit f55b494 into ai-dynamo:main Mar 3, 2026
20 checks passed
@aranadive
aranadive deleted the obj-update-s3-crt branch March 3, 2026 17:40
staryxchen pushed a commit to staryxchen/nixl that referenced this pull request Mar 7, 2026
There is a bug in the currently used SDK 1.11.581 where the CrtCallback
uses data after it was freed. SDK version 1.11.760 fixes this. Update
dockerfiles to use latest version.

Signed-off-by: Adit Ranadive <aranadive@nvidia.com>

This branch was previously deployed

2 inactive deployments
GITLAB — bc7d2ead Deployed Mar 3, 2026 by copy-pr-bot[bot] via Trigger CI Pipeline #7305
SWX_AWS — bc7d2ead Deployed Mar 3, 2026 by copy-pr-bot[bot] via Run AWS S3 Tests #4013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants