docker: pin the llama.cpp bake by target arch, add docker_confirm.sh
The first bake attempt reused studio/install_llama_prebuilt.py, but that resolver selects a bundle for the CURRENT host: on a GPU build host /proc/driver/nvidia leaks into docker build and the resolver goes down the CUDA path with no readable driver runtime (chosen_asset=none, exit 2), while on a GPU-less CI runner it would resolve a CPU bundle instead. Both violate the image's build-host-independence rule. fetch_llama_prebuilt.py pins by build target only: amd64 takes the linux-x64-cuda12-portable bundle, arm64 the linux-arm64-cuda13-portable bundle (DGX Spark / Grace), both sha256-verified against the release's llama-prebuilt-sha256.json. convert_hf_to_gguf.py plus gguf-py/ are hydrated from the same release's source tarball so the converter's tensor mappings match the binaries, mirroring unsloth_zoo's _hydrate_converter_sources layout. LLAMA_PREBUILT_TAG build-arg overrides the pinned release. docker_confirm.sh: one-command confirmation script for any machine (Linux / WSL2 / macOS) following the staging confirm-script conventions: host + docker + GPU detection with CPU-mode auto-fallback, image pulls, in-container torch.cuda check, 5-step LoRA training smoke, baked llama.cpp verification, full-image boot probing Studio /api/health and JupyterLab /api, PASS/WARN/FAIL summary with RESULT line.
This commit is contained in:
parent
f1a63db6fa
commit
9e9877e11e
4 changed files with 400 additions and 34 deletions
5
.github/workflows/docker-publish.yml
vendored
5
.github/workflows/docker-publish.yml
vendored
|
|
@ -124,11 +124,6 @@ jobs:
|
|||
cache-from: type=gha,scope=build-${{ matrix.platform }}
|
||||
cache-to: type=gha,scope=build-${{ matrix.platform }},mode=max
|
||||
outputs: type=image,name=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }},push-by-digest=true,name-canonical=true,push=true
|
||||
# The llama.cpp prebuilt bake reads GITHUB_TOKEN (BuildKit secret,
|
||||
# never a layer) so the resolver's GitHub API calls are not subject
|
||||
# to the anonymous per-IP rate limit shared across Actions runners.
|
||||
secrets: |
|
||||
github_token=${{ github.token }}
|
||||
build-args: |
|
||||
CUDA_VERSION=12.8.1
|
||||
UBUNTU_VERSION=24.04
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue