mirror of
https://github.com/fnproject/fn.git
synced 2022-10-28 21:29:17 +03:00
* 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
140 lines
4.2 KiB
Makefile
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
|