mirror of https://github.com/status-im/consul.git
Allow for building pre-releases/rcs/betas
This commit is contained in:
parent
9457468423
commit
12d14f6c54
|
@ -63,6 +63,12 @@ else
|
||||||
DIST_DATE_ARG=
|
DIST_DATE_ARG=
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifdef DIST_PRERELEASE
|
||||||
|
DIST_REL_ARG=-r "$(DIST_PRERELEASE)"
|
||||||
|
else
|
||||||
|
DIST_REL_ARG=
|
||||||
|
endif
|
||||||
|
|
||||||
PUB_GIT?=1
|
PUB_GIT?=1
|
||||||
PUB_WEBSITE?=1
|
PUB_WEBSITE?=1
|
||||||
|
|
||||||
|
@ -117,7 +123,7 @@ linux:
|
||||||
|
|
||||||
# dist builds binaries for all platforms and packages them for distribution
|
# dist builds binaries for all platforms and packages them for distribution
|
||||||
dist:
|
dist:
|
||||||
@$(SHELL) $(CURDIR)/build-support/scripts/release.sh -t '$(DIST_TAG)' -b '$(DIST_BUILD)' -S '$(DIST_SIGN)' $(DIST_VERSION_ARG) $(DIST_DATE_ARG)
|
@$(SHELL) $(CURDIR)/build-support/scripts/release.sh -t '$(DIST_TAG)' -b '$(DIST_BUILD)' -S '$(DIST_SIGN)' $(DIST_VERSION_ARG) $(DIST_DATE_ARG) $(DIST_REL_ARG)
|
||||||
|
|
||||||
publish:
|
publish:
|
||||||
@$(SHELL) $(CURDIR)/build-support/scripts/publish.sh $(PUB_GIT_ARG) $(PUB_WEBSITE_ARG)
|
@$(SHELL) $(CURDIR)/build-support/scripts/publish.sh $(PUB_GIT_ARG) $(PUB_WEBSITE_ARG)
|
||||||
|
|
|
@ -94,6 +94,7 @@ function parse_version {
|
||||||
# $1 - Path to the top level Consul source
|
# $1 - Path to the top level Consul source
|
||||||
# $2 - boolean value for whether the release version should be parsed from the source
|
# $2 - boolean value for whether the release version should be parsed from the source
|
||||||
# $3 - boolean whether to use GIT_DESCRIBE and GIT_COMMIT environment variables
|
# $3 - boolean whether to use GIT_DESCRIBE and GIT_COMMIT environment variables
|
||||||
|
# $4 - boolean whether to omit the version part of the version string. (optional)
|
||||||
#
|
#
|
||||||
# Return:
|
# Return:
|
||||||
# 0 - success (will write the version to stdout)
|
# 0 - success (will write the version to stdout)
|
||||||
|
@ -114,6 +115,7 @@ function parse_version {
|
||||||
|
|
||||||
local include_release="$2"
|
local include_release="$2"
|
||||||
local use_git_env="$3"
|
local use_git_env="$3"
|
||||||
|
local omit_version="$4"
|
||||||
|
|
||||||
local git_version=""
|
local git_version=""
|
||||||
local git_commit=""
|
local git_commit=""
|
||||||
|
@ -152,18 +154,17 @@ function parse_version {
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
|
|
||||||
|
local version="${version_main}"
|
||||||
# override the version from source with the value of the GIT_DESCRIBE env var if present
|
# override the version from source with the value of the GIT_DESCRIBE env var if present
|
||||||
if test -n "${git_version}"
|
if test -n "${git_version}"
|
||||||
then
|
then
|
||||||
version="${git_version}"
|
version="${git_version}"
|
||||||
else
|
|
||||||
version="${version_main}"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
local rel_ver=""
|
||||||
if is_set "${include_release}"
|
if is_set "${include_release}"
|
||||||
then
|
then
|
||||||
# Get the release version out of the source file
|
# Default to pre-release from the source
|
||||||
rel_ver="${release_main}"
|
rel_ver="${release_main}"
|
||||||
|
|
||||||
# When no GIT_DESCRIBE env var is present and no release is in the source then we
|
# When no GIT_DESCRIBE env var is present and no release is in the source then we
|
||||||
|
@ -174,21 +175,28 @@ function parse_version {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Add the release to the version
|
# Add the release to the version
|
||||||
if test -n "${rel_ver}"
|
if test -n "${rel_ver}" -a -n "${git_commit}"
|
||||||
then
|
then
|
||||||
version="${version}-${rel_ver}"
|
rel_ver="${rel_ver} (${git_commit})"
|
||||||
|
|
||||||
# add the git commit to the version
|
|
||||||
if test -n "${git_commit}"
|
|
||||||
then
|
|
||||||
version="${version} (${git_commit})"
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Output the version
|
if test -n "${rel_ver}"
|
||||||
echo "$version" | tr -d "'"
|
then
|
||||||
return 0
|
if is_set "${omit_version}"
|
||||||
|
then
|
||||||
|
echo "${rel_ver}" | tr -d "'"
|
||||||
|
else
|
||||||
|
echo "${version}-${rel_ver}" | tr -d "'"
|
||||||
|
fi
|
||||||
|
return 0
|
||||||
|
elif ! is_set "${omit_version}"
|
||||||
|
then
|
||||||
|
echo "${version}" | tr -d "'"
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
function get_version {
|
function get_version {
|
||||||
|
@ -624,6 +632,7 @@ function set_release_mode {
|
||||||
# $1 - Path to top level Consul source
|
# $1 - Path to top level Consul source
|
||||||
# $2 - The version of the release
|
# $2 - The version of the release
|
||||||
# $3 - The release date
|
# $3 - The release date
|
||||||
|
# $4 - The pre-release version
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# Returns:
|
# Returns:
|
||||||
|
@ -651,11 +660,17 @@ function set_release_mode {
|
||||||
rel_date="$3"
|
rel_date="$3"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
status_stage "==> Updating CHANGELOG.md with release info: ${vers} (${rel_date})"
|
local changelog_vers="${vers}"
|
||||||
set_changelog_version "${sdir}" "${vers}" "${rel_date}" || return 1
|
if test -n "$4"
|
||||||
|
then
|
||||||
|
changelog_vers="${vers}-$4"
|
||||||
|
fi
|
||||||
|
|
||||||
|
status_stage "==> Updating CHANGELOG.md with release info: ${changelog_vers} (${rel_date})"
|
||||||
|
set_changelog_version "${sdir}" "${changelog_vers}" "${rel_date}" || return 1
|
||||||
|
|
||||||
status_stage "==> Updating version/version.go"
|
status_stage "==> Updating version/version.go"
|
||||||
if ! update_version "${sdir}/version/version.go" "${vers}"
|
if ! update_version "${sdir}/version/version.go" "${vers}" "$4"
|
||||||
then
|
then
|
||||||
unset_changelog_version "${sdir}"
|
unset_changelog_version "${sdir}"
|
||||||
return 1
|
return 1
|
||||||
|
|
|
@ -349,7 +349,8 @@ function build_release {
|
||||||
# $4 - boolean whether to generate the sha256 sums
|
# $4 - boolean whether to generate the sha256 sums
|
||||||
# $5 - version to set within version.go and the changelog
|
# $5 - version to set within version.go and the changelog
|
||||||
# $6 - release date to set within the changelog
|
# $6 - release date to set within the changelog
|
||||||
# $7 - alternative gpg key to use for signing operations (optional)
|
# $7 - release version to set
|
||||||
|
# $8 - alternative gpg key to use for signing operations (optional)
|
||||||
#
|
#
|
||||||
# Returns:
|
# Returns:
|
||||||
# 0 - success
|
# 0 - success
|
||||||
|
@ -361,7 +362,8 @@ function build_release {
|
||||||
debug "Sign Release: $4"
|
debug "Sign Release: $4"
|
||||||
debug "Version: $5"
|
debug "Version: $5"
|
||||||
debug "Release Date: $6"
|
debug "Release Date: $6"
|
||||||
debug "GPG Key: $7"
|
debug "Release Vers: $7"
|
||||||
|
debug "GPG Key: $8"
|
||||||
|
|
||||||
if ! test -d "$1"
|
if ! test -d "$1"
|
||||||
then
|
then
|
||||||
|
@ -379,7 +381,7 @@ function build_release {
|
||||||
local do_tag="$2"
|
local do_tag="$2"
|
||||||
local do_build="$3"
|
local do_build="$3"
|
||||||
local do_sha256="$4"
|
local do_sha256="$4"
|
||||||
local gpg_key="$7"
|
local gpg_key="$8"
|
||||||
|
|
||||||
if test -z "${gpg_key}"
|
if test -z "${gpg_key}"
|
||||||
then
|
then
|
||||||
|
@ -403,13 +405,15 @@ function build_release {
|
||||||
|
|
||||||
local set_vers="$5"
|
local set_vers="$5"
|
||||||
local set_date="$6"
|
local set_date="$6"
|
||||||
|
local set_release="$7"
|
||||||
|
|
||||||
if test -z "${set_vers}"
|
if test -z "${set_vers}"
|
||||||
then
|
then
|
||||||
set_vers=$(get_version "${sdir}" false false)
|
set_vers=$(get_version "${sdir}" false false)
|
||||||
|
set_release=$(parse_version "${sdir}" true false true)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if is_set "${do_tag}" && ! set_release_mode "${sdir}" "${set_vers}" "${set_date}"
|
if is_set "${do_tag}" && ! set_release_mode "${sdir}" "${set_vers}" "${set_date}" "${set_release}"
|
||||||
then
|
then
|
||||||
err "ERROR: Failed to put source into release mode"
|
err "ERROR: Failed to put source into release mode"
|
||||||
return 1
|
return 1
|
||||||
|
|
|
@ -54,6 +54,8 @@ Options:
|
||||||
|
|
||||||
-d | --date DATE The release date. Defaults to today.
|
-d | --date DATE The release date. Defaults to today.
|
||||||
|
|
||||||
|
-r | --release STRING The prerelease version. Defaults to an empty pre-release.
|
||||||
|
|
||||||
-h | --help Print this help text.
|
-h | --help Print this help text.
|
||||||
EOF
|
EOF
|
||||||
}
|
}
|
||||||
|
@ -81,6 +83,7 @@ function main {
|
||||||
declare -i do_sign=1
|
declare -i do_sign=1
|
||||||
declare gpg_key="${HASHICORP_GPG_KEY}"
|
declare gpg_key="${HASHICORP_GPG_KEY}"
|
||||||
declare version=""
|
declare version=""
|
||||||
|
declare release_ver=""
|
||||||
declare release_date=$(date +"%B %d, %Y")
|
declare release_date=$(date +"%B %d, %Y")
|
||||||
|
|
||||||
while test $# -gt 0
|
while test $# -gt 0
|
||||||
|
@ -128,11 +131,15 @@ function main {
|
||||||
shift 2
|
shift 2
|
||||||
;;
|
;;
|
||||||
-d | --date)
|
-d | --date)
|
||||||
echo "$2"
|
|
||||||
ensure_arg "-d/--date" "$2" || return 1
|
ensure_arg "-d/--date" "$2" || return 1
|
||||||
release_date="$2"
|
release_date="$2"
|
||||||
shift 2
|
shift 2
|
||||||
;;
|
;;
|
||||||
|
-r | --release)
|
||||||
|
ensure_arg "-r/--release" "$2" || return 1
|
||||||
|
release_ver="$2"
|
||||||
|
shift 2
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
err_usage "ERROR: Unknown argument: '$1'"
|
err_usage "ERROR: Unknown argument: '$1'"
|
||||||
return 1
|
return 1
|
||||||
|
@ -140,7 +147,7 @@ function main {
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
build_release "${sdir}" "${do_tag}" "${do_build}" "${do_sign}" "${version}" "${release_date}" "${gpg_key}"
|
build_release "${sdir}" "${do_tag}" "${do_build}" "${do_sign}" "${version}" "${release_date}" "${release_ver}" "${gpg_key}"
|
||||||
return $?
|
return $?
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue