b3c22c261e
Add explicit TLS modes, context-aware delivery, and typed transport errors. Preserve raw MIME messages and cover the new delivery paths with local SMTP tests.
35 lines
925 B
Makefile
35 lines
925 B
Makefile
COVERAGE_DIR := coverage
|
|
|
|
.PHONY: help fmt fmt-check vet lint test test-race test-coverage check clean
|
|
|
|
help: ## Show available targets
|
|
@awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {printf " %-15s %s\n", $$1, $$2}' $(MAKEFILE_LIST)
|
|
|
|
fmt: ## Format Go source files
|
|
gofmt -w .
|
|
|
|
fmt-check: ## Check Go source formatting
|
|
@test -z "$$(gofmt -l .)"
|
|
|
|
vet: ## Run Go static analysis
|
|
go vet ./...
|
|
|
|
lint: ## Run golangci-lint
|
|
golangci-lint run
|
|
|
|
test: ## Run tests
|
|
go test ./... -count=1
|
|
|
|
test-race: ## Run tests with the race detector
|
|
go test -race ./... -count=1
|
|
|
|
test-coverage: ## Generate an HTML coverage report
|
|
mkdir -p $(COVERAGE_DIR)
|
|
go test ./... -count=1 -coverprofile=$(COVERAGE_DIR)/cover.out
|
|
go tool cover -html=$(COVERAGE_DIR)/cover.out -o $(COVERAGE_DIR)/cover.html
|
|
|
|
check: fmt-check vet test test-race lint ## Run all validation checks
|
|
|
|
clean: ## Remove generated coverage files
|
|
rm -rf $(COVERAGE_DIR)
|