jaothan's picture
Upload 356 files
ad73d17 verified
CONTAINER_TOOL ?= podman
MAKEFLAGS += -j2
help:
@echo "Build a instructlab container image for specified vendor "
@echo
@echo " - make amd"
@echo " - make intel"
@echo " - make nvidia"
@echo " - make nvidia-quay"
@echo " - make amd-quay"
@echo " - make intel-quay"
default: help
.PHONY: all
all: nvidia intel amd
INSTRUCTLAB_GIT_REPO ?= https://github.com/instructlab/instructlab.git
INSTRUCTLAB_GIT_BRANCH ?= main
REGISTRY ?= quay.io
REGISTRY_ORG ?= ai-lab
IMAGE_TAG ?= latest
INSTRUCTLAB_IMAGE_AMD ?= ${REGISTRY}/${REGISTRY_ORG}/instructlab-amd:${IMAGE_TAG}
INSTRUCTLAB_IMAGE_INTEL ?= ${REGISTRY}/${REGISTRY_ORG}/instructlab-intel:${IMAGE_TAG}
INSTRUCTLAB_IMAGE_NVIDIA ?= ${REGISTRY}/${REGISTRY_ORG}/instructlab-nvidia:${IMAGE_TAG}
./instructlab:
@mkdir -p ../build
git clone $(INSTRUCTLAB_GIT_REPO) instructlab 2> /dev/null || true
(cd instructlab; git pull origin $(INSTRUCTLAB_GIT_BRANCH))
../build/instructlab-nvidia/oci-layout: ./instructlab
rm -rf ../build/instructlab-nvidia/
"${CONTAINER_TOOL}" build \
--squash-all \
-t oci:../build/instructlab-nvidia \
$(VENDOR:%=--build-arg VENDOR=%) \
instructlab/containers/cuda
.PHONY: nvidia
nvidia: ../build/instructlab-nvidia/oci-layout
../build/instructlab-amd/oci-layout: ./instructlab
rm -rf ../build/instructlab-amd/
"${CONTAINER_TOOL}" build \
--squash-all \
-t oci:../build/instructlab-amd \
-f instructlab/containers/rocm/Containerfile \
$(VENDOR:%=--build-arg VENDOR=%) \
instructlab
.PHONY: amd
amd: ../build/instructlab-amd/oci-layout
../build/instructlab-intel/oci-layout: ./instructlab
rm -rf ../build/instructlab-intel/
"${CONTAINER_TOOL}" build \
--squash-all \
-t oci:../build/instructlab-intel \
-f instructlab/containers/hpu/Containerfile \
$(VENDOR:%=--build-arg VENDOR=%) \
instructlab
.PHONY: intel
intel: ../build/instructlab-intel/oci-layout
.PHONY: nvidia-quay
nvidia-quay: instructlab
"${CONTAINER_TOOL}" build \
--squash-all \
-t ${INSTRUCTLAB_IMAGE_NVIDIA} \
$(VENDOR:%=--build-arg VENDOR=%) \
instructlab/containers/cuda
"${CONTAINER_TOOL}" push ${INSTRUCTLAB_IMAGE_NVIDIA}
.PHONY: amd-quay
amd-quay: instructlab
"${CONTAINER_TOOL}" build \
--squash-all \
-t ${INSTRUCTLAB_IMAGE_AMD} \
-f instructlab/containers/rocm/Containerfile \
$(VENDOR:%=--build-arg VENDOR=%) \
instructlab
"${CONTAINER_TOOL}" push ${INSTRUCTLAB_IMAGE_AMD}
.PHONY: intel-quay
intel-quay: instructlab
"${CONTAINER_TOOL}" build \
--squash-all \
-t ${INSTRUCTLAB_IMAGE_INTEL} \
-f instructlab/containers/hpu/Containerfile \
$(VENDOR:%=--build-arg VENDOR=%) \
instructlab
"${CONTAINER_TOOL}" push ${INSTRUCTLAB_IMAGE_INTEL}