-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMakefile
88 lines (62 loc) · 3.21 KB
/
Makefile
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
include make-env.Makefile
CHART_DIR=deploy/helm
.PHONY: deps
deps:
go mod download
.PHONY: vet
vet: deps
go vet ./...
TEST_SUITES ?= ./pkg/proxy
TEST_FLAGS ?= --race --trace -p
coverprofile.out: deps all-test-tools
$(GINKGO) run --cover --coverpkg=./,./pkg/proxy/ $(TEST_FLAGS) $(TEST_SUITES)
.PHONY: test
test: coverprofile.out
.PHONY: show-coverage
show-coverage: coverprofile.out
go tool cover -html=coverprofile.out
E2E_TEST_SUITES ?= ./
E2E_TEST_FLAGS ?= --race --trace -vv --flake-attempts=5 # --until-it-fails --fail-fast
.PHONY: e2e
e2e: deps all-e2e-tools
helm dep build $(CHART_DIR)/mlflow-oidc-proxy
helm dep build $(CHART_DIR)/mlflow-multitenant
helm dep build $(CHART_DIR)/mlflow-multitenant-deps
$(GINKGO) run --cover --coverpkg=./,./pkg/proxy/ $(E2E_TEST_FLAGS) $(E2E_TEST_SUITES)
bin/mlflow-oidc-proxy:
go build -o bin/mlflow-oidc-proxy main.go
MLFLOW_OIDC_PROXY_CHART_VERSION=$(shell yq .version $(CHART_DIR)/mlflow-oidc-proxy/Chart.yaml)
MLFLOW_MULTITENANT_CHART_VERSION=$(shell yq .version $(CHART_DIR)/mlflow-multitenant/Chart.yaml)
MLFLOW_MULTITENANT_DEPS_CHART_VERSION=$(shell yq .version $(CHART_DIR)/mlflow-multitenant-deps/Chart.yaml)
$(CHART_DIR)/mlflow-oidc-proxy/Chart.lock: $(CHART_DIR)/mlflow-oidc-proxy/Chart.yaml
$(HELM) dependency update $(CHART_DIR)/mlflow-oidc-proxy
$(CHART_DIR)/mlflow-multitenant/Chart.lock: $(CHART_DIR)/mlflow-multitenant/Chart.yaml
$(HELM) dependency update $(CHART_DIR)/mlflow-multitenant
$(CHART_DIR)/mlflow-multitenant-deps/Chart.lock: $(CHART_DIR)/mlflow-multitenant-deps/Chart.yaml
$(HELM) dependency update $(CHART_DIR)/mlflow-multitenant-deps
CHART_LOCKS=\
$(CHART_DIR)/mlflow-oidc-proxy/Chart.lock \
$(CHART_DIR)/mlflow-multitenant/Chart.lock \
$(CHART_DIR)/mlflow-multitenant-deps/Chart.lock \
.PHONY: chart-deps
chart-deps:
cd $(CHART_DIR)/mlflow-oidc-proxy ; helm dependency build
cd $(CHART_DIR)/mlflow-multitenant ; helm dependency build
cd $(CHART_DIR)/mlflow-multitenant-deps ; helm dependency build
.PHONY: helm-hog
helm-hog: all-helm-tools $(CHART_LOCKS)
cd $(CHART_DIR)/mlflow-oidc-proxy ; $(LOCALBIN)/helm-hog test --no-apply --batch --auto-remove-success --parallel=0
cd $(CHART_DIR)/mlflow-multitenant ; $(LOCALBIN)/helm-hog test --no-apply --batch --auto-remove-success --parallel=0
cd $(CHART_DIR)/mlflow-multitenant-deps ; $(LOCALBIN)/helm lint ; $(LOCALBIN)/helm template .
bin/charts/mlflow-oidc-proxy-$(MLFLOW_OIDC_PROXY_CHART_VERISON).tgz: all-helm-tools $(CHART_DIR)/mlflow-oidc-proxy/Chart.lock
helm package $(CHART_DIR)/mlflow-oidc-proxy --destination bin/charts
bin/charts/mlflow-multitenant-$(MLFLOW_MULTITENANT_CHART_VERISON).tgz: all-helm-tools $(CHART_DIR)/mlflow-multitenant/Chart.lock
helm package $(CHART_DIR)/mlflow-multitenant --destination bin/charts
bin/charts/mlflow-multitenant-deps-$(MLFLOW_MULTITENANT_DEPS_CHART_VERISON).tgz: all-helm-tools $(CHART_DIR)/mlflow-multitenant-deps/Chart.lock
helm package $(CHART_DIR)/mlflow-multitenant-deps --destination bin/charts
CHARTS=\
bin/charts/mlflow-oidc-proxy-$(MLFLOW_OIDC_PROXY_CHART_VERISON).tgz \
bin/charts/mlflow-multitenant-$(MLFLOW_MULTITENANT_CHART_VERISON).tgz \
bin/charts/mlflow-multitenant-deps-$(MLFLOW_MULTITENANT_DEPS_CHART_VERISON).tgz \
.PHONY: charts
charts: $(CHARTS)