From 999b1d23e0bcf437ee9450de8f6b1ab6deadcf45 Mon Sep 17 00:00:00 2001 From: Julius Volz Date: Sat, 10 Oct 2015 00:49:08 +0200 Subject: [PATCH] Add tarballs target to build release tarballs. --- Makefile | 7 ++++++- scripts/release_tarballs.sh | 42 +++++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+), 1 deletion(-) create mode 100755 scripts/release_tarballs.sh diff --git a/Makefile b/Makefile index f76a5480e..d91dc8070 100644 --- a/Makefile +++ b/Makefile @@ -41,6 +41,10 @@ build: @echo ">> building binaries" @./scripts/build.sh +tarballs: + @echo ">> building release tarballs" + @./scripts/release_tarballs.sh + docker: @docker build -t prometheus:$(shell git rev-parse --short HEAD) . @@ -50,4 +54,5 @@ assets: @go-bindata $(bindata_flags) -pkg ui -o web/ui/bindata.go -ignore '(.*\.map|bootstrap\.js|bootstrap-theme\.css|bootstrap\.css)' web/ui/templates/... web/ui/static/... -.PHONY: all style format build test vet docker assets +.PHONY: all style format build test vet docker assets tarballs + diff --git a/scripts/release_tarballs.sh b/scripts/release_tarballs.sh new file mode 100755 index 000000000..464a63546 --- /dev/null +++ b/scripts/release_tarballs.sh @@ -0,0 +1,42 @@ +#!/usr/bin/env bash + +# Copyright 2015 The Prometheus Authors +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +set -e + +version=$(cat version/VERSION) + +for GOOS in "darwin" "freebsd" "linux" "windows"; do + for GOARCH in "amd64" "386"; do + export GOARCH + export GOOS + make build + + tarball_dir="prometheus-${version}.${GOOS}-${GOARCH}" + tarball="${tarball_dir}.tar.gz" + + if [ "$(go env GOOS)" = "windows" ]; then + ext=".exe" + fi + + echo " > $tarball" + mkdir -p "${tarball_dir}" + cp -a "prometheus${ext}" "promtool${ext}" consoles console_libraries "${tarball_dir}" + tar --owner=root --group=root -czf "${tarball}" "${tarball_dir}" + rm -rf "${tarball_dir}" + rm "prometheus${ext}" "promtool${ext}" + done +done + +exit 0