2020-01-13 20:32:48 +00:00
|
|
|
.PHONY: all build clean clean-package compress dev docs generate generate-k8s generate-provider mocks package release test tools
|
2019-08-16 19:49:19 +00:00
|
|
|
|
2019-08-21 16:41:07 +00:00
|
|
|
commands = api atom build router
|
2019-08-16 19:49:19 +00:00
|
|
|
|
|
|
|
|
binaries = $(addprefix $(GOPATH)/bin/, $(commands))
|
|
|
|
|
sources = $(shell find . -name '*.go')
|
|
|
|
|
|
|
|
|
|
all: build
|
|
|
|
|
|
|
|
|
|
build: $(binaries)
|
|
|
|
|
|
|
|
|
|
clean: clean-package
|
|
|
|
|
|
|
|
|
|
clean-package:
|
|
|
|
|
find . -name '*-packr.go' -delete
|
|
|
|
|
|
|
|
|
|
compress: $(binaries)
|
|
|
|
|
upx-ucl -1 $^
|
|
|
|
|
|
2019-11-06 15:22:43 +00:00
|
|
|
dev:
|
|
|
|
|
test -n "$(RACK)" # RACK
|
|
|
|
|
docker build -t convox/convox:master .
|
|
|
|
|
docker push convox/convox:master
|
|
|
|
|
kubectl rollout restart deployment/api -n $(RACK)-system
|
2019-12-06 14:27:19 +00:00
|
|
|
kubectl rollout restart deployment/atom -n $(RACK)-system
|
|
|
|
|
kubectl rollout restart deployment/router -n $(RACK)-system
|
2019-11-06 15:22:43 +00:00
|
|
|
kubectl rollout status deployment/api -n $(RACK)-system
|
2019-12-06 14:27:19 +00:00
|
|
|
kubectl rollout status deployment/atom -n $(RACK)-system
|
|
|
|
|
kubectl rollout status deployment/router -n $(RACK)-system
|
2019-11-06 15:22:43 +00:00
|
|
|
|
2020-01-13 20:32:48 +00:00
|
|
|
docs:
|
|
|
|
|
test -n "$(VERSION)" # VERSION
|
|
|
|
|
aws s3 sync docs/ s3://convox-docs/$(VERSION) --delete
|
|
|
|
|
|
2019-11-05 16:03:42 +00:00
|
|
|
generate: generate-provider generate-k8s
|
|
|
|
|
|
|
|
|
|
generate-k8s:
|
|
|
|
|
make -C pkg/atom generate
|
|
|
|
|
make -C provider/k8s generate
|
|
|
|
|
|
|
|
|
|
generate-provider:
|
2019-10-10 21:15:22 +00:00
|
|
|
go run cmd/generate/main.go controllers > pkg/api/controllers.go
|
|
|
|
|
go run cmd/generate/main.go routes > pkg/api/routes.go
|
|
|
|
|
go run cmd/generate/main.go sdk > sdk/methods.go
|
|
|
|
|
|
2019-11-05 16:03:42 +00:00
|
|
|
mocks: generate-provider
|
2019-10-10 21:15:22 +00:00
|
|
|
make -C pkg/atom mocks
|
|
|
|
|
make -C pkg/structs mocks
|
2019-11-15 20:40:33 +00:00
|
|
|
go run vendor/github.com/vektra/mockery/cmd/mockery/mockery.go -case underscore -dir pkg/start -outpkg sdk -output pkg/mock/start -name Interface
|
|
|
|
|
go run vendor/github.com/vektra/mockery/cmd/mockery/mockery.go -case underscore -dir sdk -outpkg sdk -output pkg/mock/sdk -name Interface
|
|
|
|
|
go run vendor/github.com/vektra/mockery/cmd/mockery/mockery.go -case underscore -dir vendor/github.com/convox/stdcli -outpkg stdcli -output pkg/mock/stdcli -name Executor
|
2019-10-10 21:15:22 +00:00
|
|
|
|
2019-08-16 19:49:19 +00:00
|
|
|
package:
|
|
|
|
|
$(GOPATH)/bin/packr
|
|
|
|
|
|
|
|
|
|
release:
|
2019-11-06 15:22:43 +00:00
|
|
|
test -n "$(VERSION)" # VERSION
|
|
|
|
|
git tag $(VERSION) -m $(VERSION)
|
2019-11-21 00:45:34 +00:00
|
|
|
git push origin refs/tags/$(VERSION)
|
2019-08-16 19:49:19 +00:00
|
|
|
|
|
|
|
|
test:
|
2019-11-21 00:25:27 +00:00
|
|
|
env TEST=true go test -covermode atomic -coverprofile coverage.txt -mod=vendor ./...
|
2019-08-16 19:49:19 +00:00
|
|
|
|
2019-12-19 15:56:37 +00:00
|
|
|
tools:
|
|
|
|
|
go install -mod=vendor ./vendor/github.com/karalabe/xgo
|
|
|
|
|
|
2019-08-16 19:49:19 +00:00
|
|
|
$(binaries): $(GOPATH)/bin/%: $(sources)
|
|
|
|
|
go install -mod=vendor --ldflags="-s -w" ./cmd/$*
|