@@ -14,7 +14,7 @@ IMAGE_TAG_BASE ?= $(IMAGE_REGISTRY)/$(PROJECT_NAME)
1414EPP_TAG ?= dev
1515IMG = $(IMAGE_TAG_BASE ) :$(EPP_TAG )
1616SIDECAR_TAG ?= dev
17- SIDECAR_IMAGE_TAG_BASE ?= ghcr.io/llm-d /$(SIDECAR_IMAGE_NAME )
17+ SIDECAR_IMAGE_TAG_BASE ?= $( IMAGE_REGISTRY ) /$(SIDECAR_IMAGE_NAME )
1818SIDECAR_IMG = $(SIDECAR_IMAGE_TAG_BASE ) :$(SIDECAR_TAG )
1919NAMESPACE ?= hc4ai-operator
2020
@@ -51,6 +51,16 @@ BUILD_REF ?= $(shell git describe --abbrev=0 2>/dev/null)
5151# go source files
5252SRC = $(shell find . -type f -name '* .go')
5353
54+ # Internal variables for generic targets
55+ epp_IMAGE = $(IMG )
56+ sidecar_IMAGE = $(SIDECAR_IMG )
57+ epp_NAME = epp
58+ sidecar_NAME = $(SIDECAR_NAME )
59+ epp_LDFLAGS = -ldflags="$(LDFLAGS ) "
60+ sidecar_LDFLAGS =
61+ epp_TEST_FILES = go list ./... | grep -v /test/ | grep -v ./pkg/sidecar/
62+ sidecar_TEST_FILES = go list ./pkg/sidecar/...
63+
5464.PHONY : help
5565help : # # Print help
5666 @awk ' BEGIN {FS = ":.*##"; printf "\nUsage:\n make \033[36m<target>\033[0m\n"} /^[a-zA-Z_0-9-]+:.*?##/ { printf " \033[36m%-15s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST )
@@ -61,7 +71,7 @@ LDFLAGS ?= -extldflags '-L$(shell pwd)/lib'
6171CGO_ENABLED =1
6272TOKENIZER_LIB = lib/libtokenizers.a
6373# Extract RELEASE_VERSION from Dockerfile
64- TOKENIZER_VERSION := $(shell grep '^ARG RELEASE_VERSION=' Dockerfile | cut -d'=' -f2)
74+ TOKENIZER_VERSION := $(shell grep '^ARG RELEASE_VERSION=' Dockerfile.epp | cut -d'=' -f2)
6575
6676.PHONY : download-tokenizer
6777download-tokenizer : $(TOKENIZER_LIB )
@@ -89,9 +99,12 @@ format: ## Format Go source files
8999test : test-unit test-e2e # # Run unit tests and e2e tests
90100
91101.PHONY : test-unit
92- test-unit : download-tokenizer install-dependencies # # Run unit tests
102+ test-unit : epp-test-unit sidecar-test-unit
103+
104+ .PHONY : % -test-unit
105+ % -test-unit : download-tokenizer install-dependencies # # Run unit tests
93106 @printf " \033[33;1m==== Running Unit Tests ====\033[0m\n"
94- go test -ldflags= " $( LDFLAGS ) " -cover -coverprofile=coverage.out -v $$(echo $$( go list ./... | grep -v /test/ ) )
107+ go test $( $* _LDFLAGS) -cover -coverprofile=coverage- $* .out -v $$($( $* _TEST_FILES) | tr '\n' ' ' )
95108
96109.PHONY : test-integration
97110test-integration : download-tokenizer install-dependencies # # Run integration tests
@@ -108,14 +121,6 @@ post-deploy-test: ## Run post deployment tests
108121 echo Success!
109122 @echo " Post-deployment tests passed."
110123
111- .PHONY : sidecar-test
112- sidecar-test : sidecar-test-unit # # Run Sidecar tests
113-
114- .PHONY : sidecar-test-unit
115- sidecar-test-unit : # # Run Sidecar unit tests
116- @printf " \033[33;1m==== Running tests ====\033[0m\n"
117- go test -v $$(echo $$(go list ./pkg/sidecar/... ) ) -ginkgo.v
118-
119124.PHONY : lint
120125lint : check-golangci-lint check-typos # # Run lint
121126 @printf " \033[33;1m==== Running linting ====\033[0m\n"
@@ -125,47 +130,36 @@ lint: check-golangci-lint check-typos ## Run lint
125130# #@ Build
126131
127132.PHONY : build
128- build : check-go install-dependencies download-tokenizer # # Build the project
129- @printf " \033[33;1m==== Building ====\033[0m\n"
130- go build -ldflags=" $( LDFLAGS) " -o bin/epp cmd/epp/main.go
133+ build : epp-build sidecar-build # # Build the project
131134
132- .PHONY : sidecar -build
133- sidecar -build : check-go # # Build the Sidecar
134- @printf " \033[33;1m==== Building the Sidecar ====\033[0m\n"
135- go build -o bin/$(SIDECAR_NAME ) cmd/$(SIDECAR_NAME ) /main.go
135+ .PHONY : % -build
136+ % -build : check-go install-dependencies download-tokenizer # # Build the project
137+ @printf " \033[33;1m==== Building ====\033[0m\n"
138+ go build $( $* _LDFLAGS) -o bin/$($* _NAME ) cmd/$($* _NAME ) /main.go
136139
137140# #@ Container Build/Push
138141
139142.PHONY : image-build
140- image-build : check-container-tool # # Build Docker image ## Build Docker image using $(CONTAINER_TOOL)
141- @printf " \033[33;1m==== Building Docker image $( IMG) ====\033[0m\n"
143+ image-build : epp-image-build sidecar-image-build # # Build Docker image
144+
145+ .PHONY : % -image-build
146+ % -image-build : check-container-tool # # Build Docker image ## Build Docker image using $(CONTAINER_TOOL)
147+ @printf " \033[33;1m==== Building Docker image $( $* _IMAGE) ====\033[0m\n"
142148 $(CONTAINER_TOOL ) build \
143149 --platform linux/$(TARGETARCH ) \
144150 --build-arg TARGETOS=linux \
145151 --build-arg TARGETARCH=$(TARGETARCH) \
146152 --build-arg COMMIT_SHA=${GIT_COMMIT_SHA} \
147153 --build-arg BUILD_REF=${BUILD_REF} \
148- -t $(IMG) .
154+ -t $($*_IMAGE) -f Dockerfile.$* .
149155
150156.PHONY : image-push
151- image-push : check-container-tool # # Push Docker image $(IMG) to registry
152- @printf " \033[33;1m==== Pushing Docker image $( IMG) ====\033[0m\n"
153- $(CONTAINER_TOOL ) push $(IMG )
154-
155- .PHONY : sidecar-image-build
156- sidecar-image-build : check-container-tool # # Build Sidecar Docker image ## Build Sidecar Docker image using $(CONTAINER_TOOL)
157- @printf " \033[33;1m==== Building Sidecar Docker image $( SIDECAR_IMG) ====\033[0m\n"
158- $(CONTAINER_TOOL ) build \
159- --build-arg TARGETOS=linux \
160- --build-arg TARGETARCH=$(TARGETARCH ) \
161- --build-arg COMMIT_SHA=${GIT_COMMIT_SHA} \
162- --build-arg BUILD_REF=${BUILD_REF} \
163- -t $(SIDECAR_IMG ) -f Dockerfile.sidecar .
157+ image-push : epp-image-push sidecar-image-push # # Push Docker images to registry
164158
165- .PHONY : sidecar -image-push
166- sidecar -image-push : check-container-tool load-version-json # # Push Sidecar Docker image $(SIDECAR_IMG) to registry
167- @printf " \033[33;1m==== Pushing Sidecar Docker image $( SIDECAR_IMG ) ====\033[0m\n"
168- $(CONTAINER_TOOL ) push $(SIDECAR_IMG )
159+ .PHONY : % -image-push
160+ % -image-push : check-container-tool load-version-json # # Push Docker image to registry
161+ @printf " \033[33;1m==== Pushing Docker image $( $* _IMAGE ) ====\033[0m\n"
162+ $(CONTAINER_TOOL ) push $($* _IMAGE )
169163
170164# #@ Install/Uninstall Targets
171165
0 commit comments