fix: Makefile 使用 GOBIN 绝对路径,避免 Git hook 环境 PATH 不一致

This commit is contained in:
2026-06-22 02:30:24 +08:00
parent 742b79475f
commit 58d6a45b38

View File

@ -1,28 +1,33 @@
.PHONY: lint fmt check test
GOBIN := $(HOME)/go/bin
BIN_GOFUMPT := $(GOBIN)/gofumpt
BIN_GOIMPORTS := $(GOBIN)/goimports
BIN_LINT := $(GOBIN)/golangci-lint
# === 代码格式化 ===
fmt:
@echo "==> gofumpt..."
@gofumpt -l -w internal/ cmd/
@$(BIN_GOFUMPT) -l -w internal/ cmd/
@echo "==> goimports..."
@goimports -w internal/ cmd/
@$(BIN_GOIMPORTS) -w internal/ cmd/
# === 格式检查CI 用,只读不改) ===
fmt-check:
@echo "==> gofumpt check..."
@test -z "$$(gofumpt -l internal/ cmd/)" || (echo "gofumpt: 以下文件格式不正确:" && gofumpt -l internal/ cmd/ && exit 1)
@test -z "$$($(BIN_GOFUMPT) -l internal/ cmd/)" || (echo "gofumpt: 以下文件格式不正确:" && $(BIN_GOFUMPT) -l internal/ cmd/ && exit 1)
@echo "==> goimports check..."
@test -z "$$(goimports -l internal/ cmd/)" || (echo "goimports: 以下文件 import 不规范:" && goimports -l internal/ cmd/ && exit 1)
@test -z "$$($(BIN_GOIMPORTS) -l internal/ cmd/)" || (echo "goimports: 以下文件 import 不规范:" && $(BIN_GOIMPORTS) -l internal/ cmd/ && exit 1)
# === 静态分析(报告模式,不阻断) ===
lint:
@echo "==> golangci-lint (report only)..."
@golangci-lint run ./... || true
@$(BIN_LINT) run ./... || true
# === 静态分析阻断模式CI 用) ===
lint-strict:
@echo "==> golangci-lint (strict)..."
@golangci-lint run ./...
@$(BIN_LINT) run ./...
# === 测试 ===
test: