#!/bin/sh -ex

ssh kernel1 ssh search-precise.dupload.dist.yandex.ru true

pkg="yandex-porto"
dists="bionic precise xenial trusty"
arch=amd64
branch=`git symbolic-ref --short HEAD`
ver=`sed -nE 's#.*\((.*)\).*#\1#p;q' debian/changelog`

commit() {
	gbp dch --new-version $(echo ${ver} | perl -pe 's/^((\d*\D+)*)(\d+)$/$1.($3+1)/e') --distribution=unstable --urgency=low --ignore-branch
	ver=`sed -nE 's#.*\((.*)\).*#\1#p;q' debian/changelog`
	stg new -m "release: ${ver}"
	stg refresh debian/changelog
	git tag -f -s "v${ver}" -m "release: ${ver}"
}

build() {
	gitpkg "$branch"
	scp "../deb-packages/${pkg}/${pkg}_${ver}."* kernel1:

	#git push -f kernel1:porto v${ver}:build
	#ssh kernel1 "cd porto && git checkout -f build && git clean -fdx && dpkg-source -b ."
	#ssh kerenl2 "porto-release yandex-porto_${ver}.dsc"

	for dist in $dists ; do
		time ssh kernel1 sudo pbuilder --build --distribution "${dist}" --configfile "/place/pbuilder/pbuilderrc" "${pkg}_${ver}.dsc"
	done

	for dist in $dists ; do
		debsign -pgpg1 -r kernel1 "/place/pbuilder/${dist}-${arch}/result/${pkg}_${ver}_${arch}.changes"
	done
}

upload() {
	for dist in $dists ; do
		ssh kernel1 dupload --to "porto-${dist}" "/place/pbuilder/${dist}-${arch}/result/${pkg}_${ver}_${arch}.changes"
	done

	stg commit -a
	git push origin
	git push origin -f v${ver}:v${ver}
	git push old
}

pypi() {
	make -C src/api/python/
	( cd src/api/python/ ; python setup.py sdist upload -r yandex )
}

case "$1" in
all)
	commit
	build
	upload
;;
commit)
	commit
;;
build)
	build
;;
upload)
	upload
;;
pypi)
	pypi
;;
"")
	echo "Usage: $0 all|commit|build|upload"
;;
esac
