github.com/popeskul/qna-go@v0.0.0-20230109215716-6e2a125005c8/makefile (about) 1 .PHONY: postgres adminer migrate-install migrate-up migrate-down 2 3 PROJECT_DIR = $(shell pwd) 4 PROJECT_BIN = $(PROJECT_DIR)/bin 5 $(shell [ -f bin ] || mkdir -p $(PROJECT_BIN)) 6 PATH := $(PROJECT_BIN):$(PATH) 7 8 migrate-install: 9 curl -s https://packagecloud.io/install/repositories/golang-migrate/migrate/script.deb.sh | sudo bash 10 11 migrate-up: 12 migrate -path ./schema -database 'postgres://$(db_user):$(db_password)@$(db_host):$(db_port)/$(db_name)?sslmode=disable' -verbose up 13 14 migrate-down: 15 migrate -path ./schema -database 'postgres://$(db_user):$(db_password)@$(db_host):$(db_port)/$(db_name)?sslmode=disable' down -all 16 17 postgres: 18 docker run --rm -ti --network host -e POSTGRES_PASSWORD=12345 -e POSTGRES_USER=postgres -e POSTGRES_DB=postgres postgres 19 20 api: 21 docker run --rm -ti --network host qna-go 22 23 # rules for compiling the golangci-lint 24 GOLANGCI_LINT = $(PROJECT_BIN)/golangci-lint 25 26 .PHONY: .install-linter 27 .install-linter: 28 ### INSTALL GOLANGCI-LINT ### 29 [ -f $(PROJECT_BIN)/golangci-lint ] || curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(PROJECT_BIN) v1.46.2 30 31 .PHONY: lint 32 lint: .install-linter 33 ### RUN GOLANGCI-LINT ### 34 $(GOLANGCI_LINT) run ./... --config=./.golangci.yml 35 36 .PHONY: lint-fast 37 lint-fast: .install-linter 38 $(GOLANGCI_LINT) run ./... --fast --config=./.golangci.yml