mirror of
https://github.com/fnproject/fn.git
synced 2022-10-28 21:29:17 +03:00
This speeded up tests before go 1.10 improvements, but also clashed with fn cli tool, which gets installed as 'fn'.
116 lines
3.0 KiB
Makefile
116 lines
3.0 KiB
Makefile
# Just builds
|
|
.PHONY: all test dep build test-log-datastore checkfmt pull-images api-test fn-test-utils test-middleware test-extensions test-basic test-api
|
|
|
|
dep:
|
|
dep ensure --vendor-only
|
|
|
|
dep-up:
|
|
dep ensure
|
|
|
|
build:
|
|
go build -o fnserver
|
|
|
|
install:
|
|
go build -o ${GOPATH}/bin/fnserver
|
|
|
|
checkfmt:
|
|
./go-fmt.sh
|
|
|
|
clear-images:
|
|
-docker images -q -f dangling=true | xargs docker rmi -f
|
|
for i in fnproject/fn-test-utils fnproject/hello fnproject/dind fnproject/fnserver ; do \
|
|
docker images "$$i" --format '{{ .ID }}\t{{ .Repository }}\t{{ .Tag}}' | while read id repo tag; do \
|
|
if [ "$$tag" = "<none>" ]; then docker rmi "$$id"; else docker rmi "$$repo:$$tag"; fi; done; done
|
|
|
|
release-fnserver:
|
|
./release.sh
|
|
|
|
build-dind:
|
|
(cd images/dind && ./build.sh)
|
|
|
|
release-dind:
|
|
(cd images/dind && ./release.sh)
|
|
|
|
fn-test-utils: checkfmt
|
|
cd images/fn-test-utils && ./build.sh
|
|
|
|
test-middleware: test-basic
|
|
cd examples/middleware && go build
|
|
|
|
test-extensions: test-basic
|
|
cd examples/extensions && go build
|
|
|
|
test-basic: checkfmt pull-images fn-test-utils
|
|
./test.sh
|
|
|
|
test: checkfmt pull-images test-basic test-middleware test-extensions
|
|
|
|
test-api: test-basic
|
|
./api_test.sh sqlite3 4
|
|
./api_test.sh mysql 4 0
|
|
./api_test.sh postgres 4 0
|
|
|
|
test-system: test-basic
|
|
./system_test.sh sqlite3 4
|
|
./system_test.sh mysql 4 0
|
|
./system_test.sh postgres 4 0
|
|
|
|
full-test: test test-api test-system
|
|
|
|
img-hello:
|
|
docker pull fnproject/hello
|
|
img-mysql:
|
|
docker pull mysql
|
|
img-postgres:
|
|
docker pull postgres:9.3-alpine
|
|
img-minio:
|
|
docker pull minio/minio
|
|
|
|
pull-images: img-hello img-mysql img-postgres img-minio
|
|
|
|
test-datastore:
|
|
cd api/datastore && go test -v ./...
|
|
|
|
test-log-datastore:
|
|
cd api/logs && go test -v ./...
|
|
|
|
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
|
|
|
|
protos: api/agent/grpc/runner.pb.go poolmanager/grpc/poolmanager.pb.go
|
|
|
|
%.pb.go: %.proto
|
|
protoc --proto_path=$(@D) --proto_path=./vendor \
|
|
--go_out=plugins=grpc:$(@D) $<
|
|
|
|
run: build
|
|
GIN_MODE=debug ./fnserver
|
|
|
|
docker-build:
|
|
docker build --build-arg HTTPS_PROXY --build-arg HTTP_PROXY -t fnproject/fnserver:latest .
|
|
|
|
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
|
|
|
|
docker-test-run-with-sqlite3:
|
|
./api_test.sh sqlite3 4
|
|
|
|
docker-test-run-with-mysql:
|
|
./api_test.sh mysql 4
|
|
|
|
docker-test-run-with-postgres:
|
|
./api_test.sh postgres 4
|
|
|
|
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 GOPATH=/go golang:alpine sh -c 'go list ./... | grep -v vendor | grep -v examples | grep -v tool | grep -v fn')
|
|
|
|
all: dep build
|