2019-05-22 21:16:55 +00:00
PKG_PREFIX := github.com/VictoriaMetrics/VictoriaMetrics
2024-01-25 09:03:46 +00:00
MAKE_CONCURRENCY ?= $( shell getconf _NPROCESSORS_ONLN)
2023-11-20 22:55:19 +00:00
MAKE_PARALLEL := $( MAKE) -j $( MAKE_CONCURRENCY)
2021-04-10 12:46:53 +00:00
DATEINFO_TAG ?= $( shell date -u +'%Y%m%d-%H%M%S' )
2019-05-22 21:16:55 +00:00
BUILDINFO_TAG ?= $( shell echo $$ ( git describe --long --all | tr '/' '-' ) $$ ( \
2022-12-01 15:09:36 +00: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 00:46:24 +00:00
LATEST_TAG ?= latest
2019-05-22 21:16:55 +00: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 12:46:53 +00:00
GO_BUILDINFO = -X '$(PKG_PREFIX)/lib/buildinfo.Version=$(APP_NAME)-$(DATEINFO_TAG)-$(BUILDINFO_TAG)'
2019-05-22 21:16:55 +00:00
2020-12-18 10:20:01 +00:00
.PHONY : $( MAKECMDGOALS )
2022-07-13 13:44:39 +00:00
i n c l u d e a p p / * / M a k e f i l e
2023-11-22 16:22:41 +00:00
i n c l u d e d o c s / M a k e f i l e
2022-07-13 13:44:39 +00:00
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 09:06:55 +00: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-08-30 23:27:24 +00: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 13:44:39 +00:00
2019-05-22 21:16:55 +00:00
all : \
2020-02-23 11:35:47 +00:00
victoria-metrics-prod \
2023-06-20 05:55:12 +00:00
victoria-logs-prod \
2020-02-23 11:35:47 +00:00
vmagent-prod \
2020-05-05 07:53:42 +00:00
vmalert-prod \
2023-10-26 06:06:35 +00:00
vmalert-tool-prod \
2020-05-05 07:53:42 +00:00
vmauth-prod \
2020-02-23 11:35:47 +00:00
vmbackup-prod \
2021-01-31 23:10:16 +00:00
vmrestore-prod \
2023-10-26 06:06:35 +00:00
vmctl-prod
2019-05-22 21:16:55 +00:00
clean :
rm -rf bin/*
2023-11-15 11:22:37 +00:00
publish : \
2019-11-07 19:05:39 +00:00
publish-victoria-metrics \
2020-02-23 11:35:47 +00:00
publish-vmagent \
2020-04-27 21:09:35 +00:00
publish-vmalert \
2023-10-26 06:06:35 +00:00
publish-vmalert-tool \
2020-05-05 07:53:42 +00:00
publish-vmauth \
2019-11-07 19:05:39 +00:00
publish-vmbackup \
2021-01-31 23:10:16 +00:00
publish-vmrestore \
2023-10-26 06:06:35 +00:00
publish-vmctl
2019-05-24 10:19:24 +00:00
2019-11-07 19:05:39 +00:00
package : \
package-victoria-metrics \
2023-06-20 05:55:12 +00:00
package-victoria-logs \
2020-02-23 11:35:47 +00:00
package-vmagent \
2020-04-27 21:09:35 +00:00
package-vmalert \
2023-10-26 06:06:35 +00:00
package-vmalert-tool \
2020-05-05 07:53:42 +00:00
package-vmauth \
2019-11-07 19:05:39 +00:00
package-vmbackup \
2021-01-31 23:10:16 +00:00
package-vmrestore \
2023-10-26 06:06:35 +00:00
package-vmctl
2019-05-24 10:19:24 +00:00
2023-11-20 21:15:07 +00:00
vmutils : \
vmagent \
vmalert \
vmalert-tool \
vmauth \
vmbackup \
vmrestore \
vmctl
vmutils-pure : \
vmagent-pure \
vmalert-pure \
vmalert-tool-pure \
vmauth-pure \
vmbackup-pure \
vmrestore-pure \
vmctl-pure
vmutils-linux-amd64 : \
vmagent-linux-amd64 \
vmalert-linux-amd64 \
vmalert-tool-linux-amd64 \
vmauth-linux-amd64 \
vmbackup-linux-amd64 \
vmrestore-linux-amd64 \
vmctl-linux-amd64
vmutils-linux-arm64 : \
vmagent-linux-arm64 \
vmalert-linux-arm64 \
vmalert-tool-linux-arm64 \
vmauth-linux-arm64 \
vmbackup-linux-arm64 \
vmrestore-linux-arm64 \
vmctl-linux-arm64
vmutils-linux-arm : \
vmagent-linux-arm \
vmalert-linux-arm \
vmalert-tool-linux-arm \
vmauth-linux-arm \
vmbackup-linux-arm \
vmrestore-linux-arm \
vmctl-linux-arm
vmutils-linux-386 : \
vmagent-linux-386 \
vmalert-linux-386 \
vmalert-tool-linux-386 \
vmauth-linux-386 \
vmbackup-linux-386 \
vmrestore-linux-386 \
vmctl-linux-386
vmutils-linux-ppc64le : \
vmagent-linux-ppc64le \
vmalert-linux-ppc64le \
vmalert-tool-linux-ppc64le \
vmauth-linux-ppc64le \
vmbackup-linux-ppc64le \
vmrestore-linux-ppc64le \
vmctl-linux-ppc64le
vmutils-darwin-amd64 : \
vmagent-darwin-amd64 \
vmalert-darwin-amd64 \
vmalert-tool-darwin-amd64 \
vmauth-darwin-amd64 \
vmbackup-darwin-amd64 \
vmrestore-darwin-amd64 \
vmctl-darwin-amd64
vmutils-darwin-arm64 : \
vmagent-darwin-arm64 \
vmalert-darwin-arm64 \
vmalert-tool-darwin-arm64 \
vmauth-darwin-arm64 \
vmbackup-darwin-arm64 \
vmrestore-darwin-arm64 \
vmctl-darwin-arm64
vmutils-freebsd-amd64 : \
vmagent-freebsd-amd64 \
vmalert-freebsd-amd64 \
vmalert-tool-freebsd-amd64 \
vmauth-freebsd-amd64 \
vmbackup-freebsd-amd64 \
vmrestore-freebsd-amd64 \
vmctl-freebsd-amd64
vmutils-openbsd-amd64 : \
vmagent-openbsd-amd64 \
vmalert-openbsd-amd64 \
vmalert-tool-openbsd-amd64 \
vmauth-openbsd-amd64 \
vmbackup-openbsd-amd64 \
vmrestore-openbsd-amd64 \
vmctl-openbsd-amd64
vmutils-windows-amd64 : \
vmagent-windows-amd64 \
vmalert-windows-amd64 \
vmalert-tool-windows-amd64 \
vmauth-windows-amd64 \
vmbackup-windows-amd64 \
vmrestore-windows-amd64 \
vmctl-windows-amd64
crossbuild :
$( MAKE_PARALLEL) victoria-metrics-crossbuild vmutils-crossbuild
victoria-metrics-crossbuild : \
victoria-metrics-linux-386 \
victoria-metrics-linux-amd64 \
victoria-metrics-linux-arm64 \
victoria-metrics-linux-arm \
victoria-metrics-linux-ppc64le \
victoria-metrics-darwin-amd64 \
victoria-metrics-darwin-arm64 \
victoria-metrics-freebsd-amd64 \
2024-02-07 20:27:05 +00:00
victoria-metrics-openbsd-amd64 \
victoria-metrics-windows-amd64
2023-11-20 21:15:07 +00:00
vmutils-crossbuild : \
vmutils-linux-386 \
vmutils-linux-amd64 \
vmutils-linux-arm64 \
vmutils-linux-arm \
vmutils-linux-ppc64le \
vmutils-darwin-amd64 \
vmutils-darwin-arm64 \
vmutils-freebsd-amd64 \
vmutils-openbsd-amd64 \
vmutils-windows-amd64
2020-12-29 09:43:09 +00:00
2021-11-08 10:29:10 +00:00
publish-release :
2023-08-29 11:10:27 +00:00
rm -rf bin/*
2023-11-20 20:51:33 +00:00
git checkout $( TAG) && $( MAKE) release && LATEST_TAG = stable $( MAKE) publish && \
git checkout $( TAG) -cluster && $( MAKE) release && LATEST_TAG = cluster-stable $( MAKE) publish && \
git checkout $( TAG) -enterprise && $( MAKE) release && LATEST_TAG = enterprise-stable $( MAKE) publish && \
git checkout $( TAG) -enterprise-cluster && $( MAKE) release && LATEST_TAG = enterprise-cluster-stable $( MAKE) publish
2021-11-08 10:29:10 +00:00
2023-11-20 21:15:07 +00:00
release :
$( MAKE_PARALLEL) \
release-victoria-metrics \
release-vmutils
release-victoria-metrics : \
release-victoria-metrics-linux-386 \
release-victoria-metrics-linux-amd64 \
release-victoria-metrics-linux-arm \
release-victoria-metrics-linux-arm64 \
release-victoria-metrics-darwin-amd64 \
release-victoria-metrics-darwin-arm64 \
release-victoria-metrics-freebsd-amd64 \
release-victoria-metrics-openbsd-amd64 \
release-victoria-metrics-windows-amd64
2021-01-13 16:13:18 +00:00
2023-01-31 20:58:53 +00:00
release-victoria-metrics-linux-386 :
GOOS = linux GOARCH = 386 $( MAKE) release-victoria-metrics-goos-goarch
2022-07-13 12:42:48 +00:00
release-victoria-metrics-linux-amd64 :
2022-07-13 13:44:39 +00:00
GOOS = linux GOARCH = amd64 $( MAKE) release-victoria-metrics-goos-goarch
2022-02-14 15:28:56 +00:00
2022-07-13 12:42:48 +00:00
release-victoria-metrics-linux-arm :
2022-07-13 13:44:39 +00:00
GOOS = linux GOARCH = arm $( MAKE) release-victoria-metrics-goos-goarch
2022-07-13 12:42:48 +00:00
release-victoria-metrics-linux-arm64 :
2022-07-13 13:44:39 +00: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 12:42:48 +00:00
2022-02-14 15:28:56 +00:00
release-victoria-metrics-darwin-arm64 :
2022-07-13 13:44:39 +00: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 15:28:56 +00:00
2022-07-13 13:44:39 +00:00
release-victoria-metrics-openbsd-amd64 :
GOOS = openbsd GOARCH = amd64 $( MAKE) release-victoria-metrics-goos-goarch
2023-03-19 08:36:05 +00:00
release-victoria-metrics-windows-amd64 :
GOARCH = amd64 $( MAKE) release-victoria-metrics-windows-goarch
2022-07-13 13:44:39 +00:00
release-victoria-metrics-goos-goarch : victoria -metrics -$( GOOS ) -$( GOARCH ) -prod
2021-01-13 16:13:18 +00:00
cd bin && \
2022-07-13 13:44:39 +00: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 21:16:55 +00:00
2023-03-19 08:36:05 +00: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-11-20 20:51:33 +00:00
release-victoria-logs :
$( MAKE_PARALLEL) 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
2023-06-20 05:55:12 +00:00
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
2023-11-20 21:15:07 +00:00
release-vmutils : \
release-vmutils-linux-386 \
release-vmutils-linux-amd64 \
release-vmutils-linux-arm64 \
release-vmutils-linux-arm \
release-vmutils-darwin-amd64 \
release-vmutils-darwin-arm64 \
release-vmutils-freebsd-amd64 \
release-vmutils-openbsd-amd64 \
release-vmutils-windows-amd64
2021-01-13 16:02:28 +00:00
2023-01-31 20:58:53 +00:00
release-vmutils-linux-386 :
GOOS = linux GOARCH = 386 $( MAKE) release-vmutils-goos-goarch
2022-07-13 12:42:48 +00:00
release-vmutils-linux-amd64 :
2022-07-13 13:44:39 +00:00
GOOS = linux GOARCH = amd64 $( MAKE) release-vmutils-goos-goarch
2022-02-14 15:28:56 +00:00
2022-07-13 13:44:39 +00:00
release-vmutils-linux-arm64 :
GOOS = linux GOARCH = arm64 $( MAKE) release-vmutils-goos-goarch
2021-03-16 18:49:07 +00:00
2022-07-13 12:42:48 +00:00
release-vmutils-linux-arm :
2022-07-13 13:44:39 +00:00
GOOS = linux GOARCH = arm $( MAKE) release-vmutils-goos-goarch
2022-07-13 12:42:48 +00:00
2022-07-13 13:44:39 +00:00
release-vmutils-darwin-amd64 :
GOOS = darwin GOARCH = amd64 $( MAKE) release-vmutils-goos-goarch
2022-07-13 12:42:48 +00:00
release-vmutils-darwin-arm64 :
2022-07-13 13:44:39 +00: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 \
2023-10-26 06:06:35 +00:00
vmalert-tool-$( GOOS) -$( GOARCH) -prod \
2022-07-13 13:44:39 +00:00
vmauth-$( GOOS) -$( GOARCH) -prod \
vmbackup-$( GOOS) -$( GOARCH) -prod \
vmrestore-$( GOOS) -$( GOARCH) -prod \
2023-10-26 06:06:35 +00:00
vmctl-$( GOOS) -$( GOARCH) -prod
2021-01-13 15:31:08 +00:00
cd bin && \
2022-07-13 13:44:39 +00:00
tar --transform= " flags=r;s|- $( GOOS) - $( GOARCH) || " -czf vmutils-$( GOOS) -$( GOARCH) -$( PKG_TAG) .tar.gz \
vmagent-$( GOOS) -$( GOARCH) -prod \
vmalert-$( GOOS) -$( GOARCH) -prod \
2023-10-26 06:06:35 +00:00
vmalert-tool-$( GOOS) -$( GOARCH) -prod \
2022-07-13 13:44:39 +00:00
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 \
2023-10-26 06:06:35 +00:00
vmalert-tool-$( GOOS) -$( GOARCH) -prod \
2022-07-13 13:44:39 +00:00
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 \
2023-10-26 06:06:35 +00:00
vmalert-tool-$( GOOS) -$( GOARCH) -prod \
2022-07-13 13:44:39 +00:00
vmauth-$( GOOS) -$( GOARCH) -prod \
vmbackup-$( GOOS) -$( GOARCH) -prod \
vmrestore-$( GOOS) -$( GOARCH) -prod \
2023-10-26 06:06:35 +00:00
vmctl-$( GOOS) -$( GOARCH) -prod
2022-07-13 13:44:39 +00:00
release-vmutils-windows-goarch : \
2021-03-16 18:49:07 +00:00
vmagent-windows-$( GOARCH) -prod \
vmalert-windows-$( GOARCH) -prod \
2023-10-26 06:06:35 +00:00
vmalert-tool-windows-$( GOARCH) -prod \
2021-03-16 18:49:07 +00:00
vmauth-windows-$( GOARCH) -prod \
2023-03-25 22:08:12 +00:00
vmbackup-windows-$( GOARCH) -prod \
vmrestore-windows-$( GOARCH) -prod \
2023-10-26 06:06:35 +00:00
vmctl-windows-$( GOARCH) -prod
2021-03-16 18:49:07 +00:00
cd bin && \
zip vmutils-windows-$( GOARCH) -$( PKG_TAG) .zip \
vmagent-windows-$( GOARCH) -prod.exe \
vmalert-windows-$( GOARCH) -prod.exe \
2023-10-26 06:06:35 +00:00
vmalert-tool-windows-$( GOARCH) -prod.exe \
2021-03-16 18:49:07 +00:00
vmauth-windows-$( GOARCH) -prod.exe \
2023-03-25 22:08:12 +00:00
vmbackup-windows-$( GOARCH) -prod.exe \
vmrestore-windows-$( GOARCH) -prod.exe \
2021-03-16 18:49:07 +00:00
vmctl-windows-$( GOARCH) -prod.exe \
&& sha256sum vmutils-windows-$( GOARCH) -$( PKG_TAG) .zip \
vmagent-windows-$( GOARCH) -prod.exe \
vmalert-windows-$( GOARCH) -prod.exe \
2023-10-26 06:06:35 +00:00
vmalert-tool-windows-$( GOARCH) -prod.exe \
2021-03-16 18:49:07 +00:00
vmauth-windows-$( GOARCH) -prod.exe \
2023-03-25 22:08:12 +00:00
vmbackup-windows-$( GOARCH) -prod.exe \
vmrestore-windows-$( GOARCH) -prod.exe \
2021-03-16 18:49:07 +00:00
vmctl-windows-$( GOARCH) -prod.exe \
> vmutils-windows-$( GOARCH) -$( PKG_TAG) _checksums.txt
2022-07-13 13:44:39 +00:00
cd bin && rm -rf \
vmagent-windows-$( GOARCH) -prod.exe \
vmalert-windows-$( GOARCH) -prod.exe \
2023-10-26 06:06:35 +00:00
vmalert-tool-windows-$( GOARCH) -prod.exe \
2022-07-13 13:44:39 +00:00
vmauth-windows-$( GOARCH) -prod.exe \
2023-03-25 22:08:12 +00:00
vmbackup-windows-$( GOARCH) -prod.exe \
vmrestore-windows-$( GOARCH) -prod.exe \
2023-10-26 06:06:35 +00:00
vmctl-windows-$( GOARCH) -prod.exe
2021-03-16 18:49:07 +00:00
2019-11-04 10:43:26 +00:00
pprof-cpu :
go tool pprof -trim_path= github.com/VictoriaMetrics/VictoriaMetrics@ $( PPROF_FILE)
2019-05-22 21:16:55 +00:00
fmt :
2022-07-13 13:44:39 +00:00
gofmt -l -w -s ./lib
gofmt -l -w -s ./app
2019-05-22 21:16:55 +00:00
vet :
2022-08-07 17:39:05 +00:00
go vet ./lib/...
go vet ./app/...
2019-05-22 21:16:55 +00:00
2023-07-13 18:51:56 +00:00
check-all : fmt vet golangci -lint govulncheck
2019-05-28 22:32:49 +00:00
2024-06-25 18:28:38 +00:00
clean-checkers : remove -golangci -lint remove -govulncheck
2019-05-22 21:16:55 +00:00
test :
2022-08-07 17:39:05 +00:00
go test ./lib/... ./app/...
2019-05-28 22:32:49 +00:00
2020-03-05 10:02:06 +00:00
test-race :
2022-08-07 17:39:05 +00:00
go test -race ./lib/... ./app/...
2020-03-05 10:02:06 +00:00
2019-07-23 16:26:39 +00:00
test-pure :
2022-08-07 17:39:05 +00:00
CGO_ENABLED = 0 go test ./lib/... ./app/...
2019-07-23 16:54:50 +00:00
test-full :
2022-08-07 17:39:05 +00:00
go test -coverprofile= coverage.txt -covermode= atomic ./lib/... ./app/...
2019-07-23 16:26:39 +00:00
2019-10-17 15:22:56 +00:00
test-full-386 :
2022-08-07 17:39:05 +00:00
GOARCH = 386 go test -coverprofile= coverage.txt -covermode= atomic ./lib/... ./app/...
2019-10-17 15:22:56 +00:00
2019-05-22 21:16:55 +00:00
benchmark :
2022-08-07 17:39:05 +00:00
go test -bench= . ./lib/...
go test -bench= . ./app/...
2019-05-22 21:16:55 +00:00
2019-07-23 16:26:39 +00:00
benchmark-pure :
2022-08-07 17:39:05 +00:00
CGO_ENABLED = 0 go test -bench= . ./lib/...
CGO_ENABLED = 0 go test -bench= . ./app/...
2019-07-23 16:26:39 +00:00
2019-05-22 21:16:55 +00:00
vendor-update :
2022-07-13 13:44:39 +00:00
go get -u -d ./lib/...
go get -u -d ./app/...
2024-05-12 10:39:32 +00:00
go mod tidy -compat= 1.22
2022-07-13 13:44:39 +00:00
go mod vendor
2019-05-22 21:16:55 +00:00
2019-08-27 22:34:26 +00:00
app-local :
2022-08-07 17:39:05 +00:00
CGO_ENABLED = 1 go build $( RACE) -ldflags " $( GO_BUILDINFO) " -o bin/$( APP_NAME) $( RACE) $( PKG_PREFIX) /app/$( APP_NAME)
2019-08-27 22:34:26 +00:00
app-local-pure :
2022-08-07 17:39:05 +00:00
CGO_ENABLED = 0 go build $( RACE) -ldflags " $( GO_BUILDINFO) " -o bin/$( APP_NAME) -pure$( RACE) $( PKG_PREFIX) /app/$( APP_NAME)
2019-08-27 22:34:26 +00:00
2022-07-13 13:44:39 +00:00
app-local-goos-goarch :
2022-08-07 17:39:05 +00: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 10:42:09 +00:00
2022-07-13 13:44:39 +00:00
app-local-windows-goarch :
2022-08-07 17:39:05 +00: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 18:49:07 +00:00
2019-05-22 21:16:55 +00:00
quicktemplate-gen : install -qtc
qtc
install-qtc :
2022-09-08 15:43:02 +00:00
which qtc || go install github.com/valyala/quicktemplate/qtc@latest
2019-06-20 11:30:55 +00:00
golangci-lint : install -golangci -lint
2023-01-06 00:58:55 +00:00
golangci-lint run
2019-06-20 11:30:55 +00:00
install-golangci-lint :
2024-06-11 14:01:26 +00: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.59.1
2020-06-02 16:12:07 +00:00
2024-06-25 18:28:38 +00:00
remove-golangci-lint :
rm -rf ` which golangci-lint`
2022-09-08 15:35:31 +00:00
govulncheck : install -govulncheck
govulncheck ./...
install-govulncheck :
which govulncheck || go install golang.org/x/vuln/cmd/govulncheck@latest
2024-06-25 18:28:38 +00:00
remove-govulncheck :
rm -rf ` which govulncheck`
2021-05-10 08:54:35 +00:00
install-wwhrd :
2022-09-08 15:43:02 +00:00
which wwhrd || go install github.com/frapposelli/wwhrd@latest
2021-05-10 08:54:35 +00:00
check-licenses : install -wwhrd
wwhrd check -f .wwhrd.yml
2021-04-07 10:39:16 +00:00
copy-docs :
2023-07-04 09:38:39 +00: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 19:26:36 +00:00
echo "---" > ${ DST }
2022-10-05 19:39:57 +00:00
@if [ ${ ORDER } -ne 0 ] ; then \
2023-05-25 19:26:36 +00:00
echo " sort: ${ ORDER } " >> ${ DST } ; \
echo " weight: ${ ORDER } " >> ${ DST } ; \
2023-07-04 09:38:39 +00:00
printf " menu:\n docs:\n parent: 'victoriametrics'\n weight: ${ ORDER } \n " >> ${ DST } ; \
2022-10-03 11:13:07 +00:00
fi
2023-05-25 19:26:36 +00:00
echo " title: ${ TITLE } " >> ${ DST }
@if [ ${ OLD_URL } ] ; then \
2023-07-04 09:38:39 +00:00
printf " aliases:\n - ${ OLD_URL } \n " >> ${ DST } ; \
2023-05-25 19:26:36 +00:00
fi
echo "---" >> ${ DST }
2021-04-07 10:39:16 +00:00
cat ${ SRC } >> ${ DST }
2022-10-06 12:06:39 +00:00
sed -i= '.tmp' 's/<img src=\"docs\//<img src=\"/' ${ DST }
2024-07-10 10:25:21 +00:00
sed -i= '.tmp' 's/<source srcset=\"docs\//<source srcset=\"/' ${ DST }
2022-10-06 12:24:56 +00:00
rm -rf docs/*.tmp
2021-04-07 10:39:16 +00:00
2023-05-25 19:26:36 +00: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 08:22:29 +00:00
# FOR OLD_URL - relative link, used for backward compatibility with the link from documentation based on GitHub pages (old one)
2023-07-06 18:01:19 +00: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 11:13:07 +00:00
# Images starting with <img src="docs/ are replaced with <img src="
2023-05-25 19:29:39 +00:00
# Cluster docs are supposed to be ordered as 2nd.
2022-10-03 11:13:07 +00:00
# The rest of docs is ordered manually.
2020-06-02 16:12:07 +00:00
docs-sync :
2023-05-25 19:26:36 +00: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