2019-05-22 23:16:55 +02:00
PKG_PREFIX := github.com/VictoriaMetrics/VictoriaMetrics
2021-04-10 14:46:53 +02:00
DATEINFO_TAG ?= $( shell date -u +'%Y%m%d-%H%M%S' )
2019-05-22 23:16:55 +02:00
BUILDINFO_TAG ?= $( shell echo $$ ( git describe --long --all | tr '/' '-' ) $$ ( \
2022-12-01 16:09:36 +01:00
git diff-index --quiet HEAD -- || echo '-dirty-' $$ ( git diff-index -u HEAD | openssl sha1 | cut -d' ' -f2 | cut -c 1-8) ) )
2022-12-17 01:46:24 +01:00
LATEST_TAG ?= latest
2019-05-22 23:16:55 +02:00
PKG_TAG ?= $( shell git tag -l --points-at HEAD)
i f e q ( $( PKG_TAG ) , )
PKG_TAG := $( BUILDINFO_TAG)
e n d i f
2021-04-10 14:46:53 +02:00
GO_BUILDINFO = -X '$(PKG_PREFIX)/lib/buildinfo.Version=$(APP_NAME)-$(DATEINFO_TAG)-$(BUILDINFO_TAG)'
2019-05-22 23:16:55 +02:00
2020-12-18 11:20:01 +01:00
.PHONY : $( MAKECMDGOALS )
2022-07-13 15:44:39 +02:00
i n c l u d e a p p / * / M a k e f i l e
i n c l u d e d e p l o y m e n t / * / M a k e f i l e
2023-08-29 11:06:55 +02:00
i n c l u d e d a s h b o a r d s / M a k e f i l e
2022-07-13 15:44:39 +02:00
i n c l u d e s n a p / l o c a l / M a k e f i l e
2022-08-31 01:27:24 +02:00
i n c l u d e p a c k a g e / r e l e a s e / M a k e f i l e
2022-07-13 15:44:39 +02:00
2019-05-22 23:16:55 +02:00
all : \
2020-02-23 12:35:47 +01:00
victoria-metrics-prod \
2023-06-20 07:55:12 +02:00
victoria-logs-prod \
2020-02-23 12:35:47 +01:00
vmagent-prod \
2020-05-05 09:53:42 +02:00
vmalert-prod \
vmauth-prod \
2020-02-23 12:35:47 +01:00
vmbackup-prod \
2021-02-01 00:10:16 +01:00
vmrestore-prod \
vmctl-prod
2019-05-22 23:16:55 +02:00
clean :
rm -rf bin/*
2023-06-30 13:45:45 +02:00
publish : package -base \
2019-11-07 20:05:39 +01:00
publish-victoria-metrics \
2020-02-23 12:35:47 +01:00
publish-vmagent \
2020-04-27 23:09:35 +02:00
publish-vmalert \
2020-05-05 09:53:42 +02:00
publish-vmauth \
2019-11-07 20:05:39 +01:00
publish-vmbackup \
2021-02-01 00:10:16 +01:00
publish-vmrestore \
publish-vmctl
2019-05-24 12:19:24 +02:00
2019-11-07 20:05:39 +01:00
package : \
package-victoria-metrics \
2023-06-20 07:55:12 +02:00
package-victoria-logs \
2020-02-23 12:35:47 +01:00
package-vmagent \
2020-04-27 23:09:35 +02:00
package-vmalert \
2020-05-05 09:53:42 +02:00
package-vmauth \
2019-11-07 20:05:39 +01:00
package-vmbackup \
2021-02-01 00:10:16 +01:00
package-vmrestore \
package-vmctl
2019-05-24 12:19:24 +02:00
2019-11-07 20:05:39 +01:00
vmutils : \
2020-02-23 12:35:47 +01:00
vmagent \
2020-04-27 23:09:35 +02:00
vmalert \
2020-05-05 09:53:42 +02:00
vmauth \
2019-11-07 20:05:39 +01:00
vmbackup \
2021-02-01 00:10:16 +01:00
vmrestore \
vmctl
2019-11-07 20:05:39 +01:00
2021-03-31 16:42:08 +02:00
vmutils-pure : \
vmagent-pure \
vmalert-pure \
vmauth-pure \
vmbackup-pure \
vmrestore-pure \
vmctl-pure
2022-07-13 15:44:39 +02:00
vmutils-linux-amd64 : \
vmagent-linux-amd64 \
vmalert-linux-amd64 \
vmauth-linux-amd64 \
vmbackup-linux-amd64 \
vmrestore-linux-amd64 \
vmctl-linux-amd64
vmutils-linux-arm64 : \
vmagent-linux-arm64 \
vmalert-linux-arm64 \
vmauth-linux-arm64 \
vmbackup-linux-arm64 \
vmrestore-linux-arm64 \
vmctl-linux-arm64
vmutils-linux-arm : \
vmagent-linux-arm \
vmalert-linux-arm \
vmauth-linux-arm \
vmbackup-linux-arm \
vmrestore-linux-arm \
vmctl-linux-arm
vmutils-linux-386 : \
vmagent-linux-386 \
vmalert-linux-386 \
vmauth-linux-386 \
vmbackup-linux-386 \
vmrestore-linux-386 \
vmctl-linux-386
vmutils-linux-ppc64le : \
vmagent-linux-ppc64le \
vmalert-linux-ppc64le \
vmauth-linux-ppc64le \
vmbackup-linux-ppc64le \
vmrestore-linux-ppc64le \
vmctl-linux-ppc64le
vmutils-darwin-amd64 : \
vmagent-darwin-amd64 \
vmalert-darwin-amd64 \
vmauth-darwin-amd64 \
vmbackup-darwin-amd64 \
vmrestore-darwin-amd64 \
vmctl-darwin-amd64
vmutils-darwin-arm64 : \
vmagent-darwin-arm64 \
vmalert-darwin-arm64 \
vmauth-darwin-arm64 \
vmbackup-darwin-arm64 \
vmrestore-darwin-arm64 \
vmctl-darwin-arm64
vmutils-freebsd-amd64 : \
vmagent-freebsd-amd64 \
vmalert-freebsd-amd64 \
vmauth-freebsd-amd64 \
vmbackup-freebsd-amd64 \
vmrestore-freebsd-amd64 \
vmctl-freebsd-amd64
vmutils-openbsd-amd64 : \
vmagent-openbsd-amd64 \
vmalert-openbsd-amd64 \
vmauth-openbsd-amd64 \
vmbackup-openbsd-amd64 \
vmrestore-openbsd-amd64 \
vmctl-openbsd-amd64
2021-03-29 22:13:00 +02:00
2021-03-16 19:49:07 +01:00
vmutils-windows-amd64 : \
vmagent-windows-amd64 \
vmalert-windows-amd64 \
vmauth-windows-amd64 \
2023-03-25 23:08:12 +01:00
vmbackup-windows-amd64 \
vmrestore-windows-amd64 \
2021-03-16 19:49:07 +01:00
vmctl-windows-amd64
2022-07-13 15:44:39 +02:00
victoria-metrics-crossbuild : \
2023-01-31 21:58:53 +01:00
victoria-metrics-linux-386 \
2022-07-13 15:44:39 +02:00
victoria-metrics-linux-amd64 \
victoria-metrics-linux-arm64 \
victoria-metrics-linux-arm \
victoria-metrics-linux-386 \
victoria-metrics-linux-ppc64le \
victoria-metrics-darwin-amd64 \
victoria-metrics-darwin-arm64 \
victoria-metrics-freebsd-amd64 \
victoria-metrics-openbsd-amd64
vmutils-crossbuild : \
2023-01-31 21:58:53 +01:00
vmutils-linux-386 \
2022-07-13 15:44:39 +02:00
vmutils-linux-amd64 \
vmutils-linux-arm64 \
vmutils-linux-arm \
vmutils-linux-386 \
vmutils-linux-ppc64le \
vmutils-darwin-amd64 \
vmutils-darwin-arm64 \
vmutils-freebsd-amd64 \
vmutils-openbsd-amd64 \
vmutils-windows-amd64
2020-12-29 10:43:09 +01:00
2021-11-08 11:29:10 +01:00
publish-release :
2023-08-29 13:10:27 +02:00
rm -rf bin/*
2022-12-20 21:27:04 +01:00
git checkout $( TAG) && LATEST_TAG = stable $( MAKE) release publish && \
git checkout $( TAG) -cluster && LATEST_TAG = cluster-stable $( MAKE) release publish && \
git checkout $( TAG) -enterprise && LATEST_TAG = enterprise-stable $( MAKE) release publish && \
git checkout $( TAG) -enterprise-cluster && LATEST_TAG = enterprise-cluster-stable $( MAKE) release publish
2021-11-08 11:29:10 +01:00
2019-11-07 20:05:39 +01:00
release : \
release-victoria-metrics \
release-vmutils
2021-01-13 17:13:18 +01:00
release-victoria-metrics : \
2023-01-31 21:58:53 +01:00
release-victoria-metrics-linux-386 \
2022-07-13 14:42:48 +02:00
release-victoria-metrics-linux-amd64 \
release-victoria-metrics-linux-arm \
release-victoria-metrics-linux-arm64 \
2022-02-14 16:28:56 +01:00
release-victoria-metrics-darwin-amd64 \
2022-07-13 15:44:39 +02:00
release-victoria-metrics-darwin-arm64 \
release-victoria-metrics-freebsd-amd64 \
2023-03-19 09:36:05 +01:00
release-victoria-metrics-openbsd-amd64 \
release-victoria-metrics-windows-amd64
2021-01-13 17:13:18 +01:00
2023-01-31 21:58:53 +01:00
release-victoria-metrics-linux-386 :
GOOS = linux GOARCH = 386 $( MAKE) release-victoria-metrics-goos-goarch
2022-07-13 14:42:48 +02:00
release-victoria-metrics-linux-amd64 :
2022-07-13 15:44:39 +02:00
GOOS = linux GOARCH = amd64 $( MAKE) release-victoria-metrics-goos-goarch
2022-02-14 16:28:56 +01:00
2022-07-13 14:42:48 +02:00
release-victoria-metrics-linux-arm :
2022-07-13 15:44:39 +02:00
GOOS = linux GOARCH = arm $( MAKE) release-victoria-metrics-goos-goarch
2022-07-13 14:42:48 +02:00
release-victoria-metrics-linux-arm64 :
2022-07-13 15:44:39 +02:00
GOOS = linux GOARCH = arm64 $( MAKE) release-victoria-metrics-goos-goarch
release-victoria-metrics-darwin-amd64 :
GOOS = darwin GOARCH = amd64 $( MAKE) release-victoria-metrics-goos-goarch
2022-07-13 14:42:48 +02:00
2022-02-14 16:28:56 +01:00
release-victoria-metrics-darwin-arm64 :
2022-07-13 15:44:39 +02:00
GOOS = darwin GOARCH = arm64 $( MAKE) release-victoria-metrics-goos-goarch
release-victoria-metrics-freebsd-amd64 :
GOOS = freebsd GOARCH = amd64 $( MAKE) release-victoria-metrics-goos-goarch
2022-02-14 16:28:56 +01:00
2022-07-13 15:44:39 +02:00
release-victoria-metrics-openbsd-amd64 :
GOOS = openbsd GOARCH = amd64 $( MAKE) release-victoria-metrics-goos-goarch
2023-03-19 09:36:05 +01:00
release-victoria-metrics-windows-amd64 :
GOARCH = amd64 $( MAKE) release-victoria-metrics-windows-goarch
2022-07-13 15:44:39 +02:00
release-victoria-metrics-goos-goarch : victoria -metrics -$( GOOS ) -$( GOARCH ) -prod
2021-01-13 17:13:18 +01:00
cd bin && \
2022-07-13 15:44:39 +02:00
tar --transform= " flags=r;s|- $( GOOS) - $( GOARCH) || " -czf victoria-metrics-$( GOOS) -$( GOARCH) -$( PKG_TAG) .tar.gz \
victoria-metrics-$( GOOS) -$( GOARCH) -prod \
&& sha256sum victoria-metrics-$( GOOS) -$( GOARCH) -$( PKG_TAG) .tar.gz \
victoria-metrics-$( GOOS) -$( GOARCH) -prod \
| sed s/-$( GOOS) -$( GOARCH) -prod/-prod/ > victoria-metrics-$( GOOS) -$( GOARCH) -$( PKG_TAG) _checksums.txt
cd bin && rm -rf victoria-metrics-$( GOOS) -$( GOARCH) -prod
2019-05-22 23:16:55 +02:00
2023-03-19 09:36:05 +01:00
release-victoria-metrics-windows-goarch : victoria -metrics -windows -$( GOARCH ) -prod
cd bin && \
zip victoria-metrics-windows-$( GOARCH) -$( PKG_TAG) .zip \
victoria-metrics-windows-$( GOARCH) -prod.exe \
&& sha256sum victoria-metrics-windows-$( GOARCH) -$( PKG_TAG) .zip \
victoria-metrics-windows-$( GOARCH) -prod.exe \
> victoria-metrics-windows-$( GOARCH) -$( PKG_TAG) _checksums.txt
cd bin && rm -rf \
victoria-metrics-windows-$( GOARCH) -prod.exe
2023-06-20 07:55:12 +02:00
release-victoria-logs : \
release-victoria-logs-linux-386 \
release-victoria-logs-linux-amd64 \
release-victoria-logs-linux-arm \
release-victoria-logs-linux-arm64 \
release-victoria-logs-darwin-amd64 \
release-victoria-logs-darwin-arm64 \
release-victoria-logs-freebsd-amd64 \
release-victoria-logs-openbsd-amd64 \
release-victoria-logs-windows-amd64
release-victoria-logs-linux-386 :
GOOS = linux GOARCH = 386 $( MAKE) release-victoria-logs-goos-goarch
release-victoria-logs-linux-amd64 :
GOOS = linux GOARCH = amd64 $( MAKE) release-victoria-logs-goos-goarch
release-victoria-logs-linux-arm :
GOOS = linux GOARCH = arm $( MAKE) release-victoria-logs-goos-goarch
release-victoria-logs-linux-arm64 :
GOOS = linux GOARCH = arm64 $( MAKE) release-victoria-logs-goos-goarch
release-victoria-logs-darwin-amd64 :
GOOS = darwin GOARCH = amd64 $( MAKE) release-victoria-logs-goos-goarch
release-victoria-logs-darwin-arm64 :
GOOS = darwin GOARCH = arm64 $( MAKE) release-victoria-logs-goos-goarch
release-victoria-logs-freebsd-amd64 :
GOOS = freebsd GOARCH = amd64 $( MAKE) release-victoria-logs-goos-goarch
release-victoria-logs-openbsd-amd64 :
GOOS = openbsd GOARCH = amd64 $( MAKE) release-victoria-logs-goos-goarch
release-victoria-logs-windows-amd64 :
GOARCH = amd64 $( MAKE) release-victoria-logs-windows-goarch
release-victoria-logs-goos-goarch : victoria -logs -$( GOOS ) -$( GOARCH ) -prod
cd bin && \
tar --transform= " flags=r;s|- $( GOOS) - $( GOARCH) || " -czf victoria-logs-$( GOOS) -$( GOARCH) -$( PKG_TAG) .tar.gz \
victoria-logs-$( GOOS) -$( GOARCH) -prod \
&& sha256sum victoria-logs-$( GOOS) -$( GOARCH) -$( PKG_TAG) .tar.gz \
victoria-logs-$( GOOS) -$( GOARCH) -prod \
| sed s/-$( GOOS) -$( GOARCH) -prod/-prod/ > victoria-logs-$( GOOS) -$( GOARCH) -$( PKG_TAG) _checksums.txt
cd bin && rm -rf victoria-logs-$( GOOS) -$( GOARCH) -prod
release-victoria-logs-windows-goarch : victoria -logs -windows -$( GOARCH ) -prod
cd bin && \
zip victoria-logs-windows-$( GOARCH) -$( PKG_TAG) .zip \
victoria-logs-windows-$( GOARCH) -prod.exe \
&& sha256sum victoria-logs-windows-$( GOARCH) -$( PKG_TAG) .zip \
victoria-logs-windows-$( GOARCH) -prod.exe \
> victoria-logs-windows-$( GOARCH) -$( PKG_TAG) _checksums.txt
cd bin && rm -rf \
victoria-logs-windows-$( GOARCH) -prod.exe
2019-11-07 20:05:39 +01:00
release-vmutils : \
2023-01-31 21:58:53 +01:00
release-vmutils-linux-386 \
2022-07-13 14:42:48 +02:00
release-vmutils-linux-amd64 \
release-vmutils-linux-arm64 \
2022-07-13 15:44:39 +02:00
release-vmutils-linux-arm \
2022-07-13 14:42:48 +02:00
release-vmutils-darwin-amd64 \
2022-02-14 16:28:56 +01:00
release-vmutils-darwin-arm64 \
2022-07-13 15:44:39 +02:00
release-vmutils-freebsd-amd64 \
release-vmutils-openbsd-amd64 \
2021-03-16 19:49:07 +01:00
release-vmutils-windows-amd64
2021-01-13 17:02:28 +01:00
2023-01-31 21:58:53 +01:00
release-vmutils-linux-386 :
GOOS = linux GOARCH = 386 $( MAKE) release-vmutils-goos-goarch
2022-07-13 14:42:48 +02:00
release-vmutils-linux-amd64 :
2022-07-13 15:44:39 +02:00
GOOS = linux GOARCH = amd64 $( MAKE) release-vmutils-goos-goarch
2022-02-14 16:28:56 +01:00
2022-07-13 15:44:39 +02:00
release-vmutils-linux-arm64 :
GOOS = linux GOARCH = arm64 $( MAKE) release-vmutils-goos-goarch
2021-03-16 19:49:07 +01:00
2022-07-13 14:42:48 +02:00
release-vmutils-linux-arm :
2022-07-13 15:44:39 +02:00
GOOS = linux GOARCH = arm $( MAKE) release-vmutils-goos-goarch
2022-07-13 14:42:48 +02:00
2022-07-13 15:44:39 +02:00
release-vmutils-darwin-amd64 :
GOOS = darwin GOARCH = amd64 $( MAKE) release-vmutils-goos-goarch
2022-07-13 14:42:48 +02:00
release-vmutils-darwin-arm64 :
2022-07-13 15:44:39 +02:00
GOOS = darwin GOARCH = arm64 $( MAKE) release-vmutils-goos-goarch
release-vmutils-freebsd-amd64 :
GOOS = freebsd GOARCH = amd64 $( MAKE) release-vmutils-goos-goarch
release-vmutils-openbsd-amd64 :
GOOS = openbsd GOARCH = amd64 $( MAKE) release-vmutils-goos-goarch
release-vmutils-windows-amd64 :
GOARCH = amd64 $( MAKE) release-vmutils-windows-goarch
release-vmutils-goos-goarch : \
vmagent-$( GOOS) -$( GOARCH) -prod \
vmalert-$( GOOS) -$( GOARCH) -prod \
vmauth-$( GOOS) -$( GOARCH) -prod \
vmbackup-$( GOOS) -$( GOARCH) -prod \
vmrestore-$( GOOS) -$( GOARCH) -prod \
vmctl-$( GOOS) -$( GOARCH) -prod
2021-01-13 16:31:08 +01:00
cd bin && \
2022-07-13 15:44:39 +02:00
tar --transform= " flags=r;s|- $( GOOS) - $( GOARCH) || " -czf vmutils-$( GOOS) -$( GOARCH) -$( PKG_TAG) .tar.gz \
vmagent-$( GOOS) -$( GOARCH) -prod \
vmalert-$( GOOS) -$( GOARCH) -prod \
vmauth-$( GOOS) -$( GOARCH) -prod \
vmbackup-$( GOOS) -$( GOARCH) -prod \
vmrestore-$( GOOS) -$( GOARCH) -prod \
vmctl-$( GOOS) -$( GOARCH) -prod \
&& sha256sum vmutils-$( GOOS) -$( GOARCH) -$( PKG_TAG) .tar.gz \
vmagent-$( GOOS) -$( GOARCH) -prod \
vmalert-$( GOOS) -$( GOARCH) -prod \
vmauth-$( GOOS) -$( GOARCH) -prod \
vmbackup-$( GOOS) -$( GOARCH) -prod \
vmrestore-$( GOOS) -$( GOARCH) -prod \
vmctl-$( GOOS) -$( GOARCH) -prod \
| sed s/-$( GOOS) -$( GOARCH) -prod/-prod/ > vmutils-$( GOOS) -$( GOARCH) -$( PKG_TAG) _checksums.txt
cd bin && rm -rf \
vmagent-$( GOOS) -$( GOARCH) -prod \
vmalert-$( GOOS) -$( GOARCH) -prod \
vmauth-$( GOOS) -$( GOARCH) -prod \
vmbackup-$( GOOS) -$( GOARCH) -prod \
vmrestore-$( GOOS) -$( GOARCH) -prod \
vmctl-$( GOOS) -$( GOARCH) -prod
release-vmutils-windows-goarch : \
2021-03-16 19:49:07 +01:00
vmagent-windows-$( GOARCH) -prod \
vmalert-windows-$( GOARCH) -prod \
vmauth-windows-$( GOARCH) -prod \
2023-03-25 23:08:12 +01:00
vmbackup-windows-$( GOARCH) -prod \
vmrestore-windows-$( GOARCH) -prod \
2021-03-16 19:49:07 +01:00
vmctl-windows-$( GOARCH) -prod
cd bin && \
zip vmutils-windows-$( GOARCH) -$( PKG_TAG) .zip \
vmagent-windows-$( GOARCH) -prod.exe \
vmalert-windows-$( GOARCH) -prod.exe \
vmauth-windows-$( GOARCH) -prod.exe \
2023-03-25 23:08:12 +01:00
vmbackup-windows-$( GOARCH) -prod.exe \
vmrestore-windows-$( GOARCH) -prod.exe \
2021-03-16 19:49:07 +01:00
vmctl-windows-$( GOARCH) -prod.exe \
&& sha256sum vmutils-windows-$( GOARCH) -$( PKG_TAG) .zip \
vmagent-windows-$( GOARCH) -prod.exe \
vmalert-windows-$( GOARCH) -prod.exe \
vmauth-windows-$( GOARCH) -prod.exe \
2023-03-25 23:08:12 +01:00
vmbackup-windows-$( GOARCH) -prod.exe \
vmrestore-windows-$( GOARCH) -prod.exe \
2021-03-16 19:49:07 +01:00
vmctl-windows-$( GOARCH) -prod.exe \
> vmutils-windows-$( GOARCH) -$( PKG_TAG) _checksums.txt
2022-07-13 15:44:39 +02:00
cd bin && rm -rf \
vmagent-windows-$( GOARCH) -prod.exe \
vmalert-windows-$( GOARCH) -prod.exe \
vmauth-windows-$( GOARCH) -prod.exe \
2023-03-25 23:08:12 +01:00
vmbackup-windows-$( GOARCH) -prod.exe \
vmrestore-windows-$( GOARCH) -prod.exe \
2022-07-13 15:44:39 +02:00
vmctl-windows-$( GOARCH) -prod.exe
2021-03-16 19:49:07 +01:00
2019-11-04 11:43:26 +01:00
pprof-cpu :
go tool pprof -trim_path= github.com/VictoriaMetrics/VictoriaMetrics@ $( PPROF_FILE)
2019-05-22 23:16:55 +02:00
fmt :
2022-07-13 15:44:39 +02:00
gofmt -l -w -s ./lib
gofmt -l -w -s ./app
2019-05-22 23:16:55 +02:00
vet :
2022-08-07 19:39:05 +02:00
go vet ./lib/...
go vet ./app/...
2019-05-22 23:16:55 +02:00
2023-07-13 20:51:56 +02:00
check-all : fmt vet golangci -lint govulncheck
2019-05-29 00:32:49 +02:00
2019-05-22 23:16:55 +02:00
test :
2022-08-07 19:39:05 +02:00
go test ./lib/... ./app/...
2019-05-29 00:32:49 +02:00
2020-03-05 11:02:06 +01:00
test-race :
2022-08-07 19:39:05 +02:00
go test -race ./lib/... ./app/...
2020-03-05 11:02:06 +01:00
2019-07-23 18:26:39 +02:00
test-pure :
2022-08-07 19:39:05 +02:00
CGO_ENABLED = 0 go test ./lib/... ./app/...
2019-07-23 18:54:50 +02:00
test-full :
2022-08-07 19:39:05 +02:00
go test -coverprofile= coverage.txt -covermode= atomic ./lib/... ./app/...
2019-07-23 18:26:39 +02:00
2019-10-17 17:22:56 +02:00
test-full-386 :
2022-08-07 19:39:05 +02:00
GOARCH = 386 go test -coverprofile= coverage.txt -covermode= atomic ./lib/... ./app/...
2019-10-17 17:22:56 +02:00
2019-05-22 23:16:55 +02:00
benchmark :
2022-08-07 19:39:05 +02:00
go test -bench= . ./lib/...
go test -bench= . ./app/...
2019-05-22 23:16:55 +02:00
2019-07-23 18:26:39 +02:00
benchmark-pure :
2022-08-07 19:39:05 +02:00
CGO_ENABLED = 0 go test -bench= . ./lib/...
CGO_ENABLED = 0 go test -bench= . ./app/...
2019-07-23 18:26:39 +02:00
2019-05-22 23:16:55 +02:00
vendor-update :
2022-07-13 15:44:39 +02:00
go get -u -d ./lib/...
go get -u -d ./app/...
2022-09-19 14:12:03 +02:00
go mod tidy -compat= 1.19
2022-07-13 15:44:39 +02:00
go mod vendor
2019-05-22 23:16:55 +02:00
2019-08-28 00:34:26 +02:00
app-local :
2022-08-07 19:39:05 +02:00
CGO_ENABLED = 1 go build $( RACE) -ldflags " $( GO_BUILDINFO) " -o bin/$( APP_NAME) $( RACE) $( PKG_PREFIX) /app/$( APP_NAME)
2019-08-28 00:34:26 +02:00
app-local-pure :
2022-08-07 19:39:05 +02:00
CGO_ENABLED = 0 go build $( RACE) -ldflags " $( GO_BUILDINFO) " -o bin/$( APP_NAME) -pure$( RACE) $( PKG_PREFIX) /app/$( APP_NAME)
2019-08-28 00:34:26 +02:00
2022-07-13 15:44:39 +02:00
app-local-goos-goarch :
2022-08-07 19:39:05 +02:00
CGO_ENABLED = $( CGO_ENABLED) GOOS = $( GOOS) GOARCH = $( GOARCH) go build $( RACE) -ldflags " $( GO_BUILDINFO) " -o bin/$( APP_NAME) -$( GOOS) -$( GOARCH) $( RACE) $( PKG_PREFIX) /app/$( APP_NAME)
2020-07-31 12:42:09 +02:00
2022-07-13 15:44:39 +02:00
app-local-windows-goarch :
2022-08-07 19:39:05 +02:00
CGO_ENABLED = 0 GOOS = windows GOARCH = $( GOARCH) go build $( RACE) -ldflags " $( GO_BUILDINFO) " -o bin/$( APP_NAME) -windows-$( GOARCH) $( RACE) .exe $( PKG_PREFIX) /app/$( APP_NAME)
2021-03-16 19:49:07 +01:00
2019-05-22 23:16:55 +02:00
quicktemplate-gen : install -qtc
qtc
install-qtc :
2022-09-08 17:43:02 +02:00
which qtc || go install github.com/valyala/quicktemplate/qtc@latest
2019-06-20 13:30:55 +02:00
golangci-lint : install -golangci -lint
2023-01-06 01:58:55 +01:00
golangci-lint run
2019-06-20 13:30:55 +02:00
install-golangci-lint :
2023-06-22 19:25:43 +02:00
which golangci-lint || curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $( shell go env GOPATH) /bin v1.51.2
2020-06-02 18:12:07 +02:00
2022-09-08 17:35:31 +02:00
govulncheck : install -govulncheck
govulncheck ./...
install-govulncheck :
which govulncheck || go install golang.org/x/vuln/cmd/govulncheck@latest
2021-05-10 10:54:35 +02:00
install-wwhrd :
2022-09-08 17:43:02 +02:00
which wwhrd || go install github.com/frapposelli/wwhrd@latest
2021-05-10 10:54:35 +02:00
check-licenses : install -wwhrd
wwhrd check -f .wwhrd.yml
2021-04-07 12:39:16 +02:00
copy-docs :
2023-07-04 11:38:39 +02:00
# The 'printf' function is used instead of 'echo' or 'echo -e' to handle line breaks (e.g. '\n') in the same way on different operating systems (MacOS/Ubuntu Linux/Arch Linux) and their shells (bash/sh/zsh/fish).
# For details, see https://github.com/VictoriaMetrics/VictoriaMetrics/pull/4548#issue-1782796419 and https://stackoverflow.com/questions/8467424/echo-newline-in-bash-prints-literal-n
2023-05-25 21:26:36 +02:00
echo "---" > ${ DST }
2022-10-05 21:39:57 +02:00
@if [ ${ ORDER } -ne 0 ] ; then \
2023-05-25 21:26:36 +02:00
echo " sort: ${ ORDER } " >> ${ DST } ; \
echo " weight: ${ ORDER } " >> ${ DST } ; \
2023-07-04 11:38:39 +02:00
printf " menu:\n docs:\n parent: 'victoriametrics'\n weight: ${ ORDER } \n " >> ${ DST } ; \
2022-10-03 13:13:07 +02:00
fi
2023-05-25 21:26:36 +02:00
echo " title: ${ TITLE } " >> ${ DST }
@if [ ${ OLD_URL } ] ; then \
2023-07-04 11:38:39 +02:00
printf " aliases:\n - ${ OLD_URL } \n " >> ${ DST } ; \
2023-05-25 21:26:36 +02:00
fi
echo "---" >> ${ DST }
2021-04-07 12:39:16 +02:00
cat ${ SRC } >> ${ DST }
2022-10-06 14:06:39 +02:00
sed -i= '.tmp' 's/<img src=\"docs\//<img src=\"/' ${ DST }
2022-10-06 14:24:56 +02:00
rm -rf docs/*.tmp
2021-04-07 12:39:16 +02:00
2023-05-25 21:26:36 +02:00
# Copies docs for all components and adds the order/weight tag, title, menu position and alias with the backward compatible link for the old site.
# For ORDER=0 it adds no order tag/weight tag.
2023-05-26 10:22:29 +02:00
# FOR OLD_URL - relative link, used for backward compatibility with the link from documentation based on GitHub pages (old one)
2023-07-06 20:01:19 +02:00
# FOR OLD_URL='' it adds no alias, it should be empty for every new page, don't change it for already existing links.
2022-10-03 13:13:07 +02:00
# Images starting with <img src="docs/ are replaced with <img src="
2023-05-25 21:29:39 +02:00
# Cluster docs are supposed to be ordered as 2nd.
2022-10-03 13:13:07 +02:00
# The rest of docs is ordered manually.
2020-06-02 18:12:07 +02:00
docs-sync :
2023-05-25 21:26:36 +02:00
SRC = README.md DST = docs/README.md OLD_URL = '' ORDER = 0 TITLE = VictoriaMetrics $( MAKE) copy-docs
SRC = README.md DST = docs/Single-server-VictoriaMetrics.md OLD_URL = '/Single-server-VictoriaMetrics.html' TITLE = VictoriaMetrics ORDER = 1 $( MAKE) copy-docs
SRC = app/vmagent/README.md DST = docs/vmagent.md OLD_URL = '/vmagent.html' ORDER = 3 TITLE = vmagent $( MAKE) copy-docs
SRC = app/vmalert/README.md DST = docs/vmalert.md OLD_URL = '/vmalert.html' ORDER = 4 TITLE = vmalert $( MAKE) copy-docs
SRC = app/vmauth/README.md DST = docs/vmauth.md OLD_URL = '/vmauth.html' ORDER = 5 TITLE = vmauth $( MAKE) copy-docs
SRC = app/vmbackup/README.md DST = docs/vmbackup.md OLD_URL = '/vmbackup.html' ORDER = 6 TITLE = vmbackup $( MAKE) copy-docs
SRC = app/vmrestore/README.md DST = docs/vmrestore.md OLD_URL = '/vmrestore.html' ORDER = 7 TITLE = vmrestore $( MAKE) copy-docs
SRC = app/vmctl/README.md DST = docs/vmctl.md OLD_URL = '/vmctl.html' ORDER = 8 TITLE = vmctl $( MAKE) copy-docs
SRC = app/vmgateway/README.md DST = docs/vmgateway.md OLD_URL = '/vmgateway.html' ORDER = 9 TITLE = vmgateway $( MAKE) copy-docs
SRC = app/vmbackupmanager/README.md DST = docs/vmbackupmanager.md OLD_URL = '/vmbackupmanager.html' ORDER = 10 TITLE = vmbackupmanager $( MAKE) copy-docs