Files
houston-be/Makefile
2024-04-26 15:37:19 +05:30

86 lines
5.6 KiB
Makefile

.PHONY: docker-run
docker-run: docker-build
docker run houston
.PHONY: docker-build
docker-build:
docker build -t houston -f Dockerfile.houston .
.PHONY: migration-up
migration-up:
migrate -path db/migration/ -database "${POSTGRES_DSN}?sslmode=require" -verbose up
.PHONY: migration-down
migration-down:
migrate -path db/migration/ -database "${POSTGRES_DSN}?sslmode=require" -verbose down
.PHONY: build
build: test
go mod tidy && CGO_ENABLED=0 go build -ldflags="-s -w" -o houston cmd/main.go
.PHONY: test
test: generatemocks
go test -v -count=1 $(CURDIR)/service/...
go test -v -count=1 $(CURDIR)/pkg/...
go test -v -count=1 $(CURDIR)/common/...
@rm -rf $(CURDIR)/mocks
# Keep all mock file generation below this line
.PHONY: generatemocks
generatemocks:
@go install github.com/gojuno/minimock/v3/cmd/minimock@v3.1.3
@go mod tidy
@rm -rf $(CURDIR)/mocks
@echo "Generating mocks..."
@mkdir "mocks"
cd $(CURDIR)/pkg/google/googleDrive && minimock -i DriveActions -s _mock.go -o $(CURDIR)/mocks
cd $(CURDIR)/pkg/conference && minimock -i ICalendarActions -s _mock.go -o $(CURDIR)/mocks
cd $(CURDIR)/pkg/rest/ && minimock -i HttpRestClient -s _mock.go -o $(CURDIR)/mocks
cd $(CURDIR)/pkg/atlassian/ && minimock -i JiraClient -s _mock.go -o $(CURDIR)/mocks
cd $(CURDIR)/service/slack && minimock -i ISlackService -s _mock.go -o $(CURDIR)/mocks
cd $(CURDIR)/service/incident && minimock -i IIncidentService -s _mock.go -o $(CURDIR)/mocks
cd $(CURDIR)/repository/rca && minimock -i IRcaRepository -s _mock.go -o $(CURDIR)/mocks
cd $(CURDIR)/model/incident && minimock -i IIncidentRepository -s _mock.go -o $(CURDIR)/mocks
cd $(CURDIR)/pkg/monitoringService && minimock -i MonitoringServiceActions -s _mock.go -o $(CURDIR)/mocks
cd $(CURDIR)/model/incident && minimock -i IIncidentRepository -s _mock.go -o $(CURDIR)/mocks
cd $(CURDIR)/pkg/monitoringService && minimock -i ServiceActions -s _mock.go -o $(CURDIR)/mocks
cd $(CURDIR)/pkg/monitoringService && minimock -i MonitoringServiceActions -s _mock.go -o $(CURDIR)/mocks
cd $(CURDIR)/common/util/channel && minimock -i IChannelUtil -s _mock.go -o $(CURDIR)/mocks
cd $(CURDIR)/service/incident_channel && minimock -i IIncidentChannelService -s _mock.go -o $(CURDIR)/mocks
cd $(CURDIR)/model/team && minimock -i ITeamRepository -s _mock.go -o $(CURDIR)/mocks
cd $(CURDIR)/model/severity && minimock -i ISeverityRepository -s _mock.go -o $(CURDIR)/mocks
cd $(CURDIR)/model/user && minimock -i IUserRepository -s _mock.go -o $(CURDIR)/mocks
cd $(CURDIR)/pkg/documentService && minimock -i ServiceActions -s _mock.go -o $(CURDIR)/mocks
cd $(CURDIR)/repository/rcaInput && minimock -i IRcaInputRepository -s _mock.go -o $(CURDIR)/mocks
cd $(CURDIR)/service/teamService && minimock -i ITeamServiceV2 -s _mock.go -o $(CURDIR)/mocks
cd $(CURDIR)/model/user && minimock -i IUserRepositoryInterface -s _mock.go -o $(CURDIR)/mocks
cd $(CURDIR)/model/tag && minimock -i ITagRepository -s _mock.go -o $(CURDIR)/mocks
cd $(CURDIR)/model/incident && minimock -i IIncidentRepository -s _mock.go -o $(CURDIR)/mocks
cd $(CURDIR)/pkg/monitoringService && minimock -i MonitoringServiceActions -s _mock.go -o $(CURDIR)/mocks
cd $(CURDIR)/service/krakatoa && minimock -i IKrakatoaService -s _mock.go -o $(CURDIR)/mocks
cd $(CURDIR)/pkg/socketModeClient && minimock -i ISocketModeClientWrapper -s _mock.go -o $(CURDIR)/mocks
cd $(CURDIR)/pkg/maverick && minimock -i IMaverickClient -s _mock.go -o $(CURDIR)/mocks
cd $(CURDIR)/service/incident_jira && minimock -i IncidentJiraService -s _mock.go -o $(CURDIR)/mocks
cd $(CURDIR)/model/incident_jira && minimock -i IncidentJiraRepository -s _mock.go -o $(CURDIR)/mocks
cd $(CURDIR)/model/product && minimock -i ProductRepository -s _mock.go -o $(CURDIR)/mocks
cd $(CURDIR)/model/products_teams && minimock -i ProductsTeamsRepository -s _mock.go -o $(CURDIR)/mocks
cd $(CURDIR)/model/incident_products && minimock -i IncidentProductsRepository -s _mock.go -o $(CURDIR)/mocks
cd $(CURDIR)/service/google && minimock -i IDriveService -s _mock.go -o $(CURDIR)/mocks
cd $(CURDIR)/service/rca && minimock -i IRcaService -s _mock.go -o $(CURDIR)/mocks
cd $(CURDIR)/pkg/alertClient && minimock -i AlertClient -s _mock.go -o $(CURDIR)/mocks
cd $(CURDIR)/repository/externalTeamRepo && minimock -i IExternalTeamRepository -s _mock.go -o $(CURDIR)/mocks
cd $(CURDIR)/service/alertService && minimock -i IAlertService -s _mock.go -o $(CURDIR)/mocks
cd $(CURDIR)/service/tag && minimock -i ITagService -s _mock.go -o $(CURDIR)/mocks
cd $(CURDIR)/service/conference && minimock -i ICalendarService -s _mock.go -o $(CURDIR)/mocks
cd $(CURDIR)/service/severity && minimock -i ISeverityService -s _mock.go -o $(CURDIR)/mocks
cd $(CURDIR)/service/user && minimock -i UserService -s _mock.go -o $(CURDIR)/mocks
cd $(CURDIR)/service/teamSeverity && minimock -i ITeamSeverityService -s _mock.go -o $(CURDIR)/mocks
cd $(CURDIR)/service/teamUser && minimock -i ITeamUserService -s _mock.go -o $(CURDIR)/mocks
cd $(CURDIR)/service/teamUserSeverity && minimock -i ITeamUserSeverityService -s _mock.go -o $(CURDIR)/mocks
cd $(CURDIR)/service/productsTeams && minimock -i ProductTeamsService -s _mock.go -o $(CURDIR)/mocks
cd $(CURDIR)/service/products && minimock -i ProductService -s _mock.go -o $(CURDIR)/mocks
cd $(CURDIR)/repository/teamSeverity && minimock -i TeamSeverityRepository -s _mock.go -o $(CURDIR)/mocks
cd $(CURDIR)/repository/teamUser && minimock -i TeamUserRepository -s _mock.go -o $(CURDIR)/mocks
cd $(CURDIR)/repository/teamUserSeverity && minimock -i TeamUserSeverityRepository -s _mock.go -o $(CURDIR)/mocks
cd $(CURDIR)/model/incident_channel && minimock -i IncidentChannelRepositoryInterface -s _mock.go -o $(CURDIR)/mocks