# Just builds .PHONY: mod mod: GO111MODULE=on GOFLAGS=-mod=vendor go mod vendor -v .PHONY: mod-up mod-up: go get -u .PHONY: build build: go build -o fnserver ./cmd/fnserver .PHONY: generate generate: api/agent/grpc/runner.pb.go .PHONY: install install: go build -o ${GOPATH}/bin/fnserver ./cmd/fnserver .PHONY: checkfmt checkfmt: ./go-fmt.sh .PHONY: clear-images clear-images: -docker images -q -f dangling=true | xargs docker rmi -f for i in fnproject/fn-test-utils fnproject/fn-status-checker fnproject/dind fnproject/fnserver fnproject/fn-test-volume ; do \ docker images "$$i" --format '{{ .ID }}\t{{ .Repository }}\t{{ .Tag}}' | while read id repo tag; do \ if [ "$$tag" = "" ]; then docker rmi "$$id"; else docker rmi "$$repo:$$tag"; fi; done; done .PHONY: release-fnserver release-fnserver: ./release.sh .PHONY: build-dind build-dind: (cd images/dind && ./build.sh) .PHONY: release-dind release-dind: (cd images/dind && ./release.sh) .PHONY: fn-status-checker fn-status-checker: checkfmt cd images/fn-status-checker && ./build.sh .PHONY: fn-test-utils fn-test-utils: checkfmt cd images/fn-test-utils && ./build.sh .PHONY: fn-test-volume fn-test-volume: cd images/fn-test-volume && ./build.sh .PHONY: test-middleware test-middleware: cd examples/middleware && go build .PHONY: test-extensions test-extensions: cd examples/extensions && go build .PHONY: test-basic test-basic: checkfmt pull-images fn-test-utils fn-status-checker fn-test-volume ./test.sh .PHONY: test test: checkfmt pull-images test-basic test-middleware test-extensions test-system .PHONY: test-system test-system: ./system_test.sh sqlite3 ./system_test.sh mysql ./system_test.sh postgres .PHONY: img-busybox img-busybox: docker pull busybox .PHONY: img-mysql img-mysql: /bin/bash -c "source ./helpers.sh && docker_pull_mysql" .PHONY: img-postgres img-postgres: /bin/bash -c "source ./helpers.sh && docker_pull_postgres" .PHONY: pull-images pull-images: img-mysql img-postgres img-busybox .PHONY: test-datastore test-datastore: cd api/datastore && go test ./... .PHONY: test-build-arm test-build-arm: GOARCH=arm GOARM=5 $(MAKE) build GOARCH=arm GOARM=6 $(MAKE) build GOARCH=arm GOARM=7 $(MAKE) build GOARCH=arm64 $(MAKE) build %.pb.go: %.proto protoc --proto_path=$(@D) --proto_path=./vendor --go_out=plugins=grpc:$(@D) $< .PHONY: run run: build GIN_MODE=debug ./fnserver .PHONY: docker-build docker-build: docker build --build-arg HTTPS_PROXY --build-arg HTTP_PROXY -t fnproject/fnserver:latest . .PHONY: docker-run docker-run: docker-build docker run --rm --privileged -it -e NO_PROXY -e HTTP_PROXY -e FN_LOG_LEVEL=debug -e "FN_DB_URL=sqlite3:///app/data/fn.db" -v ${CURDIR}/data:/app/data -p 8080:8080 fnproject/fnserver .PHONY: docker-test docker-test: docker run -ti --privileged --rm -e FN_LOG_LEVEL=debug \ -v /var/run/docker.sock:/var/run/docker.sock \ -v ${CURDIR}:/go/src/github.com/fnproject/fn \ -w /go/src/github.com/fnproject/fn \ fnproject/go:dev go test \ -v $(shell docker run --rm -ti -v ${CURDIR}:/go/src/github.com/fnproject/fn -w /go/src/github.com/fnproject/fn -e GOFLAGS -e GO111MODULE -e GOPATH=/go golang:alpine sh -c 'go list ./... | \ grep -v vendor | \ grep -v examples | \ grep -v test/fn-api-tests | \ grep -v test/fn-system-tests | \ grep -v images/fn-test-utils') .PHONY: all all: mod generate build