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