Files
badger/Makefile
2026-06-07 17:40:00 +02:00

52 lines
1.1 KiB
Makefile

YAEGI_VERSION ?= v0.16.1
GOVULNCHECK_VERSION ?= v1.3.0
.PHONY: fmt tidy vet lint test vulncheck vendor yaegi-test ci ci-full clean
fmt:
gofmt -w .
tidy:
go mod tidy
vet:
go vet ./...
lint:
golangci-lint run
test:
go test -race -cover ./...
vulncheck:
go install golang.org/x/vuln/cmd/govulncheck@$(GOVULNCHECK_VERSION)
govulncheck ./...
vendor:
go mod vendor
# Yaegi compatibility check. Vendors dependencies first so Yaegi can resolve
# local sub-packages (e.g. github.com/fosrl/badger/ips) without needing a
# plugins-local copy layout. Must be run from a GOPATH-compatible directory
# (go/src/github.com/fosrl/badger) for local sub-package resolution.
yaegi-test: vendor
go run github.com/traefik/yaegi/cmd/yaegi@$(YAEGI_VERSION) test -v .
# Reproduce the CI checks locally (excluding yaegi and lint).
ci:
test -z "$$(gofmt -l .)"
go mod tidy
git diff --exit-code -- go.mod go.sum
go vet ./...
go test -race -cover ./...
go install golang.org/x/vuln/cmd/govulncheck@$(GOVULNCHECK_VERSION)
govulncheck ./...
# Full CI including lint and yaegi compatibility check.
ci-full: ci
$(MAKE) lint
$(MAKE) yaegi-test
clean:
rm -rf vendor