tools: check for git tag before promoting release

PR-URL: https://github.com/nodejs/node/pull/24670
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
This commit is contained in:
Rod Vagg 2018-11-27 20:31:29 +11:00 committed by Rich Trott
parent bbb9d3721b
commit 84c2157a60

View File

@ -81,6 +81,14 @@ fi
echo "Using GPG key: $gpgkey"
echo " Fingerprint: $gpgfing"
function checktag {
local version=$1
if ! git tag -v $version 2>&1 | grep "${gpgkey}" | grep key > /dev/null; then
echo "Could not find signed tag for \"${version}\" or GPG key is not yours"
exit 1
fi
}
################################################################################
## Create and sign checksums file for a given version
@ -90,11 +98,6 @@ function sign {
local version=$1
if ! git tag -v $version 2>&1 | grep "${gpgkey}" | grep key > /dev/null; then
echo "Could not find signed tag for \"${version}\" or GPG key is not yours"
exit 1
fi
ghtaggedversion=$(curl -sL https://raw.githubusercontent.com/nodejs/node/${version}/src/node_version.h \
| awk '/define NODE_(MAJOR|MINOR|PATCH)_VERSION/{ v = v "." $3 } END{ v = "v" substr(v, 2); print v }')
if [ "${version}" != "${ghtaggedversion}" ]; then
@ -150,7 +153,8 @@ function sign {
if [ -n "${signversion}" ]; then
sign ${signversion}
checktag $signversion
sign $signversion
exit 0
fi
@ -192,6 +196,8 @@ for version in $versions; do
continue
fi
checktag $version
echo -e "\n# Promoting ${version}..."
ssh ${customsshkey} ${webuser}@${webhost} $promotecmd nodejs $version