64 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
| .PHONY: build run test clean docker-build docker-run help
 | |
| 
 | |
| BINARY_NAME=middleware
 | |
| DOCKER_IMAGE=slack-to-ntfy
 | |
| VERSION?=latest
 | |
| 
 | |
| # DOCKER_REGISTRY is optional. If set, it will be used for pushing. Otherwise, images are loaded locally.
 | |
| 
 | |
| # Default target
 | |
| help:
 | |
| 	@echo "Available targets:"
 | |
| 	@echo "  build        - Build the Go binary"
 | |
| 	@echo "  run          - Run the application locally"
 | |
| 	@echo "  test         - Run tests"
 | |
| 	@echo "  clean        - Clean build artifacts"
 | |
| 	@echo "  docker-build - Build Docker image"
 | |
| 	@echo "  docker-run   - Run with Docker Compose"
 | |
| 	@echo "  docker-stop  - Stop Docker Compose"
 | |
| 	@echo "  logs         - Show Docker logs"
 | |
| 
 | |
| build:
 | |
| 	go build -o $(BINARY_NAME) main.go
 | |
| 
 | |
| run: build
 | |
| 	./$(BINARY_NAME)
 | |
| 
 | |
| test:
 | |
| 	go test -v ./...
 | |
| 
 | |
| clean:
 | |
| 	go clean
 | |
| 	rm -f $(BINARY_NAME)
 | |
| 
 | |
| docker-build:
 | |
| ifndef DOCKER_REGISTRY
 | |
| 	# DOCKER_REGISTRY is not set, load locally
 | |
| 	docker buildx build --platform linux/amd64,linux/arm64 -t $(DOCKER_IMAGE):$(VERSION) --load .
 | |
| else
 | |
| 	# DOCKER_REGISTRY is set, push to registry
 | |
| 	docker buildx build --platform linux/amd64,linux/arm64 -t $(DOCKER_REGISTRY)/$(DOCKER_IMAGE):$(VERSION) --push .
 | |
| endif
 | |
| 
 | |
| docker-run:
 | |
| 	docker compose up -d
 | |
| 
 | |
| docker-stop:
 | |
| 	docker compose down
 | |
| 
 | |
| logs:
 | |
| 	docker compose logs -f
 | |
| 
 | |
| # Development helpers
 | |
| fmt:
 | |
| 	go fmt ./...
 | |
| 
 | |
| vet:
 | |
| 	go vet ./...
 | |
| 
 | |
| mod-tidy:
 | |
| 	go mod tidy
 | |
| 
 | |
| deps: mod-tidy
 | |
| 	go mod download
 |