@@ -36,6 +36,9 @@ VERSION_INJECTION += -X $(PACKAGE)/pkg/version.GitCommit=$(GITCOMMIT)
3636LDFLAGS = "-w $(VERSION_INJECTION ) "
3737MIN_MACOS_VERSION ?= 11.0
3838
39+ FINCH_DAEMON_LOCATION_ROOT ?= $(FINCH_OS_IMAGE_LOCATION_ROOT ) /finch-daemon
40+ FINCH_DAEMON_LOCATION ?= $(FINCH_DAEMON_LOCATION_ROOT ) /finch-daemon
41+
3942GOOS ?= $(shell $(GO ) env GOOS)
4043ifeq ($(GOOS ) ,windows)
4144BINARYNAME := $(addsuffix .exe, $(BINARYNAME ) )
7578
7679FINCH_CORE_DIR := $(CURDIR ) /deps/finch-core
7780
78- remote-all : arch-test finch install.finch-core-dependencies finch.yaml networks.yaml config.yaml
81+ remote-all : arch-test finch install.finch-core-dependencies finch.yaml networks.yaml config.yaml $( OUTDIR ) /finch-daemon/finch@.service
7982
8083ifeq ($(BUILD_OS ) , Windows_NT)
8184include Makefile.windows
@@ -168,6 +171,9 @@ finch-all:
168171.PHONY : release
169172release : check-licenses all download-licenses
170173
174+ $(OUTDIR ) /finch-daemon/finch@.service :
175+ cp finch@.service $(OUTDIR ) /finch-daemon/finch@.service
176+
171177.PHONY : coverage
172178coverage :
173179 go test $(shell go list ./... | grep -v e2e | grep -v benchmark | grep -v mocks) -coverprofile=test-coverage.out
@@ -303,6 +309,32 @@ test-e2e-container: create-report-dir
303309test-e2e-vm : create-report-dir
304310 go test -ldflags $(LDFLAGS ) -timeout 2h ./e2e/vm -test.v -ginkgo.v -ginkgo.timeout=2h -ginkgo.flake-attempts=3 -ginkgo.json-report=$(REPORT_DIR ) /$(RUN_ID ) -$(RUN_ATTEMPT ) -e2e-vm-report.json --installed=" $( INSTALLED) " --registry=" $( REGISTRY) "
305311
312+ GINKGO = go run github.com/onsi/ginkgo/v2/ginkgo
313+ # Common ginkgo options: -v for verbose mode, --focus="test name" for running single tests
314+ GFLAGS ?= --race --randomize-all --randomize-suites
315+
316+ ifeq ($(INSTALLED ) ,true)
317+ DAEMON_DOCKER_HOST := "unix:///Applications/Finch/lima/data/finch/sock/finch.sock"
318+ else
319+ DAEMON_DOCKER_HOST := "unix://$(OUTDIR ) /lima/data/finch/sock/finch.sock"
320+ endif
321+
322+ .PHONY : test-e2e-daemon
323+ test-e2e-daemon :
324+ -@$(OUTDIR ) /bin/$(BINARYNAME ) vm stop -f || true
325+ -@$(OUTDIR ) /bin/$(BINARYNAME ) vm remove -f
326+ -@$(OUTDIR ) /bin/$(BINARYNAME ) vm init
327+
328+ cd $(FINCH_CORE_DIR)/src/finch-daemon && \
329+ STATIC=1 GOOS=linux GOARCH=$(GOARCH) make && \
330+ DOCKER_HOST=$(DAEMON_DOCKER_HOST) \
331+ DOCKER_API_VERSION="v1.41" \
332+ TEST_E2E=1 \
333+ go test ./e2e -test.v -ginkgo.v -ginkgo.randomize-all -ginkgo.json-report=$(REPORT_DIR)/$(RUN_ID)-$(RUN_ATTEMPT)-e2e-daemon-report.json \
334+ --subject="$(OUTDIR)/bin/$(BINARYNAME)" \
335+ --daemon-context-subject-prefix="$(OUTDIR)/lima/bin/limactl shell finch sudo" \
336+ --daemon-context-subject-env="LIMA_HOME=$(OUTDIR)/lima/data"
337+
306338.PHONY : test-benchmark
307339test-benchmark :
308340 cd benchmark/all && go test -ldflags $(LDFLAGS ) -bench=. -benchmem --installed=" $( INSTALLED) "
0 commit comments