发布

  • ci(image): publish missing :latest-* and :v<X>-* singleton image tags (#9812)

    frostbyte_neo 发布于 2026-05-13 22:28:48 +00:00

    • ci(image): wire singleton merges + -- artifact separator

    Closes the same singletons gap on the LocalAI server image workflow that
    PR #9781 closed for backends. The user observed it as missing
    :latest-gpu-nvidia-cuda-12 etc. on quay.io/go-skynet/local-ai — the
    build matrix has six single-arch entries with no corresponding merge
    step, so their per-arch digests push (push-by-digest=true) and never
    get tagged:

    • -gpu-hipblas (hipblas-jobs)
    • -gpu-nvidia-cuda-12 (core-image-build)
    • -gpu-nvidia-cuda-13 (core-image-build)
    • -gpu-intel (core-image-build)
    • -nvidia-l4t-arm64 (gh-runner)
    • -nvidia-l4t-arm64-cuda-13 (gh-runner)

    Only :latest, :v, :latest-gpu-vulkan and :v-gpu-vulkan were
    actually being published before this commit (the two multiarch suffixes
    that had merge jobs).

    Changes:

    1. image.yml: add six new merge jobs, one per single-arch entry. Each
      needs: only its parent build job (matching the existing pattern
      for core-image-merge / gpu-vulkan-image-merge).
    2. image_build.yml: switch artifact name to
      digests-localai<suffix>--<platform-tag-or-"single">. The --
      separator anchors the merge-side glob so a singleton tag-suffix
      doesn't over-match a longer suffix that shares its prefix
      (-nvidia-l4t-arm64 vs -nvidia-l4t-arm64-cuda-13). Same convention
      as backend_build.yml's fix.
    3. image_merge.yml: update the download pattern to match.

    Next master push or tag release should produce :latest-gpu-hipblas,
    :latest-gpu-nvidia-cuda-12, :latest-gpu-nvidia-cuda-13, :latest-gpu-intel,
    :latest-nvidia-l4t-arm64, :latest-nvidia-l4t-arm64-cuda-13 (and their
    :v-* equivalents) for the first time on the post-#9781 workflow.

    Assisted-by: Claude:claude-opus-4-7
    Signed-off-by: Ettore Di Giacinto mudler@localai.io

    • ci(image): add !cancelled() guard to all 8 image merge jobs

    Parity pass with backend.yml's merge jobs (8521af14). Without
    !cancelled(), GHA's default needs: cascade skips the merge when ANY
    matrix cell of the parent build job fails or is cancelled — so a single
    flaky leg would suppress publication of every other tag-suffix's
    manifest list. Same fix the backend got after v4.2.1 showed 2 failed
    singlearch builds cascade-skip 199 singlearch merge entries.

    Applied to all 8 image merges:

    • core-image-merge
    • gpu-vulkan-image-merge
    • gpu-nvidia-cuda-12-image-merge (added in e5300f1a)
    • gpu-nvidia-cuda-13-image-merge (added in e5300f1a)
    • gpu-intel-image-merge (added in e5300f1a)
    • gpu-hipblas-image-merge (added in e5300f1a)
    • nvidia-l4t-arm64-image-merge (added in e5300f1a)
    • nvidia-l4t-arm64-cuda-13-image-merge (added in e5300f1a)

    Build jobs (hipblas-jobs, core-image-build, gh-runner) are
    intentionally NOT changed — they have no upstream needs: to cascade-
    skip from.

    Assisted-by: Claude:claude-opus-4-7
    Signed-off-by: Ettore Di Giacinto mudler@localai.io


    Signed-off-by: Ettore Di Giacinto mudler@localai.io
    Co-authored-by: Ettore Di Giacinto mudler@localai.io

    下载附件