-
Notifications
You must be signed in to change notification settings - Fork 23
Expand file tree
/
Copy pathMakefile
More file actions
70 lines (60 loc) · 2.46 KB
/
Makefile
File metadata and controls
70 lines (60 loc) · 2.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
ifndef TAG
TAG ?= $(shell git rev-parse --short=7 HEAD)
endif
ENO_CONTROLLER_IMAGE_VERSION ?= $(TAG)
ENO_CONTROLLER_IMAGE_NAME ?= eno-controller
ENO_RECONCILER_IMAGE_VERSION ?= $(TAG)
ENO_RECONCILER_IMAGE_NAME ?= eno-reconciler
.PHONY: docker-build-eno-controller
docker-build-eno-controller:
docker build \
--file docker/$(ENO_CONTROLLER_IMAGE_NAME)/Dockerfile \
--tag $(REGISTRY)/$(ENO_CONTROLLER_IMAGE_NAME):$(ENO_CONTROLLER_IMAGE_VERSION) .
docker push $(REGISTRY)/$(ENO_CONTROLLER_IMAGE_NAME):$(ENO_CONTROLLER_IMAGE_VERSION)
.PHONY: docker-build-eno-reconciler
docker-build-eno-reconciler:
docker build \
--file docker/$(ENO_RECONCILER_IMAGE_NAME)/Dockerfile \
--tag $(REGISTRY)/$(ENO_RECONCILER_IMAGE_NAME):$(ENO_RECONCILER_IMAGE_VERSION) .
docker push $(REGISTRY)/$(ENO_RECONCILER_IMAGE_NAME):$(ENO_RECONCILER_IMAGE_VERSION)
.PHONY: podman-build-push-eno-controller
podman-build-push-eno-controller:
podman build \
--file docker/$(ENO_CONTROLLER_IMAGE_NAME)/Dockerfile \
--tag $(REGISTRY)/$(ENO_CONTROLLER_IMAGE_NAME):$(ENO_CONTROLLER_IMAGE_VERSION) .
podman push $(REGISTRY)/$(ENO_CONTROLLER_IMAGE_NAME):$(ENO_CONTROLLER_IMAGE_VERSION)
.PHONY: podman-build-push-eno-reconciler
podman-build-push-eno-reconciler:
podman build \
--file docker/$(ENO_RECONCILER_IMAGE_NAME)/Dockerfile \
--tag $(REGISTRY)/$(ENO_RECONCILER_IMAGE_NAME):$(ENO_RECONCILER_IMAGE_VERSION) .
podman push $(REGISTRY)/$(ENO_RECONCILER_IMAGE_NAME):$(ENO_RECONCILER_IMAGE_VERSION)
# Setup controller-runtime test environment binaries
.PHONY: setup-testenv
setup-testenv:
@echo "Installing controller-runtime testenv binaries..."
@go run sigs.k8s.io/controller-runtime/tools/setup-envtest@latest use -p path
.PHONY: test
test:
UPSTREAM_KUBEBUILDER_ASSETS=$$(go run sigs.k8s.io/controller-runtime/tools/setup-envtest@latest use -p path) go test -v $$(go list ./... | grep -v '/e2e')
.PHONY: test-e2e
test-e2e:
go test -v -timeout 10m -count=1 ./e2e
.PHONY: generate
generate: controller-gen
$(CONTROLLER_GEN) object crd paths="./..." output:crd:artifacts:config=api/v1/config/crd
# find or download controller-gen
controller-gen:
ifeq (, $(shell which controller-gen))
@{ \
set -e ;\
CONTROLLER_GEN_TMP_DIR=$$(mktemp -d) ;\
cd $$CONTROLLER_GEN_TMP_DIR ;\
go mod init tmp ;\
go install sigs.k8s.io/controller-tools/cmd/controller-gen@v0.18.0 ;\
rm -rf $$CONTROLLER_GEN_TMP_DIR ;\
}
CONTROLLER_GEN=$(shell go env GOPATH)/bin/controller-gen
else
CONTROLLER_GEN=$(shell which controller-gen)
endif