Repository navigation
Conversation
A GitHub Release needs a git tag, and the lmcache-v...-rocm-torch210 tag on main was picked up by setuptools-scm's git describe, breaking `pip install -e .` for every CI job. Publish the wheel as a FROM scratch image, rocm/atom-dev:lmcache-v<version>-g<sha8>-rocm-torch210, and pin it in the Dockerfiles by digest (LMCACHE_WHEEL_IMAGE) plus the wheel sha256. Nothing appears under Releases or Tags. source_run_id publishes the wheel an earlier run built instead of rebuilding, so a validated wheel can be pinned byte for byte. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Published from run 35984043135's wheel by https://github.com/ROCm/ATOM/actions/runs/36002407218 (same sha256 as the previously validated release asset). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
lmcache_wheel is now the full /tmp/lmcache-wheel/... path. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Same fixes as #2395: check-inputs job (full commit SHA on every path, numeric source_run_id, source_run_id requires publish), exactly one artifact resolved per publish (build's own attempt, or the latest unexpired attempt of a successful build of this workflow on the default or current branch), only "no such manifest" allows a push, and Docker Hub credentials scoped to the push step. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Contributor
Author
|
Superseded by #2395, which now carries the Dockerfile and bump-script changes straight to main. When merging main into feat/dsv4-lmcache-mp, take main's side for docker/Dockerfile, docker/atom_release.dockerfile, .github/workflows/lmcache-rocm-wheel.yaml and .github/scripts/bump_lmcache_wheel_pin.py. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #2250 (
feat/dsv4-lmcache-mp).Why
lmcache-rocm-wheel.yamlpublished wheels as GitHub Releases. A release needs a git tag, andlmcache-v0.5.6.dev98-g05fc77a0-rocm-torch210was created on main's history, so setuptools-scm'sgit describepicked it up and failed to parse it.pip install -e .then failed in every Pre Checkin run. That tag and release have been deleted, which also broke #2250's pinnedreleases/download/...URL.What
FROM scratchimage that holds only the wheel at/, taggedrocm/atom-dev:lmcache-v<version>-g<sha8>-rocm-torch210. It uses the repo's existing Docker Hub credentials (docker-authaction +docker_push_retry.sh, same asdocker-release.yaml) and refuses to overwrite an existing tag. Nothing appears under Releases or Tags.source_run_idinput: publishes the wheel that an earlier run built, without rebuilding, as long as its artifact is still retained. The wheel must matchlmcache_commitand the ABI suffix.ARG LMCACHE_WHEEL_IMAGE(tag@digest) →FROM ${LMCACHE_WHEEL_IMAGE} AS lmcache_wheel→COPY --from=lmcache_wheel / /tmp/lmcache-wheel/. The sha256 check is kept, andlmcache.__version__is still asserted, now parsed from the wheel name.--image(digest required) instead of--release. The Requires-Dist diff reads the old wheel out of the old image.Pinned wheel
rocm/atom-dev:lmcache-v0.5.6.dev98-g05fc77a0-rocm-torch210@sha256:d3cfe74f42d78a188992cae98efbe23053610216e7b247632d6be772e9d465d6, published from run 35984043135's artifact by https://github.com/ROCm/ATOM/actions/runs/36002407218. The wheel sha256 isa5fe8f3f5b9dee602ac7d11241f65a1640cd3d26c101f2d1d0e0d8aee88b7aab, byte-identical to the previously validated release asset.Validation
docker pullof the digest contains exactly the one wheel, with a matching sha256.FROM ${ARG} AS stage+COPY --fromconsumer build copies only the wheel. The Dockerfile's wheel-name/version/sha256 shell logic was run against the real wheel (and rejects 2 wheels). The publish job's wheel-check script was run against the real artifact layout. The bump script was run on both Dockerfiles and rejects non-digest refs.🤖 Generated with Claude Code