Merge pull request #23763 from david-mcmahon/build-regex

Automatic merge from submit-queue

Fix valid CI version regex in parse_and_validate_release_version().

Ref: #23759
cc @ihmccreery
This commit is contained in:
k8s-merge-robot 2016-04-12 05:19:55 -07:00
commit af1803bfb9

View File

@ -423,17 +423,17 @@ function kube::release::parse_and_validate_release_version() {
# version # version
# Returns: # Returns:
# If version is a valid ci version # If version is a valid ci version
# Sets: (e.g. for '1.2.3-alpha.4.56+abcd789-dirty') # Sets: (e.g. for '1.2.3-alpha.4.56+abcdef12345678')
# VERSION_MAJOR (e.g. '1') # VERSION_MAJOR (e.g. '1')
# VERSION_MINOR (e.g. '2') # VERSION_MINOR (e.g. '2')
# VERSION_PATCH (e.g. '3') # VERSION_PATCH (e.g. '3')
# VERSION_PRERELEASE (e.g. 'alpha') # VERSION_PRERELEASE (e.g. 'alpha')
# VERSION_PRERELEASE_REV (e.g. '4') # VERSION_PRERELEASE_REV (e.g. '4')
# VERSION_BUILD_INFO (e.g. '.56+abcd789-dirty') # VERSION_BUILD_INFO (e.g. '.56+abcdef12345678')
# VERSION_COMMITS (e.g. '56') # VERSION_COMMITS (e.g. '56')
function kube::release::parse_and_validate_ci_version() { function kube::release::parse_and_validate_ci_version() {
# Accept things like "v1.2.3-alpha.4.56+abcd789-dirty" or "v1.2.3-beta.4.56" # Accept things like "v1.2.3-alpha.4.56+abcdef12345678" or "v1.2.3-beta.4"
local -r version_regex="^v(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)-(beta|alpha)\\.(0|[1-9][0-9]*)(\\.(0|[1-9][0-9]*)\\+[-0-9a-z]*)?$" local -r version_regex="^v(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)-(beta|alpha)\\.(0|[1-9][0-9]*)(\\.(0|[1-9][0-9]*)\\+[0-9a-f]{7,40})?$"
local -r version="${1-}" local -r version="${1-}"
[[ "${version}" =~ ${version_regex} ]] || { [[ "${version}" =~ ${version_regex} ]] || {
kube::log::error "Invalid ci version: '${version}', must match regex ${version_regex}" kube::log::error "Invalid ci version: '${version}', must match regex ${version_regex}"