[ROCm][CI] Adding metadata (#47477)

Signed-off-by: Andreas Karatzas <akaratza@amd.com>

Andreas Karatzas committed Jul 2, 2026 at 19:45 UTC 407f4063007bbe5164a6d9a93f6f93b360230273
3 files changed +62
.buildkite/test-amd.yaml
+22
@@ -404,6 +404,28 @@ steps:
404 - pytest -v -s transformers_utils
405 - pytest -v -s config
406
407 +#----------------------------------------------------------- mi250 · docker ----------------------------------------------------------#
408 +
409 +- label: Docker Build Metadata (ROCm) # TBD
410 + timeout_in_minutes: 20
411 + mirror_hardwares: [amdexperimental, amdproduction, amdgfx90anightly, amdmi250]
412 + agent_pool: mi250_1
413 + no_gpu: true
414 + working_dir: "/vllm-workspace/tests"
415 + source_file_dependencies:
416 + - .buildkite/scripts/docker-build-metadata-args.sh
417 + - .buildkite/scripts/ci-bake-rocm.sh
418 + - docker/Dockerfile
419 + - docker/Dockerfile.cpu
420 + - docker/Dockerfile.rocm
421 + - docker/Dockerfile.rocm_base
422 + - docker/ci-rocm.hcl
423 + - docker/docker-bake.hcl
424 + - docker/docker-bake-rocm.hcl
425 + - tests/tools/test_docker_build_metadata_args.py
426 + commands:
427 + - pytest -v -s tools/test_docker_build_metadata_args.py
428 +
429 #########################################################################################################################################
430 # #
431 # MI300 (gfx942) tests #
docker/Dockerfile.rocm
+12
@@ -231,7 +231,13 @@ COPY --from=build_vllm ${COMMON_WORKDIR}/vllm/benchmarks /benchmarks
231 COPY --from=build_vllm ${COMMON_WORKDIR}/vllm/tests /tests
232 COPY --from=build_vllm ${COMMON_WORKDIR}/vllm/examples /examples
233 COPY --from=build_vllm ${COMMON_WORKDIR}/vllm/tools/install_torchcodec_rocm.sh /tools/install_torchcodec_rocm.sh
234 +COPY --from=build_vllm ${COMMON_WORKDIR}/vllm/docker/Dockerfile /docker/Dockerfile
235 +COPY --from=build_vllm ${COMMON_WORKDIR}/vllm/docker/Dockerfile.cpu /docker/Dockerfile.cpu
236 COPY --from=build_vllm ${COMMON_WORKDIR}/vllm/docker/Dockerfile.rocm /docker/
237 +COPY --from=build_vllm ${COMMON_WORKDIR}/vllm/docker/Dockerfile.rocm_base /docker/Dockerfile.rocm_base
238 +COPY --from=build_vllm ${COMMON_WORKDIR}/vllm/docker/ci-rocm.hcl /docker/ci-rocm.hcl
239 +COPY --from=build_vllm ${COMMON_WORKDIR}/vllm/docker/docker-bake.hcl /docker/docker-bake.hcl
240 +COPY --from=build_vllm ${COMMON_WORKDIR}/vllm/docker/docker-bake-rocm.hcl /docker/docker-bake-rocm.hcl
241 COPY --from=build_vllm ${COMMON_WORKDIR}/vllm/.buildkite /.buildkite
242 COPY --from=build_vllm ${COMMON_WORKDIR}/vllm/pyproject.toml /pyproject.toml
243 COPY --from=build_vllm ${COMMON_WORKDIR}/vllm/vllm/v1 /vllm_v1
@@ -516,7 +522,13 @@ COPY --from=build_vllm_wheel_release ${COMMON_WORKDIR}/vllm/benchmarks /benchmar
522 COPY --from=build_vllm_wheel_release ${COMMON_WORKDIR}/vllm/tests /tests
523 COPY --from=build_vllm_wheel_release ${COMMON_WORKDIR}/vllm/examples /examples
524 COPY --from=build_vllm_wheel_release ${COMMON_WORKDIR}/vllm/tools/install_torchcodec_rocm.sh /tools/install_torchcodec_rocm.sh
525 +COPY --from=build_vllm_wheel_release ${COMMON_WORKDIR}/vllm/docker/Dockerfile /docker/Dockerfile
526 +COPY --from=build_vllm_wheel_release ${COMMON_WORKDIR}/vllm/docker/Dockerfile.cpu /docker/Dockerfile.cpu
527 COPY --from=build_vllm_wheel_release ${COMMON_WORKDIR}/vllm/docker/Dockerfile.rocm /docker/
528 +COPY --from=build_vllm_wheel_release ${COMMON_WORKDIR}/vllm/docker/Dockerfile.rocm_base /docker/Dockerfile.rocm_base
529 +COPY --from=build_vllm_wheel_release ${COMMON_WORKDIR}/vllm/docker/ci-rocm.hcl /docker/ci-rocm.hcl
530 +COPY --from=build_vllm_wheel_release ${COMMON_WORKDIR}/vllm/docker/docker-bake.hcl /docker/docker-bake.hcl
531 +COPY --from=build_vllm_wheel_release ${COMMON_WORKDIR}/vllm/docker/docker-bake-rocm.hcl /docker/docker-bake-rocm.hcl
532 COPY --from=build_vllm_wheel_release ${COMMON_WORKDIR}/vllm/.buildkite /.buildkite
533 COPY --from=build_vllm_wheel_release ${COMMON_WORKDIR}/vllm/pyproject.toml /pyproject.toml
534 COPY --from=build_vllm_wheel_release ${COMMON_WORKDIR}/vllm/vllm/v1 /vllm_v1
tests/tools/test_docker_build_metadata_args.py
+28
@@ -150,3 +150,31 @@ def test_vllm_openai_image_embeds_metadata_contract() -> None:
150 'ai.vllm.image.tag="${VLLM_IMAGE_TAG}"',
151 ):
152 assert expected in dockerfile
153 +
154 +
155 +def test_rocm_ci_base_bake_embeds_content_hash_label() -> None:
156 + bake_file = (REPO_ROOT / "docker" / "docker-bake-rocm.hcl").read_text()
157 +
158 + for expected in (
159 + 'variable "CI_BASE_CONTENT_HASH"',
160 + 'target "ci-base-rocm"',
161 + 'target = "ci_base"',
162 + '"vllm.ci_base.content_hash" = CI_BASE_CONTENT_HASH',
163 + ):
164 + assert expected in bake_file
165 +
166 +
167 +def test_rocm_ci_base_metadata_inputs_cover_ci_base_files() -> None:
168 + ci_bake = (REPO_ROOT / ".buildkite" / "scripts" / "ci-bake-rocm.sh").read_text()
169 +
170 + for expected in (
171 + "requirements/common.txt",
172 + "requirements/rocm.txt",
173 + "requirements/test/rocm.txt",
174 + "docker/Dockerfile.rocm_base",
175 + "docker/Dockerfile.rocm",
176 + "docker/ci-rocm.hcl",
177 + "docker/docker-bake-rocm.hcl",
178 + ".buildkite/scripts/ci-bake-rocm.sh",
179 + ):
180 + assert expected in ci_bake