[CI][ROCm] Make image dependencies cache-safe - #55093
AndreasKaratzas wants to merge 8 commits into
Conversation
There was a problem hiding this comment.
Claude Code Review
This repository is configured for manual code reviews. Comment @claude review for a one-time review, or @claude review always to subscribe this PR to a review on every future push.
Tip: disable this comment in your organization's Code Review settings.
4e8ce36 to
46daf6d
Compare
2439b3a to
4665b84
Compare
|
This pull request has merge conflicts that must be resolved before it can be |
Close mutable dependency resolution and cache-identity gaps in the ROCm base and CI image lineages, using the existing ROCm test lock as the shared constraint set. Co-authored-by: OpenAI Codex <codex@openai.com> Signed-off-by: Andreas Karatzas <Andreas.Karatzas@amd.com>
Separate source-build constraints from runtime and test dependencies while preserving native-build fanout. Harden cache manifests, forced refreshes, scoped writes, and immutable release handoffs. Repair Python, Decord, TorchCodec, and LMCache dependency validation, and keep credential-bearing download URLs out of release image history. Co-authored-by: OpenAI Codex <noreply@openai.com> Signed-off-by: Andreas Karatzas <Andreas.Karatzas@amd.com>
Install PyYAML under the ROCm build constraints because AITER imports yaml at runtime but omits it from wheel metadata. Signed-off-by: Andreas Karatzas <Andreas.Karatzas@amd.com>
4665b84 to
a4ac2b0
Compare
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Integrate upstream through 874df93, including the Mamba padded-prompt state fix, while preserving the ROCm dependency and cache changes. Co-authored-by: OpenAI Codex <noreply@openai.com> Signed-off-by: Andreas Karatzas <Andreas.Karatzas@amd.com>
|
/amd-ci run |
|
✅ Triggered Buildkite AMD CI #12647 for commit |
Use the conventional ROCm build input/lock pair without changing package pins. Extract release base/wheel orchestration, preserve paired digest handoffs, and harden literal Bake values and sccache endpoint handling. Validation: 59 focused pytest tests, 92 offline S3 checks, five real Bake parsing/replay checks, and applicable pre-commit hooks passed. Full images were not rebuilt for this follow-up. Co-authored-by: OpenAI Codex <noreply@openai.com> Signed-off-by: Andreas Karatzas <Andreas.Karatzas@amd.com>
|
/amd-ci run |
|
✅ Triggered Buildkite AMD CI #12652 for commit |
Stack the existing regression coverage on the cache-safe image dependency fixes. Cover build/cache contracts and isolated release orchestration, and wire both suites into the CPU and AMD Buildkite metadata jobs. Extracted unchanged from #55093; the completed stack has the same tree as d094e57. Co-authored-by: OpenAI Codex <noreply@openai.com> Signed-off-by: Andreas Karatzas <akaratza@amd.com>
Keep the cache, dependency, and release fixes in #55093. Restore the existing Docker metadata suite and its Buildkite wiring to the merge-base versions; move the added coverage and release suite to the child branch. Validation: the 13 existing metadata tests and applicable pre-commit hooks passed. The child branch restores these four files byte-for-byte. Co-authored-by: OpenAI Codex <noreply@openai.com> Signed-off-by: Andreas Karatzas <akaratza@amd.com>
496c5b3 to
1c212c7
Compare
Stack the existing regression coverage on the cache-safe image dependency fixes. Cover build/cache contracts and isolated release orchestration, and wire both suites into the CPU and AMD Buildkite metadata jobs. Extracted unchanged from #55093; the completed stack has the same tree as d094e57. Co-authored-by: OpenAI Codex <noreply@openai.com> Signed-off-by: Andreas Karatzas <akaratza@amd.com>
|
/amd-ci run |
|
✅ Triggered Buildkite AMD CI #12676 for commit |
…lation Install libdw1 explicitly in the final ROCm image so apt autoremove preserves the runtime dependency of the copied profiler SDK. This keeps Torch importable during the existing Python-only installation test. Assisted-by: OpenAI Codex Signed-off-by: Andreas Karatzas <Andreas.Karatzas@amd.com>
|
/amd-ci run |
|
✅ Triggered Buildkite AMD CI #12698 for commit |
|
This pull request has merge conflicts that must be resolved before it can be |
This PR makes ROCm image builds dependency-aware and makes their caches safer to reuse across CI and release jobs.
SCCACHE_DOWNLOAD_URLvalues out of release BuildKit arguments and image history.libdw1in the final ROCm image so the copied profiler SDK remains loadable after Python-only installation cleanup.Test Plan
ci_base, full test and production-defaultfinalimages with cache repeats, as supporting evidenceCommands run
The base and
ci_basevalidation used the production refresh and Bake paths against an isolated local registry. Image results predate the dependency-naming/security follow-up and remain supporting evidence.Test Result
ci_basefinalimage with LMCacheThe Python-only Installation failure in Buildkite build 12676 exposed an additional runtime dependency: purging the repository-setup packages left
libdw1eligible for the test's laterapt autoremove, and Torch then failed to importlibdw.so.1. The final image now installslibdw1explicitly. For this follow-up, applicable pre-commit hooks,git diff --cached --check, and shell syntax validation passed; a controlled APT simulation using copied metadata confirmed that manual ownership preserveslibdw1, with host package state unchanged. Cache review confirmed the Dockerfile change invalidates the base image identity. Rebuilt-image execution of the installation test remains unverified.AI assistance was used for the dependency audit, validation, and drafting.