This repository has been archived on 2024-04-06. You can view files and clone it, but cannot push or open issues or pull requests.
core-old/Makefile

72 lines
2.6 KiB
Makefile

GOOS=$(shell go env GOOS)
GOARCH=$(shell go env GOARCH)
GOBIN=$(shell go env GOBIN)
ifeq ($(GOBIN),)
GOBIN := $(shell go env GOPATH)/bin
endif
OSARCH=$(shell uname -m)
GOLANGCI_LINT_PATH=$(GOBIN)/golangci-lint
SWAG_PATH=$(GOBIN)/swag
GOOSE_PATH=$(GOBIN)/goose
.PHONY: install-git-hooks
install-git-hooks:
@echo "Installing git hooks..."
pre-commit install --hook-type pre-commit
pre-commit install --hook-type commit-msg
.PHONY: install-counterfeiter
install-counterfeiter:
@echo "Installing github.com/maxbrunsfeld/counterfeiter..."
@go install github.com/maxbrunsfeld/counterfeiter/v6@v6.6.1
.PHONY: install-swag
install-swag:
@echo "Installing github.com/swaggo/swag..."
@(test -f $(SWAG_PATH) && echo "github.com/swaggo/swag is already installed. Skipping...") || (wget -qO- https://github.com/swaggo/swag/releases/download/v1.8.7/swag_1.8.7_$(GOOS)_$(OSARCH).tar.gz | tar -xz -C $(GOBIN)/)
.PHONY: install-golangci-lint
install-golangci-lint:
@echo "Installing github.com/golangci/golangci-lint..."
@(test -f $(GOLANGCI_LINT_PATH) && echo "github.com/golangci/golangci-lint is already installed. Skipping...") || curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(GOBIN) v1.55.1
.PHONY: install-goose
install-goose:
@echo "Installing github.com/pressly/goose..."
@(test -f $(GOOSE_PATH) && echo "github.com/pressly/goose is already installed. Skipping...") || (wget -q -O $(GOOSE_PATH) https://github.com/pressly/goose/releases/download/v3.15.1/goose_$(GOOS)_$(OSARCH) && chmod u+x $(GOOSE_PATH))
.PHONY: install-tools
install-tools: install-counterfeiter install-swag install-golangci-lint install-goose
.PHONY: install
install: install-tools install-git-hooks
.PHONY: generate
generate: install-counterfeiter install-swag
@echo "Running go generate..."
go generate ./...
.PHONY: create-job-update-data
create-job-update-data:
kubectl create job --from=cronjob/twhelp-job-update-data-dev twhelp-job-update-data
.PHONY: create-job-update-ennoblements
create-job-update-ennoblements:
kubectl create job --from=cronjob/twhelp-job-update-ennoblements-dev twhelp-job-update-ennoblements
.PHONY: create-job-create-snapshots
create-job-create-snapshots:
kubectl create job --from=cronjob/twhelp-job-create-snapshots-dev twhelp-job-create-snapshots
.PHONY: create-job-clean-up
create-job-clean-up:
kubectl create job --from=cronjob/twhelp-job-clean-up-dev twhelp-job-clean-up
.PHONY: create-sql-migration
create-sql-migration: install-goose
@goose -dir migrations create $(name) sql
.PHONY: validate-migrations
validate-migrations: install-goose
@goose -dir migrations -v validate