.PHONY: default pr all default: check-deps test pr: check-deps test-pr # TODO: should have a separate target all: check-deps test-pr ltp MOBY:=$(shell command -v moby 2> /dev/null) LINUXKIT:=$(shell command -v linuxkit 2> /dev/null) RTF:=$(shell command -v rtf 2> /dev/null) .PHONY: check-deps check-deps: ifndef MOBY $(error "moby is not available. please install it.") endif ifndef LINUXKIT $(error "linuxkit binary not found. please install it.") endif ifndef RTF $(error "rtf is not available. please install it!") endif # TODO: Remove this section once we no longer depend on this in CI ### ------- # Currently the linuxkit-ci runs GCP tests outside of rtf and expects some # files in ../artifacts. This hacky target puts them there until # the CI can use rtf for running GCP tests gcp-hack: ../artifacts/test.img.tar.gz ../artifacts/test.img.tar.gz: rm -rf ../artifacts mkdir -p ../artifacts $(MOBY) build -output gcp-img -pull -name ../artifacts/test hack/test.yml define check_test_log @cat $1 |grep -q 'test suite PASSED' endef .PHONY: ltp ltp: export CLOUDSDK_IMAGE_NAME?=test-ltp ltp: $(LINUXKIT) test-ltp.img.tar.gz $(MOBY) build -output gcp-img -pull hack/test-ltp.yml $(LINUXKIT) push gcp test-ltp.img.tar.gz $(LINUXKIT) run gcp -skip-cleanup -machine n1-highcpu-4 $(CLOUDSDK_IMAGE_NAME) | tee test-ltp.log $(call check_test_log, test-ltp.log) ### ------ test: gcp-hack @rtf -l build -x run test-pr: gcp-hack @rtf -l build -x run