- Add Dockerfiles for nvidia, rdna2, strixhalo, and intel GPU targets - Add ray-serve modules (embeddings, whisper, tts, llm, reranker) - Add Gitea Actions workflow for automated builds - Add Makefile for local development - Update README with comprehensive documentation
94 lines
2.5 KiB
Makefile
94 lines
2.5 KiB
Makefile
# KubeRay Images Makefile
|
|
# Build and push GPU-specific Ray worker images
|
|
|
|
REGISTRY := git.daviestechlabs.io/daviestechlabs
|
|
TAG := latest
|
|
|
|
# Image names
|
|
IMAGES := ray-worker-nvidia ray-worker-rdna2 ray-worker-strixhalo ray-worker-intel
|
|
|
|
.PHONY: all build-all push-all clean help $(addprefix build-,$(IMAGES)) $(addprefix push-,$(IMAGES))
|
|
|
|
help:
|
|
@echo "KubeRay Images Build System"
|
|
@echo ""
|
|
@echo "Usage:"
|
|
@echo " make build-all Build all images"
|
|
@echo " make push-all Push all images to registry"
|
|
@echo " make build-nvidia Build NVIDIA worker image"
|
|
@echo " make build-rdna2 Build AMD RDNA2 worker image"
|
|
@echo " make build-strixhalo Build AMD Strix Halo worker image"
|
|
@echo " make build-intel Build Intel XPU worker image"
|
|
@echo " make push-nvidia Push NVIDIA worker image"
|
|
@echo " make TAG=v1.0.0 push-all Push with specific tag"
|
|
@echo ""
|
|
@echo "Environment:"
|
|
@echo " REGISTRY=$(REGISTRY)"
|
|
@echo " TAG=$(TAG)"
|
|
|
|
# Build targets
|
|
build-nvidia:
|
|
docker build \
|
|
-t $(REGISTRY)/ray-worker-nvidia:$(TAG) \
|
|
-f dockerfiles/Dockerfile.ray-worker-nvidia \
|
|
.
|
|
|
|
build-rdna2:
|
|
docker build \
|
|
-t $(REGISTRY)/ray-worker-rdna2:$(TAG) \
|
|
-f dockerfiles/Dockerfile.ray-worker-rdna2 \
|
|
.
|
|
|
|
build-strixhalo:
|
|
docker build \
|
|
-t $(REGISTRY)/ray-worker-strixhalo:$(TAG) \
|
|
-f dockerfiles/Dockerfile.ray-worker-strixhalo \
|
|
.
|
|
|
|
build-intel:
|
|
docker build \
|
|
-t $(REGISTRY)/ray-worker-intel:$(TAG) \
|
|
-f dockerfiles/Dockerfile.ray-worker-intel \
|
|
.
|
|
|
|
build-all: build-nvidia build-rdna2 build-strixhalo build-intel
|
|
@echo "All images built successfully"
|
|
|
|
# Push targets
|
|
push-nvidia:
|
|
docker push $(REGISTRY)/ray-worker-nvidia:$(TAG)
|
|
|
|
push-rdna2:
|
|
docker push $(REGISTRY)/ray-worker-rdna2:$(TAG)
|
|
|
|
push-strixhalo:
|
|
docker push $(REGISTRY)/ray-worker-strixhalo:$(TAG)
|
|
|
|
push-intel:
|
|
docker push $(REGISTRY)/ray-worker-intel:$(TAG)
|
|
|
|
push-all: push-nvidia push-rdna2 push-strixhalo push-intel
|
|
@echo "All images pushed successfully"
|
|
|
|
# Tag and push with both latest and version tag
|
|
release:
|
|
ifndef VERSION
|
|
$(error VERSION is not set. Usage: make VERSION=v1.0.0 release)
|
|
endif
|
|
@echo "Releasing version $(VERSION)"
|
|
$(MAKE) TAG=$(VERSION) build-all
|
|
$(MAKE) TAG=$(VERSION) push-all
|
|
$(MAKE) TAG=latest build-all
|
|
$(MAKE) TAG=latest push-all
|
|
|
|
# Login to registry
|
|
login:
|
|
docker login $(REGISTRY)
|
|
|
|
# Clean local images
|
|
clean:
|
|
-docker rmi $(REGISTRY)/ray-worker-nvidia:$(TAG)
|
|
-docker rmi $(REGISTRY)/ray-worker-rdna2:$(TAG)
|
|
-docker rmi $(REGISTRY)/ray-worker-strixhalo:$(TAG)
|
|
-docker rmi $(REGISTRY)/ray-worker-intel:$(TAG)
|