Skip to content

Commit 54f41bc

Browse files
Add Makefile targets for dpf-utils components
- Add docker-build-dpf-utils target to build the dpf-utils container image - Add docker-push-dpf-utils target to push the dpf-utils image - Add lint target to run golangci-lint on dpf-utils code - Add test target to run tests with coverage for dpf-utils - Add golangci-lint to tool dependencies - Targets work with: ovnkubernetesresourceinjector, ipallocator, and dpucniprovisioner
1 parent 88346b1 commit 54f41bc

File tree

21 files changed

+36
-6
lines changed

21 files changed

+36
-6
lines changed

Makefile

Lines changed: 36 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ help: ## Display this help.
3636

3737
REGISTRY ?= example.com
3838
OVNKUBERNETES_IMAGE ?= $(REGISTRY)/ovn-kubernetes-dpf
39+
DPF_UTILS_IMAGE ?= $(REGISTRY)/ovn-kubernetes-dpf-utils
3940

4041
.PHONY: docker-build-ubuntu
4142
docker-build-ubuntu:
@@ -55,6 +56,15 @@ docker-build-fedora:
5556
--load \
5657
-f Dockerfile.ovn-kubernetes.fedora .
5758

59+
.PHONY: docker-build-dpf-utils
60+
docker-build-dpf-utils: ## Build DPF utilities image
61+
docker buildx build \
62+
--build-arg builder_image=${GO_IMAGE} \
63+
-t $(DPF_UTILS_IMAGE):$(TAG) \
64+
--load \
65+
-f dpf-utils/Dockerfile \
66+
dpf-utils/
67+
5868
.PHONY: docker-push-ubuntu
5969
docker-push-ubuntu: ## Push Ubuntu image to registry
6070
docker push $(OVNKUBERNETES_IMAGE):$(TAG)
@@ -63,6 +73,22 @@ docker-push-ubuntu: ## Push Ubuntu image to registry
6373
docker-push-fedora: ## Push Fedora image to registry
6474
docker push $(OVNKUBERNETES_IMAGE):$(TAG)-fedora
6575

76+
.PHONY: docker-push-dpf-utils
77+
docker-push-dpf-utils: ## Push DPF utilities image to registry
78+
docker push $(DPF_UTILS_IMAGE):$(TAG)
79+
80+
##@ DPF Utils Targets
81+
82+
DPF_UTILS_DIR = dpf-utils
83+
84+
.PHONY: lint
85+
lint: golangci-lint ## Run linter for DPF utilities
86+
cd $(DPF_UTILS_DIR) && $(GOLANGCI_LINT) run ./...
87+
88+
.PHONY: test
89+
test: ## Run tests for DPF utilities
90+
cd $(DPF_UTILS_DIR) && go test -v -coverprofile=coverage.out -covermode=atomic ./...
91+
6692
##@ Helm Chart Targets
6793

6894
HELM_CHART_DIR ?= helm/ovn-kubernetes-dpf
@@ -72,15 +98,15 @@ HELM_OUTPUT_DIR ?= _output/helm
7298
helm-build: yq
7399
@mkdir -p $(HELM_OUTPUT_DIR)
74100
@cp $(HELM_CHART_DIR)/values.yaml.tmpl $(HELM_CHART_DIR)/values.yaml
75-
@$(YQ) eval -i '.ovn-kubernetes-resource-injector.controllerManager.webhook.image.repository = "$(OVNKUBERNETES_IMAGE)"' $(HELM_CHART_DIR)/values.yaml
101+
@$(YQ) eval -i '.ovn-kubernetes-resource-injector.controllerManager.webhook.image.repository = "$(DPF_UTILS_IMAGE)"' $(HELM_CHART_DIR)/values.yaml
76102
@$(YQ) eval -i '.ovn-kubernetes-resource-injector.controllerManager.webhook.image.tag = "$(TAG)"' $(HELM_CHART_DIR)/values.yaml
77103
@$(YQ) eval -i '.nodeWithDPUManifests.image.repository = "$(OVNKUBERNETES_IMAGE)"' $(HELM_CHART_DIR)/values.yaml
78104
@$(YQ) eval -i '.nodeWithDPUManifests.image.tag = "$(TAG)"' $(HELM_CHART_DIR)/values.yaml
79105
@$(YQ) eval -i '.nodeWithoutDPUManifests.image.repository = "$(OVNKUBERNETES_IMAGE)"' $(HELM_CHART_DIR)/values.yaml
80106
@$(YQ) eval -i '.nodeWithoutDPUManifests.image.tag = "$(TAG)"' $(HELM_CHART_DIR)/values.yaml
81107
@$(YQ) eval -i '.dpuManifests.image.repository = "$(OVNKUBERNETES_IMAGE)"' $(HELM_CHART_DIR)/values.yaml
82108
@$(YQ) eval -i '.dpuManifests.image.tag = "$(TAG)"' $(HELM_CHART_DIR)/values.yaml
83-
@$(YQ) eval -i '.dpuManifests.imagedpf.repository = "$(OVNKUBERNETES_IMAGE)"' $(HELM_CHART_DIR)/values.yaml
109+
@$(YQ) eval -i '.dpuManifests.imagedpf.repository = "$(DPF_UTILS_IMAGE)"' $(HELM_CHART_DIR)/values.yaml
84110
@$(YQ) eval -i '.dpuManifests.imagedpf.tag = "$(TAG)"' $(HELM_CHART_DIR)/values.yaml
85111
@$(YQ) eval -i '.controlPlaneManifests.image.repository = "$(OVNKUBERNETES_IMAGE)"' $(HELM_CHART_DIR)/values.yaml
86112
@$(YQ) eval -i '.controlPlaneManifests.image.tag = "$(TAG)"' $(HELM_CHART_DIR)/values.yaml
@@ -103,6 +129,8 @@ helm-clean:
103129
TOOLSDIR ?= $(CURDIR)/hack/tools/bin
104130
YQ_VERSION ?= v4.45.1
105131
export YQ ?= $(TOOLSDIR)/yq-$(YQ_VERSION)
132+
GOLANGCI_LINT_VERSION ?= v1.62.2
133+
export GOLANGCI_LINT ?= $(TOOLSDIR)/golangci-lint-$(GOLANGCI_LINT_VERSION)
106134

107135
define go-install-tool
108136
@[ -f $(1) ] || { \
@@ -120,4 +148,9 @@ $(TOOLSDIR):
120148
.PHONY: yq
121149
yq: $(YQ) ## Download yq locally if necessary
122150
$(YQ): | $(TOOLSDIR)
123-
$(call go-install-tool,$(YQ),github.com/mikefarah/yq/v4,$(YQ_VERSION))
151+
$(call go-install-tool,$(YQ),github.com/mikefarah/yq/v4,$(YQ_VERSION))
152+
153+
.PHONY: golangci-lint
154+
golangci-lint: $(GOLANGCI_LINT) ## Download golangci-lint locally if necessary
155+
$(GOLANGCI_LINT): | $(TOOLSDIR)
156+
$(call go-install-tool,$(GOLANGCI_LINT),github.com/golangci/golangci-lint/cmd/golangci-lint,$(GOLANGCI_LINT_VERSION))
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)