|
8 | 8 | $(MAKE) -C calico-vpp-agent $@ |
9 | 9 | $(MAKE) -C vpp-manager $@ |
10 | 10 | $(MAKE) -C multinet-monitor $@ |
11 | | - @mkdir -p cmd/bin |
12 | | - go build -o cmd/bin/calicovppctl ./cmd/calicovppctl/main.go |
| 11 | + $(MAKE) -C cmd/calicovppctl $@ |
13 | 12 |
|
14 | 13 | .PHONY: image images |
15 | 14 | images: image |
16 | 15 | image: |
17 | 16 | $(MAKE) -C calico-vpp-agent $@ |
18 | 17 | $(MAKE) -C vpp-manager $@ |
19 | 18 | $(MAKE) -C multinet-monitor $@ |
| 19 | + $(MAKE) -C cmd/calicovppctl $@ |
20 | 20 |
|
21 | 21 | .PHONY: image-kind |
22 | 22 | image-kind: image |
@@ -49,13 +49,18 @@ push: |
49 | 49 | $(MAKE) -C calico-vpp-agent $@ |
50 | 50 | $(MAKE) -C vpp-manager $@ |
51 | 51 | $(MAKE) -C multinet-monitor $@ |
| 52 | + $(MAKE) -C cmd/calicovppctl $@ |
52 | 53 |
|
53 | 54 | .PHONY: dev |
54 | 55 | dev: |
55 | 56 | $(MAKE) -C calico-vpp-agent ALSO_LATEST=y $@ |
56 | 57 | $(MAKE) -C vpp-manager ALSO_LATEST=y $@ |
57 | 58 | $(MAKE) -C multinet-monitor ALSO_LATEST=y $@ |
58 | 59 |
|
| 60 | +.PHONY: clean-vpp |
| 61 | +clean-vpp: |
| 62 | + $(MAKE) -C vpp-manager clean-vpp |
| 63 | + |
59 | 64 | .PHONY: proto |
60 | 65 | proto: |
61 | 66 | $(MAKE) -C calico-vpp-agent $@ |
@@ -284,22 +289,14 @@ lint: |
284 | 289 | test -d vpp-manager/vpp_build && touch vpp-manager/vpp_build/go.mod || true |
285 | 290 | golangci-lint run --color=never |
286 | 291 |
|
287 | | -.PHONY: test |
288 | | -test: go-lint |
289 | | - rm -rf .coverage/unit |
290 | | - mkdir -p .coverage/unit |
291 | | - go test -cover -covermode=atomic ./... \ |
292 | | - -args \ |
293 | | - -test.gocoverdir=$(shell pwd)/.coverage/unit |
294 | | - |
295 | 292 | .PHONY: cov-html |
296 | 293 | cov-html: |
297 | 294 | go tool covdata percent -i=.coverage/unit |
298 | 295 | go tool covdata textfmt -i=.coverage/unit -o .coverage/profile |
299 | 296 | go tool cover -html=.coverage/profile |
300 | 297 |
|
301 | 298 | .PHONY: cov |
302 | | -cov: test |
| 299 | +cov: |
303 | 300 | go tool covdata percent -i=.coverage/unit |
304 | 301 | @go tool covdata textfmt -i=.coverage/unit -o .coverage/profile |
305 | 302 | @echo "TOTAL:" |
@@ -347,16 +344,55 @@ builder-image: ## Make dependencies image. (Not required normally; is implied in |
347 | 344 | && ${PUSH_IMAGE} ) |
348 | 345 | docker tag ${DEPEND_IMAGE} ${DEPEND_BASE}:latest |
349 | 346 |
|
350 | | -.PHONY: go-check |
351 | | -go-check: builder-image |
352 | | - @echo Checking go code |
| 347 | +# make test - runs the unit & VPP-integration tests |
| 348 | +# requiring sudo, this is useful in dev as this caches go deps. |
| 349 | +# Altought this requires go, sudo installed |
| 350 | +.PHONY: test |
| 351 | +test: builder-image |
| 352 | + @rm -rf $(shell pwd)/.coverage/unit |
| 353 | + @mkdir -p $(shell pwd)/.coverage/unit |
| 354 | + $(MAKE) -C vpp-manager image |
| 355 | + $(MAKE) -C vpp-manager mock-pod-image |
| 356 | + sudo -E env "PATH=$$PATH" VPP_BINARY=/usr/bin/vpp \ |
| 357 | + VPP_IMAGE=calicovpp/vpp:$(TAG) \ |
| 358 | + go test ./... \ |
| 359 | + -cover \ |
| 360 | + -covermode=atomic \ |
| 361 | + -test.v \ |
| 362 | + -test.gocoverdir=$(shell pwd)/.coverage/unit \ |
| 363 | + |
| 364 | +# make ci-test - runs the unit & VPP-integration tests |
| 365 | +# within a container, with mounted /var/run/docker.sock |
| 366 | +# this is portable, but lack go cache |
| 367 | +.PHONY: ci-test |
| 368 | +ci-test: builder-image |
| 369 | + @rm -rf $(shell pwd)/.coverage/unit |
| 370 | + @mkdir -p $(shell pwd)/.coverage/unit |
| 371 | + $(MAKE) -C vpp-manager image |
| 372 | + $(MAKE) -C vpp-manager mock-pod-image |
353 | 373 | docker run -t --rm \ |
| 374 | + --privileged \ |
| 375 | + --pid=host \ |
| 376 | + -v /proc:/proc \ |
354 | 377 | -v $(CURDIR):/vpp-dataplane \ |
| 378 | + -v /tmp/cni-tests-vpp:/tmp/cni-tests-vpp \ |
| 379 | + -v /var/run/docker.sock:/var/run/docker.sock \ |
| 380 | + --env VPP_BINARY=/usr/bin/vpp \ |
| 381 | + --env VPP_IMAGE=calicovpp/vpp:$(TAG) \ |
| 382 | + -w /vpp-dataplane \ |
355 | 383 | ${DEPEND_IMAGE} \ |
356 | | - make -C /vpp-dataplane cov |
357 | | - |
358 | | -.PHONY: go-lint |
359 | | -go-lint: lint |
| 384 | + go test ./... \ |
| 385 | + -cover \ |
| 386 | + -covermode=atomic \ |
| 387 | + -test.v \ |
| 388 | + -test.gocoverdir=/vpp-dataplane/.coverage/unit |
| 389 | + |
| 390 | +.PHONY: ci-% |
| 391 | +ci-%: builder-image |
| 392 | + docker run -t --rm \ |
| 393 | + -v $(CURDIR):/vpp-dataplane \ |
| 394 | + ${DEPEND_IMAGE} \ |
| 395 | + make -C /vpp-dataplane $* |
360 | 396 |
|
361 | 397 | .PHONY: depend-image-hash |
362 | 398 | depend-image-hash: |
|
0 commit comments