feat: Add GPU-specific Ray worker images with CI/CD
Some checks failed
Build and Push Images / build-nvidia (push) Failing after 1s
Build and Push Images / build-rdna2 (push) Failing after 1s
Build and Push Images / build-strixhalo (push) Failing after 1s
Build and Push Images / build-intel (push) Failing after 1s

- 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
This commit is contained in:
2026-02-01 15:04:31 -05:00
parent e68d5c1f0e
commit a16ffff73f
16 changed files with 1311 additions and 2 deletions

93
Makefile Normal file
View File

@@ -0,0 +1,93 @@
# 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)