[CI] release-docker-deepseek-v4: select which flavors to push (#23730)
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.7
parent
0c826374a8
commit
921e14dcac
@@ -12,35 +12,73 @@ on:
|
||||
description: "Docker Hub destination repository. Default: lmsysorg/sglang-staging (set to lmsysorg/sglang for production release)."
|
||||
required: false
|
||||
default: "lmsysorg/sglang-staging"
|
||||
build_hopper:
|
||||
description: "Build and push the Hopper (H200) image."
|
||||
required: false
|
||||
type: boolean
|
||||
default: true
|
||||
build_blackwell:
|
||||
description: "Build and push the Blackwell (B200) image."
|
||||
required: false
|
||||
type: boolean
|
||||
default: true
|
||||
build_b300:
|
||||
description: "Build and push the B300 image."
|
||||
required: false
|
||||
type: boolean
|
||||
default: true
|
||||
build_grace_blackwell:
|
||||
description: "Build and push the Grace Blackwell (ARM) image."
|
||||
required: false
|
||||
type: boolean
|
||||
default: true
|
||||
|
||||
concurrency:
|
||||
group: release-docker-deepseek-v4-${{ inputs.repository }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
build-deepseek-v4:
|
||||
build-matrix:
|
||||
if: ${{ github.repository == 'sgl-project/sglang' }}
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
include: ${{ steps.set.outputs.include }}
|
||||
steps:
|
||||
- id: set
|
||||
env:
|
||||
BUILD_HOPPER: ${{ inputs.build_hopper }}
|
||||
BUILD_BLACKWELL: ${{ inputs.build_blackwell }}
|
||||
BUILD_B300: ${{ inputs.build_b300 }}
|
||||
BUILD_GRACE_BLACKWELL: ${{ inputs.build_grace_blackwell }}
|
||||
run: |
|
||||
entries=()
|
||||
if [ "$BUILD_HOPPER" = "true" ]; then
|
||||
entries+=('{"runner":"x64-docker-build-node","platform":"linux/amd64","dockerfile":"docker/deepseek_v4_h200.Dockerfile","tag":"deepseek-v4-hopper"}')
|
||||
fi
|
||||
if [ "$BUILD_BLACKWELL" = "true" ]; then
|
||||
entries+=('{"runner":"x64-docker-build-node","platform":"linux/amd64","dockerfile":"docker/deepseek_v4_b200.Dockerfile","tag":"deepseek-v4-blackwell"}')
|
||||
fi
|
||||
if [ "$BUILD_B300" = "true" ]; then
|
||||
entries+=('{"runner":"x64-docker-build-node","platform":"linux/amd64","dockerfile":"docker/deepseek_v4_b300.Dockerfile","tag":"deepseek-v4-b300"}')
|
||||
fi
|
||||
if [ "$BUILD_GRACE_BLACKWELL" = "true" ]; then
|
||||
entries+=('{"runner":"arm-docker-build-node","platform":"linux/arm64","dockerfile":"docker/deepseek_v4_grace_blackwell.Dockerfile","tag":"deepseek-v4-grace-blackwell"}')
|
||||
fi
|
||||
if [ ${#entries[@]} -eq 0 ]; then
|
||||
echo "::error::At least one build_* input must be true."
|
||||
exit 1
|
||||
fi
|
||||
joined=$(IFS=,; echo "${entries[*]}")
|
||||
echo "include=[${joined}]" >> "$GITHUB_OUTPUT"
|
||||
echo "Selected matrix: [${joined}]"
|
||||
|
||||
build-deepseek-v4:
|
||||
needs: build-matrix
|
||||
runs-on: ${{ matrix.runner }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- runner: x64-docker-build-node
|
||||
platform: linux/amd64
|
||||
dockerfile: docker/deepseek_v4_h200.Dockerfile
|
||||
tag: deepseek-v4-hopper
|
||||
- runner: x64-docker-build-node
|
||||
platform: linux/amd64
|
||||
dockerfile: docker/deepseek_v4_b200.Dockerfile
|
||||
tag: deepseek-v4-blackwell
|
||||
- runner: x64-docker-build-node
|
||||
platform: linux/amd64
|
||||
dockerfile: docker/deepseek_v4_b300.Dockerfile
|
||||
tag: deepseek-v4-b300
|
||||
- runner: arm-docker-build-node
|
||||
platform: linux/arm64
|
||||
dockerfile: docker/deepseek_v4_grace_blackwell.Dockerfile
|
||||
tag: deepseek-v4-grace-blackwell
|
||||
include: ${{ fromJson(needs.build-matrix.outputs.include) }}
|
||||
steps:
|
||||
- name: Delete huge unnecessary tools folder
|
||||
run: rm -rf /opt/hostedtoolcache
|
||||
|
||||
Reference in New Issue
Block a user