Move some things around and add in consul version confirmation to publishing checks
This commit is contained in:
parent
237c78d4a4
commit
d99ca00d74
|
@ -7,15 +7,22 @@ GO_BUILD_TAG?=consul-build-go
|
||||||
UI_BUILD_TAG?=consul-build-ui
|
UI_BUILD_TAG?=consul-build-ui
|
||||||
UI_LEGACY_BUILD_TAG?=consul-build-ui-legacy
|
UI_LEGACY_BUILD_TAG?=consul-build-ui-legacy
|
||||||
|
|
||||||
|
DOCKER_BUILD_QUIET?=1
|
||||||
|
ifeq (${DOCKER_BUILD_QUIET},1)
|
||||||
|
QUIET=-q
|
||||||
|
else
|
||||||
|
QUIET=
|
||||||
|
endif
|
||||||
|
|
||||||
images: go-build-image ui-build-image ui-legacy-build-image
|
images: go-build-image ui-build-image ui-legacy-build-image
|
||||||
|
|
||||||
go-build-image:
|
go-build-image:
|
||||||
docker build $(NOCACHE) -t $(GO_BUILD_TAG) -f Build-Go.dockerfile .
|
docker build $(NOCACHE) $(QUIET) -t $(GO_BUILD_TAG) -f Build-Go.dockerfile .
|
||||||
|
|
||||||
ui-build-image:
|
ui-build-image:
|
||||||
docker build $(NOCACHE) -t $(UI_BUILD_TAG) -f Build-UI.dockerfile .
|
docker build $(NOCACHE) $(QUIET) -t $(UI_BUILD_TAG) -f Build-UI.dockerfile .
|
||||||
|
|
||||||
ui-legacy-build-image:
|
ui-legacy-build-image:
|
||||||
docker build $(NOCACHE) -t $(UI_LEGACY_BUILD_TAG) -f Build-UI-Legacy.dockerfile .
|
docker build $(NOCACHE) $(QUIET) -t $(UI_LEGACY_BUILD_TAG) -f Build-UI-Legacy.dockerfile .
|
||||||
|
|
||||||
.PHONY: images go-build-image ui-build-image ui-legacy-build-image
|
.PHONY: images go-build-image ui-build-image ui-legacy-build-image
|
||||||
|
|
|
@ -357,57 +357,6 @@ function find_git_remote {
|
||||||
return $ret
|
return $ret
|
||||||
}
|
}
|
||||||
|
|
||||||
function confirm_git_push_changes {
|
|
||||||
# Arguments:
|
|
||||||
# $1 - Path to git repo
|
|
||||||
#
|
|
||||||
# Returns:
|
|
||||||
# 0 - success
|
|
||||||
# * - error
|
|
||||||
#
|
|
||||||
|
|
||||||
if ! test -d "$1"
|
|
||||||
then
|
|
||||||
err "ERROR: '$1' is not a directory. confirm_git_push_changes must be called with the path to a git repo as the first argument'"
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
pushd "${1}" > /dev/null
|
|
||||||
|
|
||||||
|
|
||||||
declare -i ret=0
|
|
||||||
git_log_summary || ret=1
|
|
||||||
if test ${ret} -eq 0
|
|
||||||
then
|
|
||||||
# put a empty line between the git changes and the prompt
|
|
||||||
echo ""
|
|
||||||
|
|
||||||
local answer=""
|
|
||||||
|
|
||||||
while true
|
|
||||||
do
|
|
||||||
case "${answer}" in
|
|
||||||
[yY]* )
|
|
||||||
status "Changes Accepted"
|
|
||||||
ret=0
|
|
||||||
break
|
|
||||||
;;
|
|
||||||
[nN]* )
|
|
||||||
err "Changes Rejected"
|
|
||||||
ret=1
|
|
||||||
break
|
|
||||||
;;
|
|
||||||
* )
|
|
||||||
read -p "Are these changes correct? [y/n]: " answer
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
|
|
||||||
popd > /dev/null
|
|
||||||
return $ret
|
|
||||||
}
|
|
||||||
|
|
||||||
function is_git_clean {
|
function is_git_clean {
|
||||||
# Arguments:
|
# Arguments:
|
||||||
# $1 - Path to git repo
|
# $1 - Path to git repo
|
||||||
|
|
|
@ -72,6 +72,115 @@ function push_git_release {
|
||||||
return $ret
|
return $ret
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function confirm_git_push_changes {
|
||||||
|
# Arguments:
|
||||||
|
# $1 - Path to git repo
|
||||||
|
#
|
||||||
|
# Returns:
|
||||||
|
# 0 - success
|
||||||
|
# * - error
|
||||||
|
#
|
||||||
|
|
||||||
|
if ! test -d "$1"
|
||||||
|
then
|
||||||
|
err "ERROR: '$1' is not a directory. confirm_git_push_changes must be called with the path to a git repo as the first argument'"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
pushd "${1}" > /dev/null
|
||||||
|
|
||||||
|
|
||||||
|
declare -i ret=0
|
||||||
|
git_log_summary || ret=1
|
||||||
|
if test ${ret} -eq 0
|
||||||
|
then
|
||||||
|
# put a empty line between the git changes and the prompt
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
local answer=""
|
||||||
|
|
||||||
|
while true
|
||||||
|
do
|
||||||
|
case "${answer}" in
|
||||||
|
[yY]* )
|
||||||
|
status "Changes Accepted"
|
||||||
|
ret=0
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
[nN]* )
|
||||||
|
err "Changes Rejected"
|
||||||
|
ret=1
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
read -p "Are these changes correct? [y/n]: " answer
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
popd > /dev/null
|
||||||
|
return $ret
|
||||||
|
}
|
||||||
|
|
||||||
|
function confirm_consul_version {
|
||||||
|
# Arguments:
|
||||||
|
# $1 - Path to the release files
|
||||||
|
# $2 - Version to look for
|
||||||
|
#
|
||||||
|
# Returns:
|
||||||
|
# 0 - success
|
||||||
|
# * - error
|
||||||
|
|
||||||
|
local zfile="${1}/consul_${2}_$(go env GOOS)_$(go env GOARCH).zip"
|
||||||
|
|
||||||
|
if ! test -f "${zfile}"
|
||||||
|
then
|
||||||
|
err "ERROR: File not found or is not a regular file: ${zfile}"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
local ret=0
|
||||||
|
local tfile="$(mktemp) -t "consul_")"
|
||||||
|
|
||||||
|
unzip -p "${zfile}" "consul" > "${tfile}"
|
||||||
|
if test $? -eq 0
|
||||||
|
then
|
||||||
|
chmod +x "${tfile}"
|
||||||
|
"${tfile}" version
|
||||||
|
|
||||||
|
# put a empty line between the version output and the prompt
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
local answer=""
|
||||||
|
|
||||||
|
while true
|
||||||
|
do
|
||||||
|
case "${answer}" in
|
||||||
|
[yY]* )
|
||||||
|
status "Version Accepted"
|
||||||
|
ret=0
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
[nN]* )
|
||||||
|
err "Version Rejected"
|
||||||
|
ret=1
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
read -p "Is this Consul version correct? [y/n]: " answer
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
else
|
||||||
|
err "ERROR: Failed to extract consul binary from the zip file"
|
||||||
|
ret=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm "${tfile}" > /dev/null 2>&1
|
||||||
|
return ${ret}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
function publish_release {
|
function publish_release {
|
||||||
# Arguments:
|
# Arguments:
|
||||||
|
@ -110,8 +219,11 @@ function publish_release {
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
status_page "==> Verifying release files"
|
status_stage "==> Verifying release files"
|
||||||
check_release "${sdir}/pkg/dist" "${vers}" true
|
check_release "${sdir}/pkg/dist" "${vers}" true || return 1
|
||||||
|
|
||||||
|
status_stage "==> Confirming Consul Version"
|
||||||
|
confirm_consul_version "${sdir}/pkg/dist" "${vers}" || return 1
|
||||||
|
|
||||||
status_stage "==> Confirming Git is clean"
|
status_stage "==> Confirming Git is clean"
|
||||||
is_git_clean "$1" true || return 1
|
is_git_clean "$1" true || return 1
|
||||||
|
|
Loading…
Reference in New Issue