@@ -256,6 +256,154 @@ docker-release:
256256# More info on the awk command:
257257# http://linuxcommand.org/lc3_adv_awk.php
258258
259+ <<<<<<< HEAD
259260.PHONY : help
260261help : # # Display this help.
261262 @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 )
263+ ====== =
264+ .PHONY : runtimegen
265+ runtimegen : bin/runtime-gen
266+ $(RUNTIME_GEN ) \
267+ --output-dir=$(RUNTIME_PKG_DIR ) \
268+ --go-header-file=$(BOILERPLATE_FILE ) \
269+ github.com/pingcap/tidb-operator/api/v2/core/v1alpha1
270+
271+ .PHONY : release
272+ release : bin/helm crd
273+ $(ROOT ) /hack/release.sh
274+
275+ .PHONY : doc
276+ doc : bin/mdtoc
277+ find docs -name " *.md" | xargs $(MDTOC ) --inplace --max-depth 5
278+
279+ .PHONY : crd
280+ crd : bin/controller-gen build/crd-modifier
281+ $(CONTROLLER_GEN ) crd:generateEmbeddedObjectMeta=true output:crd:artifacts:config=$(ROOT ) /manifests/crd paths=$(API_PATH ) /...
282+ $(BIN_DIR ) /crd-modifier -dir $(ROOT ) /manifests/crd
283+
284+
285+ .PHONY : tidy
286+ tidy : $(addprefix tidy/,$(GO_TOOL_BIN ) )
287+ cd $(API_PATH ) && go mod tidy
288+ cd $(VALIDATION_TEST_PATH ) && go mod tidy
289+ go mod tidy
290+
291+ .PHONY : $(addprefix tidy/,$(GO_TOOL_BIN ) )
292+ $(addprefix tidy/,$(GO_TOOL_BIN ) ) :
293+ cd $(TOOLS_PATH ) /$(patsubst tidy/% ,% ,$@ ) && go mod tidy
294+
295+ gengo : GEN_DIR ?= ./...
296+ gengo : bin/mockgen
297+ BOILERPLATE_FILE=${MOCK_BOILERPLATE_FILE} GOBIN=$(BIN_DIR ) GO_MODULE=$(GO_MODULE ) go generate $(GEN_DIR )
298+
299+ .PHONY : license
300+ license : bin/license-eye
301+ $(LICENSE_EYE ) -c .github/licenserc.yaml header fix
302+
303+ ALL_GEN = tidy codegen crd runtimegen gengo overlaygen doc
304+ .PHONY : generate
305+ generate : $(ALL_GEN ) license
306+
307+ .PHONY : verify/license
308+ verify/license : bin/license-eye
309+ $(LICENSE_EYE ) -c .github/licenserc.yaml header check
310+
311+ .PHONY : verify/feature-gates
312+ verify/feature-gates :
313+ cd $(ROOT ) && go run cmd/verify-feature-gates/main.go
314+
315+ .PHONY : verify
316+ verify : $(addprefix verify/,$(ALL_GEN ) ) verify/license verify/feature-gates
317+ verify/% :
318+ $(ROOT ) /hack/verify.sh make $*
319+
320+ .PHONY : lint
321+ lint : bin/golangci-lint
322+ $(GOLANGCI_LINT ) run -v ./...
323+
324+ .PHONY : lint-fix
325+ lint-fix : bin/golangci-lint
326+ $(GOLANGCI_LINT ) run -v ./... --fix
327+
328+ .PHONY : unit
329+ unit :
330+ cd $(VALIDATION_TEST_PATH ) && go test -race ./...
331+ go test -race $$(go list -e ./... | grep -v cmd | grep -v tools | grep -v tests/e2e | grep -v third_party ) \
332+ -cover -coverprofile=coverage.txt -covermode=atomic
333+ sed -i.bak ' /generated/d;/fake.go/d' coverage.txt && rm coverage.txt.bak
334+
335+ .PHONY : check
336+ check : lint unit verify
337+
338+ .PHONY : install-githooks
339+ install-githooks :
340+ @echo " Installing git hooks..."
341+ @mkdir -p .git/hooks
342+ @ln -sf ../../hack/githooks/pre-push .git/hooks/pre-push
343+ @echo " pre-push hook installed successfully."
344+ @echo " You can run 'make check' manually to check your code before push."
345+
346+ .PHONY : e2e/prepare
347+ e2e/prepare : bin/kind release
348+ $(ROOT ) /hack/e2e.sh --prepare
349+
350+ # e2e/run: Run e2e tests (excluding packages specified in E2E_EXCLUDED_PACKAGES)
351+ # Default excludes 'upgrade' package which requires special build tags
352+ # Usage: make e2e/run
353+ # To exclude additional packages: E2E_EXCLUDED_PACKAGES="upgrade,some-other-package" make e2e/run
354+ # To run all packages: E2E_EXCLUDED_PACKAGES="" make e2e/run
355+ .PHONY : e2e/run
356+ e2e/run :
357+ $(ROOT ) /hack/e2e.sh run $(GINKGO_OPTS )
358+
359+ .PHONY : e2e/run-upgrade
360+ e2e/run-upgrade :
361+ $(ROOT ) /hack/e2e.sh run-upgrade $(GINKGO_OPTS )
362+
363+ # e2e: Run full e2e test suite including both regular and upgrade tests
364+ .PHONY : e2e
365+ e2e : bin/kind release
366+ $(ROOT ) /hack/e2e.sh --prepare run run-upgrade $(GINKGO_OPTS )
367+
368+ .PHONY : e2e/deploy
369+ e2e/deploy : bin/kubectl release
370+ $(KUBECTL ) $(KUBE_OPT ) apply --server-side=true -f $(OUTPUT_DIR ) /manifests/tidb-operator.crds.yaml
371+ $(KUBECTL ) $(KUBE_OPT ) apply --server-side=true -f $(OUTPUT_DIR ) /manifests/tidb-operator-e2e.yaml
372+
373+ .PHONY : kube
374+ kube : bin/kind bin/kubectl
375+ @echo " ensure that the kubernetes env is existing"
376+ V_KIND=$(KIND ) V_KUBECTL=$(KUBECTL ) $(ROOT ) /hack/kind.sh
377+
378+ .PHONY : reload/operator
379+ reload/operator : bin/kubectl
380+ $(KUBECTL ) $(KUBE_OPT ) delete pod ` $( KUBECTL) $( KUBE_OPT) get pods | awk ' /operator/{ print $$1 }' `
381+
382+ .PHONY : logs/operator
383+ logs/operator : bin/kubectl
384+ $(KUBECTL ) $(KUBE_OPT ) logs -f ` $( KUBECTL) $( KUBE_OPT) get pods | awk ' /operator/{ print $$1 }' `
385+
386+ OVERLAY_GEN = $(BIN_DIR ) /overlay-gen
387+ bin/overlay-gen :
388+ $(ROOT ) /hack/build.sh overlay-gen
389+
390+ RUNTIME_GEN = $(BIN_DIR ) /runtime-gen
391+ bin/runtime-gen :
392+ $(ROOT ) /hack/build.sh runtime-gen
393+
394+ # Generic target for allowed bin/xxx tools - automatically defines XXX variable (with hyphens converted to underscores)
395+ # e.g. bin/abc-def will define ABC_DEF = $(BIN_DIR)/abc-def
396+ define make_bin_target
397+ $(eval $(shell echo $(1 ) | tr '[:lower:]-' '[:upper:]_') = $(BIN_DIR ) /$(1 ) )
398+ endef
399+
400+ .PHONY : $(addprefix bin/,$(GO_TOOL_BIN ) )
401+ $(addprefix bin/,$(GO_TOOL_BIN ) ) : bin/% : tidy/%
402+ $(call make_bin_target,$(patsubst bin/% ,% ,$@ ) )
403+ ./hack/tools.sh $(patsubst bin/% ,% ,$@ )
404+
405+
406+ .PHONY : charts/build
407+ charts/build :
408+ $(ROOT ) /hack/charts-build.sh
409+ >>>>>>> b2e036e9d (feat : add new github action for tidb-operator-release v1.x (# 6606))
0 commit comments