Skip to content

Commit 7642e31

Browse files
committed
update build
Signed-off-by: Junpu Fan <[email protected]>
1 parent 328993e commit 7642e31

File tree

3 files changed

+116
-128
lines changed

3 files changed

+116
-128
lines changed
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
name: 'Build Docker Image'
2+
description: 'Build and push Docker images for different frameworks and targets'
3+
4+
inputs:
5+
framework:
6+
description: 'Framework name (vllm, sglang)'
7+
required: true
8+
target:
9+
description: 'Docker build target'
10+
required: true
11+
base-image:
12+
description: 'Base Docker image'
13+
required: true
14+
framework-version:
15+
description: 'Framework version'
16+
required: true
17+
container-type:
18+
description: 'Container type (e.g., general)'
19+
required: true
20+
aws-account-id:
21+
description: 'AWS account ID for ECR'
22+
required: true
23+
aws-region:
24+
description: 'AWS region'
25+
required: true
26+
tag:
27+
description: 'Complete image tag (e.g., vllm-0.12.0-gpu-py312-cu129-ubuntu22.04-ec2-pr-123)'
28+
required: true
29+
30+
outputs:
31+
image-uri:
32+
description: 'Built image URI'
33+
value: ${{ steps.image-uri-build.outputs.CI_IMAGE_URI }}
34+
35+
runs:
36+
using: 'composite'
37+
steps:
38+
- name: Setup buildkitd
39+
shell: bash
40+
run: .github/scripts/buildkitd.sh
41+
42+
- name: ECR login
43+
uses: ./.github/actions/ecr-authenticate
44+
with:
45+
aws-account-id: ${{ inputs.aws-account-id }}
46+
aws-region: ${{ inputs.aws-region }}
47+
48+
- name: Resolve image URI for build
49+
id: image-uri-build
50+
shell: bash
51+
run: |
52+
CI_IMAGE_URI=${{ inputs.aws-account-id }}.dkr.ecr.${{ inputs.aws-region }}.amazonaws.com/ci:${{ inputs.tag }}
53+
echo "Image URI to build: ${CI_IMAGE_URI}"
54+
echo "CI_IMAGE_URI=${CI_IMAGE_URI}" >> ${GITHUB_ENV}
55+
echo "CI_IMAGE_URI=${CI_IMAGE_URI}" >> ${GITHUB_OUTPUT}
56+
57+
- name: Build image
58+
shell: bash
59+
run: |
60+
docker buildx build --progress plain \
61+
--build-arg CACHE_REFRESH="$(date +"%Y-%m-%d")" \
62+
--build-arg BASE_IMAGE="${{ inputs.base-image }}" \
63+
--build-arg CONTAINER_TYPE="${{ inputs.container-type }}" \
64+
--build-arg FRAMEWORK="${{ inputs.framework }}" \
65+
--build-arg FRAMEWORK_VERSION="${{ inputs.framework-version }}" \
66+
--cache-to=type=inline \
67+
--cache-from=type=registry,ref=${CI_IMAGE_URI} \
68+
--tag ${CI_IMAGE_URI} \
69+
--target ${{ inputs.target }} \
70+
-f docker/${{ inputs.framework }}/Dockerfile .
71+
72+
- name: Container push
73+
shell: bash
74+
run: |
75+
docker push ${CI_IMAGE_URI}
76+
docker rmi ${CI_IMAGE_URI}

.github/workflows/pr-sglang.yml

Lines changed: 10 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -93,44 +93,22 @@ jobs:
9393
group: ${{ github.workflow }}-build-sglang-image-${{ github.event.pull_request.number }}
9494
cancel-in-progress: true
9595
outputs:
96-
ci-image: ${{ steps.image-uri-build.outputs.CI_IMAGE_URI }}
96+
ci-image: ${{ steps.build.outputs.image-uri }}
9797
steps:
9898
- uses: actions/checkout@v5
99-
- run: .github/scripts/buildkitd.sh
10099

101-
- name: ECR login
102-
uses: ./.github/actions/ecr-authenticate
100+
- name: Build image
101+
id: build
102+
uses: ./.github/actions/build-image
103103
with:
104+
framework: ${{ env.FRAMEWORK }}
105+
target: sglang-sagemaker
106+
base-image: lmsysorg/sglang:v${{ env.SGLANG_VERSION }}-${{ env.CUDA_VERSION }}-amd64
107+
framework-version: ${{ env.SGLANG_VERSION }}
108+
container-type: ${{ env.CONTAINER_TYPE }}
104109
aws-account-id: ${{ vars.CI_AWS_ACCOUNT_ID }}
105110
aws-region: ${{ vars.AWS_REGION }}
106-
107-
- name: Resolve image URI for build
108-
id: image-uri-build
109-
run: |
110-
CI_IMAGE_URI=${{ vars.CI_AWS_ACCOUNT_ID }}.dkr.ecr.${{ vars.AWS_REGION }}.amazonaws.com/ci:sglang-${{ env.SGLANG_VERSION }}-gpu-${{ env.PYTHON_VERSION }}-${{ env.CUDA_VERSION }}-${{ env.OS_VERSION }}-sagemaker-pr-${{ github.event.pull_request.number }}
111-
echo "Image URI to build: ${CI_IMAGE_URI}"
112-
echo "CI_IMAGE_URI=${CI_IMAGE_URI}" >> ${GITHUB_ENV}
113-
echo "CI_IMAGE_URI=${CI_IMAGE_URI}" >> ${GITHUB_OUTPUT}
114-
115-
- name: Build image
116-
run: |
117-
# base image: https://hub.docker.com/r/lmsysorg/sglang/tags
118-
docker buildx build --progress plain \
119-
--build-arg CACHE_REFRESH="$(date +"%Y-%m-%d")" \
120-
--build-arg BASE_IMAGE="lmsysorg/sglang:v${{ env.SGLANG_VERSION }}-${{ env.CUDA_VERSION }}-amd64" \
121-
--build-arg CONTAINER_TYPE="${{ env.CONTAINER_TYPE }}" \
122-
--build-arg FRAMEWORK="${{ env.FRAMEWORK }}" \
123-
--build-arg FRAMEWORK_VERSION="${{ env.SGLANG_VERSION }}" \
124-
--cache-to=type=inline \
125-
--cache-from=type=registry,ref=${CI_IMAGE_URI} \
126-
--tag ${CI_IMAGE_URI} \
127-
--target sglang-sagemaker \
128-
-f docker/sglang/Dockerfile .
129-
130-
- name: Container push
131-
run: |
132-
docker push ${CI_IMAGE_URI}
133-
docker rmi ${CI_IMAGE_URI}
111+
tag: ${{ env.FRAMEWORK }}-${{ env.SGLANG_VERSION }}-gpu-${{ env.PYTHON_VERSION }}-${{ env.CUDA_VERSION }}-${{ env.OS_VERSION }}-sagemaker-pr-${{ github.event.pull_request.number }}
134112

135113
set-test-environment:
136114
needs: [check-changes, build-sglang-image]

.github/workflows/pr-vllm.yml

Lines changed: 30 additions & 96 deletions
Original file line numberDiff line numberDiff line change
@@ -95,44 +95,22 @@ jobs:
9595
group: ${{ github.workflow }}-build-vllm-ec2-image-${{ github.event.pull_request.number }}
9696
cancel-in-progress: true
9797
outputs:
98-
ci-image: ${{ steps.image-uri-build.outputs.CI_IMAGE_URI }}
98+
ci-image: ${{ steps.build.outputs.image-uri }}
9999
steps:
100100
- uses: actions/checkout@v5
101-
- run: .github/scripts/buildkitd.sh
102101

103-
- name: ECR login
104-
uses: ./.github/actions/ecr-authenticate
102+
- name: Build image
103+
id: build
104+
uses: ./.github/actions/build-image
105105
with:
106+
framework: ${{ env.FRAMEWORK }}
107+
target: vllm-ec2
108+
base-image: vllm/vllm-openai:v${{ env.VLLM_VERSION }}
109+
framework-version: ${{ env.VLLM_VERSION }}
110+
container-type: ${{ env.CONTAINER_TYPE }}
106111
aws-account-id: ${{ vars.CI_AWS_ACCOUNT_ID }}
107112
aws-region: ${{ vars.AWS_REGION }}
108-
109-
- name: Resolve image URI for build
110-
id: image-uri-build
111-
run: |
112-
CI_IMAGE_URI=${{ vars.CI_AWS_ACCOUNT_ID }}.dkr.ecr.${{ vars.AWS_REGION }}.amazonaws.com/ci:vllm-${{ env.VLLM_VERSION }}-gpu-${{ env.PYTHON_VERSION }}-${{ env.CUDA_VERSION }}-${{ env.OS_VERSION }}-ec2-pr-${{ github.event.pull_request.number }}
113-
echo "Image URI to build: ${CI_IMAGE_URI}"
114-
echo "CI_IMAGE_URI=${CI_IMAGE_URI}" >> ${GITHUB_ENV}
115-
echo "CI_IMAGE_URI=${CI_IMAGE_URI}" >> ${GITHUB_OUTPUT}
116-
117-
- name: Build image
118-
run: |
119-
# base image: https://hub.docker.com/r/vllm/vllm-openai/tags
120-
docker buildx build --progress plain \
121-
--build-arg CACHE_REFRESH="$(date +"%Y-%m-%d")" \
122-
--build-arg BASE_IMAGE="vllm/vllm-openai:v${{ env.VLLM_VERSION }}" \
123-
--build-arg CONTAINER_TYPE="${{ env.CONTAINER_TYPE }}" \
124-
--build-arg FRAMEWORK="${{ env.FRAMEWORK }}" \
125-
--build-arg FRAMEWORK_VERSION="${{ env.VLLM_VERSION }}" \
126-
--cache-to=type=inline \
127-
--cache-from=type=registry,ref=${CI_IMAGE_URI} \
128-
--tag ${CI_IMAGE_URI} \
129-
--target vllm-ec2 \
130-
-f docker/vllm/Dockerfile .
131-
132-
- name: Container push
133-
run: |
134-
docker push ${CI_IMAGE_URI}
135-
docker rmi ${CI_IMAGE_URI}
113+
tag: ${{ env.FRAMEWORK }}-${{ env.VLLM_VERSION }}-gpu-${{ env.PYTHON_VERSION }}-${{ env.CUDA_VERSION }}-${{ env.OS_VERSION }}-ec2-pr-${{ github.event.pull_request.number }}
136114

137115
set-ec2-test-environment:
138116
needs: [check-changes, build-vllm-ec2-image]
@@ -390,44 +368,22 @@ jobs:
390368
group: ${{ github.workflow }}-build-vllm-rayserve-image-${{ github.event.pull_request.number }}
391369
cancel-in-progress: true
392370
outputs:
393-
ci-image: ${{ steps.image-uri-build.outputs.CI_IMAGE_URI }}
371+
ci-image: ${{ steps.build.outputs.image-uri }}
394372
steps:
395373
- uses: actions/checkout@v5
396-
- run: .github/scripts/buildkitd.sh
397374

398-
- name: ECR login
399-
uses: ./.github/actions/ecr-authenticate
375+
- name: Build image
376+
id: build
377+
uses: ./.github/actions/build-image
400378
with:
379+
framework: ${{ env.FRAMEWORK }}
380+
target: vllm-rayserve-ec2
381+
base-image: vllm/vllm-openai:v${{ env.VLLM_RAYSERVE_VERSION }}
382+
framework-version: ${{ env.VLLM_RAYSERVE_VERSION }}
383+
container-type: ${{ env.CONTAINER_TYPE }}
401384
aws-account-id: ${{ vars.CI_AWS_ACCOUNT_ID }}
402385
aws-region: ${{ vars.AWS_REGION }}
403-
404-
- name: Resolve image URI for build
405-
id: image-uri-build
406-
run: |
407-
CI_IMAGE_URI=${{ vars.CI_AWS_ACCOUNT_ID }}.dkr.ecr.${{ vars.AWS_REGION }}.amazonaws.com/ci:vllm-${{ env.VLLM_VERSION }}-gpu-${{ env.PYTHON_VERSION }}-${{ env.CUDA_VERSION }}-${{ env.OS_VERSION }}-rayserve-ec2-pr-${{ github.event.pull_request.number }}
408-
echo "Image URI to build: ${CI_IMAGE_URI}"
409-
echo "CI_IMAGE_URI=${CI_IMAGE_URI}" >> ${GITHUB_ENV}
410-
echo "CI_IMAGE_URI=${CI_IMAGE_URI}" >> ${GITHUB_OUTPUT}
411-
412-
- name: Build image
413-
run: |
414-
# base image: https://hub.docker.com/r/vllm/vllm-openai/tags
415-
docker buildx build --progress plain \
416-
--build-arg CACHE_REFRESH="$(date +"%Y-%m-%d")" \
417-
--build-arg BASE_IMAGE="vllm/vllm-openai:v${{ env.VLLM_RAYSERVE_VERSION }}" \
418-
--build-arg CONTAINER_TYPE="${{ env.CONTAINER_TYPE }}" \
419-
--build-arg FRAMEWORK="${{ env.FRAMEWORK }}" \
420-
--build-arg FRAMEWORK_VERSION="${{ env.VLLM_RAYSERVE_VERSION }}" \
421-
--cache-to=type=inline \
422-
--cache-from=type=registry,ref=${CI_IMAGE_URI} \
423-
--tag ${CI_IMAGE_URI} \
424-
--target vllm-rayserve-ec2 \
425-
-f docker/vllm/Dockerfile .
426-
427-
- name: Container push
428-
run: |
429-
docker push ${CI_IMAGE_URI}
430-
docker rmi ${CI_IMAGE_URI}
386+
tag: ${{ env.FRAMEWORK }}-${{ env.VLLM_VERSION }}-gpu-${{ env.PYTHON_VERSION }}-${{ env.CUDA_VERSION }}-${{ env.OS_VERSION }}-rayserve-ec2-pr-${{ github.event.pull_request.number }}
431387

432388
set-rayserve-test-environment:
433389
needs: [check-changes, build-vllm-rayserve-image]
@@ -681,44 +637,22 @@ jobs:
681637
group: ${{ github.workflow }}-build-vllm-sagemaker-image-${{ github.event.pull_request.number }}
682638
cancel-in-progress: true
683639
outputs:
684-
ci-image: ${{ steps.image-uri-build.outputs.CI_IMAGE_URI }}
640+
ci-image: ${{ steps.build.outputs.image-uri }}
685641
steps:
686642
- uses: actions/checkout@v5
687-
- run: .github/scripts/buildkitd.sh
688643

689-
- name: ECR login
690-
uses: ./.github/actions/ecr-authenticate
644+
- name: Build image
645+
id: build
646+
uses: ./.github/actions/build-image
691647
with:
648+
framework: ${{ env.FRAMEWORK }}
649+
target: vllm-sagemaker
650+
base-image: vllm/vllm-openai:v${{ env.VLLM_VERSION }}
651+
framework-version: ${{ env.VLLM_VERSION }}
652+
container-type: ${{ env.CONTAINER_TYPE }}
692653
aws-account-id: ${{ vars.CI_AWS_ACCOUNT_ID }}
693654
aws-region: ${{ vars.AWS_REGION }}
694-
695-
- name: Resolve image URI for build
696-
id: image-uri-build
697-
run: |
698-
CI_IMAGE_URI=${{ vars.CI_AWS_ACCOUNT_ID }}.dkr.ecr.${{ vars.AWS_REGION }}.amazonaws.com/ci:vllm-${{ env.VLLM_VERSION }}-gpu-${{ env.PYTHON_VERSION }}-${{ env.CUDA_VERSION }}-${{ env.OS_VERSION }}-sagemaker-pr-${{ github.event.pull_request.number }}
699-
echo "Image URI to build: ${CI_IMAGE_URI}"
700-
echo "CI_IMAGE_URI=${CI_IMAGE_URI}" >> ${GITHUB_ENV}
701-
echo "CI_IMAGE_URI=${CI_IMAGE_URI}" >> ${GITHUB_OUTPUT}
702-
703-
- name: Build image
704-
run: |
705-
# base image: https://hub.docker.com/r/vllm/vllm-openai/tags
706-
docker buildx build --progress plain \
707-
--build-arg CACHE_REFRESH="$(date +"%Y-%m-%d")" \
708-
--build-arg BASE_IMAGE="vllm/vllm-openai:v${{ env.VLLM_VERSION }}" \
709-
--build-arg CONTAINER_TYPE="${{ env.CONTAINER_TYPE }}" \
710-
--build-arg FRAMEWORK="${{ env.FRAMEWORK }}" \
711-
--build-arg FRAMEWORK_VERSION="${{ env.VLLM_VERSION }}" \
712-
--cache-to=type=inline \
713-
--cache-from=type=registry,ref=${CI_IMAGE_URI} \
714-
--tag ${CI_IMAGE_URI} \
715-
--target vllm-sagemaker \
716-
-f docker/vllm/Dockerfile .
717-
718-
- name: Container push
719-
run: |
720-
docker push ${CI_IMAGE_URI}
721-
docker rmi ${CI_IMAGE_URI}
655+
tag: ${{ env.FRAMEWORK }}-${{ env.VLLM_VERSION }}-gpu-${{ env.PYTHON_VERSION }}-${{ env.CUDA_VERSION }}-${{ env.OS_VERSION }}-sagemaker-pr-${{ github.event.pull_request.number }}
722656

723657
set-sagemaker-test-environment:
724658
needs: [check-changes, build-vllm-sagemaker-image]

0 commit comments

Comments
 (0)