Skip to content

fix(ci): add --platform to aiperf-bench E2E docker build#674

Merged
mchmarny merged 2 commits into
NVIDIA:mainfrom
xdu31:fix/e2e-aiperf-bench-platform
Apr 24, 2026
Merged

fix(ci): add --platform to aiperf-bench E2E docker build#674
mchmarny merged 2 commits into
NVIDIA:mainfrom
xdu31:fix/e2e-aiperf-bench-platform

Conversation

@xdu31

@xdu31 xdu31 commented Apr 24, 2026

Copy link
Copy Markdown
Contributor

Summary

Add --platform linux/amd64 to the docker build for aiperf-bench in the E2E composite action to prevent BuildKit from resolving the wrong architecture manifest for the python multi-arch base image.

Motivation / Context

The E2E action intermittently fails building aiperf-bench with:

exec: "/bin/sh": stat /bin/sh: no such file or directory

The Go validator images (deployment, performance, conformance) are unaffected because they are COPY-only into distroless — no RUN steps, so /bin/sh is never invoked. The release workflows (on-push.yaml, on-tag.yaml) are also unaffected because they use docker/build-push-action with explicit platforms: matrix values.

Fixes #673

Type of Change

  • Bug fix (non-breaking change that fixes an issue)

Components Affected

  • .github/actions/e2e/action.yml

Testing

  • Verify E2E pipeline passes with the --platform flag

Risk Assessment

Low — additive flag on an existing docker build command. No behavioral change on correctly-configured runners; prevents failures on misconfigured ones.

Checklist

  • My code follows the project style guidelines
  • I have performed a self-review
  • Changes are limited to what's necessary for this fix

The aiperf-bench image build in the E2E action intermittently fails
with "/bin/sh: no such file or directory" because the bare docker build
lacks an explicit --platform flag. Without it, BuildKit may resolve the
wrong architecture manifest for the python multi-arch base image.

The Go validator images are unaffected (COPY-only, no RUN steps) and
the release workflows already use docker/build-push-action with
explicit platform matrix values.

Fixes NVIDIA#673
@xdu31 xdu31 added the bug label Apr 24, 2026
@xdu31 xdu31 requested a review from a team as a code owner April 24, 2026 18:35
@coderabbitai

coderabbitai Bot commented Apr 24, 2026

Copy link
Copy Markdown

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Enterprise

Run ID: 5c3b5d0f-abcb-45f6-996f-46d8f9a55917

📥 Commits

Reviewing files that changed from the base of the PR and between 97be223 and 7aaec51.

📒 Files selected for processing (1)
  • .github/actions/e2e/action.yml

📝 Walkthrough

Walkthrough

The E2E action's Docker build command for aiperf-bench now explicitly specifies --platform linux/amd64 when constructing the image. Previously, the build command lacked an explicit platform flag, allowing BuildKit to potentially resolve an incorrect architecture manifest for the multi-architecture python:3.12-slim base image. This manifested as intermittent /bin/sh not found errors during the pip install step in the container.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately and specifically describes the main change: adding the --platform flag to the aiperf-bench E2E docker build command.
Description check ✅ Passed The description is clearly related to the changeset, providing motivation, context, and technical rationale for the docker build platform flag addition.
Linked Issues check ✅ Passed The pull request directly addresses issue #673 by implementing the proposed fix: adding --platform linux/amd64 to the E2E docker build for aiperf-bench to resolve incorrect architecture manifest selection.
Out of Scope Changes check ✅ Passed All changes are scoped to the stated objective: the modification adds only the --platform flag to the aiperf-bench docker build in .github/actions/e2e/action.yml, with no extraneous alterations.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

@mchmarny mchmarny enabled auto-merge (squash) April 24, 2026 18:42
@mchmarny mchmarny disabled auto-merge April 24, 2026 18:45
@mchmarny mchmarny merged commit 8eac760 into NVIDIA:main Apr 24, 2026
36 of 38 checks passed
lockwobr pushed a commit that referenced this pull request Apr 28, 2026
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.

E2E: aiperf-bench docker build fails with /bin/sh: no such file or directory

2 participants