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