2021-04-25 10:21:04 -04:00
|
|
|
# Calculate version
|
|
|
|
version = $(shell ./scripts/version-at-commit.sh)
|
|
|
|
|
2021-11-13 03:39:20 -05:00
|
|
|
rwildcard=$(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2) $(filter $(subst *,%,$2),$d))
|
|
|
|
|
|
|
|
# GO_SOURCES = $(wildcard *.go)
|
|
|
|
# PROTO_SOURCES = $(wildcard **/*.proto)
|
|
|
|
GO_SOURCES = $(call rwildcard,,*.go)
|
|
|
|
PROTO_SOURCES = $(call rwildcard,,*.proto)
|
|
|
|
|
|
|
|
|
2021-10-27 02:48:30 -04:00
|
|
|
build:
|
2021-09-27 10:26:18 -04:00
|
|
|
go build -ldflags "-s -w -X github.com/juanfont/headscale/cmd/headscale/cli.Version=$(version)" cmd/headscale/headscale.go
|
2021-04-25 10:21:04 -04:00
|
|
|
|
|
|
|
dev: lint test build
|
|
|
|
|
|
|
|
test:
|
2021-04-25 11:24:42 -04:00
|
|
|
@go test -coverprofile=coverage.out ./...
|
2021-04-25 10:21:04 -04:00
|
|
|
|
2021-08-08 12:50:32 -04:00
|
|
|
test_integration:
|
2021-08-12 02:36:38 -04:00
|
|
|
go test -tags integration -timeout 30m ./...
|
2021-08-08 12:50:32 -04:00
|
|
|
|
2021-04-25 10:21:04 -04:00
|
|
|
coverprofile_func:
|
|
|
|
go tool cover -func=coverage.out
|
|
|
|
|
|
|
|
coverprofile_html:
|
|
|
|
go tool cover -html=coverage.out
|
|
|
|
|
|
|
|
lint:
|
2021-11-13 03:39:20 -05:00
|
|
|
golangci-lint run --fix --timeout 10m
|
|
|
|
|
|
|
|
fmt:
|
|
|
|
prettier --check '**/**.{ts,js,md,yaml,yml,sass,css,scss,html}'
|
|
|
|
golines --max-len=88 --base-formatter=gofumpt -w $(GO_SOURCES)
|
|
|
|
clang-format -style="{BasedOnStyle: Google, IndentWidth: 4, AlignConsecutiveDeclarations: true, AlignConsecutiveAssignments: true, ColumnLimit: 0}" -i $(PROTO_SOURCES)
|
2021-04-25 10:21:04 -04:00
|
|
|
|
2021-10-29 12:42:56 -04:00
|
|
|
proto-lint:
|
|
|
|
cd proto/ && buf lint
|
|
|
|
|
2021-04-25 10:21:04 -04:00
|
|
|
compress: build
|
2021-05-02 14:47:36 -04:00
|
|
|
upx --brute headscale
|
2021-04-25 10:21:04 -04:00
|
|
|
|
2021-10-26 16:53:10 -04:00
|
|
|
generate:
|
|
|
|
rm -rf gen
|
|
|
|
buf generate proto
|
2021-10-27 02:40:39 -04:00
|
|
|
|
|
|
|
install-protobuf-plugins:
|
|
|
|
go install \
|
|
|
|
github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-grpc-gateway \
|
|
|
|
github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2 \
|
|
|
|
google.golang.org/protobuf/cmd/protoc-gen-go \
|
|
|
|
google.golang.org/grpc/cmd/protoc-gen-go-grpc
|