Files
fn-serverless/Makefile
Tolga Ceylan fdf5a67f6f fn: error image is now deprecated (#737)
Please use fn-test-utils instead for testing.
2018-02-05 11:12:27 -08:00

109 lines
2.7 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 fnproject/fnlb; 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
build-static:
go install
full-test: build-static test test-api
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
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