VictoriaMetrics/snap/local/Makefile
Roman Khavronenko af5091a79d
security: bump go version to 1.20.2 (#3935)
upgrade Go builder from Go1.20.1 to Go1.20.2
See the list of issues addressed in Go1.20.2 here (https://github.com/golang/go/issues?q=milestone%3AGo1.20.2+label%3ACherryPickApproved).

Signed-off-by: hagen1778 <roman@victoriametrics.com>
2023-03-12 01:41:36 -08:00

31 lines
1 KiB
Makefile

GO_VERSION ?=1.20.2
SNAP_BUILDER_IMAGE := local/snap-builder:2.0.0-$(shell echo $(GO_VERSION) | tr :/ __)
# truncate pkg_tag, snap has limitations for name length
SNAP_TAG := $(shell echo "$(PKG_TAG)" | cut -b1-31 )
snap-builder-image:
(docker image ls --format '{{.Repository}}:{{.Tag}}' | grep -q '$(SNAP_BUILDER_IMAGE)$$') \
|| docker build \
--build-arg GO_VERSION=$(GO_VERSION) \
--tag $(SNAP_BUILDER_IMAGE) \
snap/local
build-snap: snap-builder-image
docker run --rm \
--mount type=bind,src="$(shell pwd)",dst=/builder \
-w /builder \
--env PKG_TAG=$(SNAP_TAG) \
$(SNAP_BUILDER_IMAGE) \
bash -c 'snapcraft clean && snapcraft snap -o bin/'
release-snap: snap-builder-image build-snap
docker run --rm \
--mount type=bind,src=${HOME}/.snap,dst=/root/.snap \
--mount type=bind,src="$(shell pwd)",dst=/builder \
-w /builder \
--env PKG_TAG=$(SNAP_TAG) \
$(SNAP_BUILDER_IMAGE) \
bash -c 'snapcraft login --with /root/.snap/login.json && snapcraft upload "bin/victoriametrics_$(SNAP_TAG)_multi.snap" --release beta,edge,candidate,stable'