用途:为 Go 项目搭建持续集成流水线,核心是四道门禁——构建、vet/lint、带竞态检测的测试、漏洞扫描,其余均为优化。
主要能力:给出基线 GitHub Actions 工作流,使用 actions/setup-go 的 go-version-file: go.mod 统一 Go 版本、cache: true 缓存模块与构建缓存,并设置 permissions: contents: read 最小权限;测试使用 go test -race -shuffle=on -coverprofile=coverage.out;lint 独立成 job 以快速失败并并行;漏洞扫描使用 go run golang.org/x/vuln/cmd/govulncheck@latest ./...。提供 .golangci.yml 精选 linter 集合(errcheck、govet、staticcheck、errorlint、gosec、revive、misspell),并建议 nolint 必须带 linter 名与原因。构建矩阵仅覆盖实际支持的 Go 版本与平台,库测试最新两个 Go 版本,Linux 服务可跳过 OS 矩阵,跨平台用 GOOS 交叉编译验证。覆盖率门禁用 go tool cover 计算总量并设下限,排除生成代码。Makefile 提供 build、lint、test、vuln、ci 目标,使本地与 CI 一致。
使用方式:将工作流与 .golangci.yml 提交到仓库,本地通过 make ci 复现流水线;集成测试用 build tag 隔离到单独 job 或定时任务。
限制:资料未提供具体收费、价格、平台支持范围或效果数据;内容为实践建议,需按项目实际情况调整。