Skip to content

Commit ed4a530

Browse files
committed
build: Update Makefile to be module-centric
Signed-off-by: Paulo Gomes <pjbgf@linux.com>
1 parent 6f34244 commit ed4a530

1 file changed

Lines changed: 12 additions & 5 deletions

File tree

Makefile

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,30 @@
1-
GOCMD = go
1+
GOCMD = go
22
GOTEST = $(GOCMD) test
33

44
# renovate: datasource=github-tags depName=golangci/golangci-lint
55
GOLANGCI_VERSION ?= v2.9.0
66

7-
TOOLS_BIN := $(shell mkdir -p build/tools && realpath build/tools)
8-
GOLANGCI = $(TOOLS_BIN)/golangci-lint-$(GOLANGCI_VERSION)
7+
ROOT := $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
8+
TOOLS_BIN := $(shell mkdir -p $(ROOT)build/tools && realpath $(ROOT)build/tools)
9+
GOLANGCI = $(TOOLS_BIN)/golangci-lint-$(GOLANGCI_VERSION)
910
$(GOLANGCI):
1011
rm -f $(TOOLS_BIN)/golangci-lint*
1112
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/$(GOLANGCI_VERSION)/install.sh | sh -s -- -b $(TOOLS_BIN) $(GOLANGCI_VERSION)
1213
mv $(TOOLS_BIN)/golangci-lint $(TOOLS_BIN)/golangci-lint-$(GOLANGCI_VERSION)
1314

15+
MODULES := $(shell find $(ROOT) -mindepth 2 -name "go.mod" -exec dirname {} \; | sort)
16+
1417
test:
15-
$(GOTEST) -race ./...
18+
@for dir in $(MODULES); do \
19+
(cd $$dir && $(GOTEST) -race ./...) || exit 1; \
20+
done
1621

1722
validate: validate-lint validate-dirty
1823

1924
validate-lint: $(GOLANGCI)
20-
$(GOLANGCI) run
25+
@for dir in $(MODULES); do \
26+
(cd $$dir && $(GOLANGCI) run) || exit 1; \
27+
done
2128

2229
validate-dirty:
2330
ifneq ($(shell git status --porcelain --untracked-files=no),)

0 commit comments

Comments
 (0)