Skip to content

Commit 4da540e

Browse files
authored
ci(model-downloader): add Docker image build and release pipeline (#126)
Signed-off-by: Suraj Deshmukh <suraj.deshmukh@microsoft.com>
1 parent a6e8a12 commit 4da540e

3 files changed

Lines changed: 62 additions & 0 deletions

File tree

.github/workflows/release.yml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,3 +197,47 @@ jobs:
197197
GIT_COMMIT=${{ github.sha }}
198198
cache-from: type=gha
199199
cache-to: type=gha,mode=max
200+
201+
model-downloader-docker:
202+
name: Build and Push Model Downloader Docker Image
203+
runs-on: ubuntu-latest
204+
steps:
205+
- name: Checkout repository
206+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v4
207+
208+
- name: Set up QEMU
209+
uses: docker/setup-qemu-action@c7c53464625b32c7a7e944ae62b3e17d2b600130 # v3
210+
211+
- name: Set up Docker Buildx
212+
uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3
213+
214+
- name: Log in to Container Registry
215+
uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3
216+
with:
217+
registry: ${{ env.REGISTRY }}
218+
username: ${{ github.actor }}
219+
password: ${{ secrets.GITHUB_TOKEN }}
220+
221+
- name: Extract metadata for Docker
222+
id: meta
223+
uses: docker/metadata-action@c299e40c65443455700f0fdfc63efafe5b349051 # v5
224+
with:
225+
images: ghcr.io/kaito-project/kubeairunway/model-downloader
226+
tags: |
227+
type=semver,pattern={{version}}
228+
type=semver,pattern={{major}}.{{minor}}
229+
type=semver,pattern={{major}}
230+
type=sha,prefix=
231+
type=raw,value=latest,enable=${{ !contains(github.ref, '-rc') && !contains(github.ref, '-beta') && !contains(github.ref, '-alpha') }}
232+
233+
- name: Build and push Docker image
234+
uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6
235+
with:
236+
context: images/model-downloader
237+
file: images/model-downloader/Dockerfile
238+
platforms: linux/amd64,linux/arm64
239+
push: true
240+
tags: ${{ steps.meta.outputs.tags }}
241+
labels: ${{ steps.meta.outputs.labels }}
242+
cache-from: type=gha
243+
cache-to: type=gha,mode=max

Makefile

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,16 @@
11
.PHONY: install dev dev-frontend dev-backend build compile lint test clean help
22
.PHONY: controller-build controller-docker-build controller-install controller-deploy controller-generate generate-deploy-manifests
3+
.PHONY: model-downloader-docker-build
34

45
# Controller image
56
CONTROLLER_IMG ?= ghcr.io/kaito-project/kubeairunway/controller:latest
67

78
# Dashboard image
89
DASHBOARD_IMG ?= ghcr.io/kaito-project/kubeairunway/dashboard:latest
910

11+
# Model downloader image
12+
MODEL_DOWNLOADER_IMG ?= ghcr.io/kaito-project/kubeairunway/model-downloader:latest
13+
1014
# Gateway API Inference Extension version
1115
GAIE_VERSION ?= v1.3.1
1216

@@ -34,6 +38,7 @@ help:
3438
@echo "Controller Targets:"
3539
@echo " controller-build Build the Go controller binary"
3640
@echo " controller-docker-build Build controller Docker image"
41+
@echo " model-downloader-docker-build Build model downloader Docker image"
3742
@echo " controller-install Install CRDs into cluster"
3843
@echo " controller-deploy Deploy controller to cluster"
3944
@echo " controller-generate Generate CRD manifests and code"
@@ -160,3 +165,10 @@ generate-deploy-manifests:
160165
controller/bin/kustomize build backend/config/default > deploy/dashboard.yaml
161166
@git checkout backend/config/manager/kustomization.yaml 2>/dev/null || true
162167
@echo "✅ Generated deploy/dashboard.yaml"
168+
169+
# ==================== Model Downloader Targets ====================
170+
171+
# Build model downloader Docker image
172+
model-downloader-docker-build:
173+
docker build -f images/model-downloader/Dockerfile -t $(MODEL_DOWNLOADER_IMG) images/model-downloader
174+
@echo "✅ Model downloader image built: $(MODEL_DOWNLOADER_IMG)"

images/model-downloader/Dockerfile

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
FROM python:3.14-slim
2+
3+
RUN pip install --no-cache-dir huggingface_hub==1.6.0 && \
4+
hf version
5+
6+
ENTRYPOINT ["hf"]

0 commit comments

Comments
 (0)