1
0
mirror of https://github.com/juanfont/headscale.git synced 2024-12-20 19:09:07 +01:00
juanfont.headscale/Makefile

59 lines
1.8 KiB
Makefile
Raw Permalink Normal View History

# Calculate version
version = $(git describe --always --tags --dirty)
2021-11-13 09:39:20 +01: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)
build:
2022-04-11 14:56:11 +02:00
CGO_ENABLED=0 go build -trimpath -buildmode=pie -mod=readonly -ldflags "-s -w -X github.com/juanfont/headscale/cmd/headscale/cli.Version=$(version)" cmd/headscale/headscale.go
dev: lint test build
test:
2021-04-25 17:24:42 +02:00
@go test -coverprofile=coverage.out ./...
test_integration:
2022-02-24 12:28:34 +01:00
go test -failfast -tags integration -timeout 30m -count=1 ./...
test_integration_cli:
go test -tags integration -v integration_cli_test.go integration_common_test.go
test_integration_derp:
go test -tags integration -v integration_embedded_derp_test.go integration_common_test.go
coverprofile_func:
go tool cover -func=coverage.out
coverprofile_html:
go tool cover -html=coverage.out
lint:
2021-11-13 09:39:20 +01:00
golangci-lint run --fix --timeout 10m
fmt:
2021-11-13 10:20:51 +01:00
prettier --write '**/**.{ts,js,md,yaml,yml,sass,css,scss,html}'
2021-11-13 09:39:20 +01:00
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-10-29 18:42:56 +02:00
proto-lint:
cd proto/ && go run github.com/bufbuild/buf/cmd/buf lint
2021-10-29 18:42:56 +02:00
compress: build
upx --brute headscale
generate:
rm -rf gen
go run github.com/bufbuild/buf/cmd/buf generate proto
2021-10-27 08:40:39 +02: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