Files
fn-serverless/Makefile
Eric Fode 8de5aef09d go modifyed (#1284)
* go modified

fiddling with vendor

got rid of the vendor directory

revendored but with the exact same versions of things

maybe better

added mods for the images

revendored

using `GOFLAGS` instead of repeating my self

vendor everything to the exact same commit hash as before

and fixed ugorji

Delete Deproxy.toml

empty file

cleaned up some file

cleaned up some cruft

get rid of some unused packages and exclude some Microsoft packages

added flags to the variables that get pushed into docker in the makefile

It works I suppose

added noop

excluded what we did not want

even less hacky

reverted to a version that has not been mangled

* get rid of my experiment
2018-11-07 11:10:22 -08:00

140 lines
4.2 KiB
Makefile

export GO111MODULE=on
export GOFLAGS=-mod=vendor
# Just builds
.PHONY: mod
dep:
go mod vendor -v
.PHONY: mod-up
dep-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 ; 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
.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: test-middleware
test-middleware: test-basic
cd examples/middleware && go build
.PHONY: test-extensions
test-extensions: test-basic
cd examples/extensions && go build
.PHONY: test-basic
test-basic: checkfmt pull-images fn-test-utils fn-status-checker
./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: img-minio
img-minio:
/bin/bash -c "source ./helpers.sh && docker_pull_minio"
.PHONY: pull-images
pull-images: img-mysql img-postgres img-minio img-busybox
.PHONY: test-datastore
test-datastore:
cd api/datastore && go test ./...
.PHONY: test-log-datastore
test-log-datastore:
cd api/logs && 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