From bb1dcffbd3e5ec39a2ebe0e7c6b824b7e9b59c39 Mon Sep 17 00:00:00 2001 From: Tsuyoshi CHO Date: Sun, 14 Feb 2021 16:42:19 +0900 Subject: [PATCH] fix review suggest : create listup function --- entrypoint.sh | 34 +++++++++++++++------------------- 1 file changed, 15 insertions(+), 19 deletions(-) diff --git a/entrypoint.sh b/entrypoint.sh index b306b64..bfb2a56 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -28,25 +28,21 @@ list_releases() { fi } -LATEST_VERSION="${CURRENT_VERSION}" -if [ "${INPUT_TAG:-false}" = "true" ]; then - echo "Check remote tag instead of release" >&2 - LATEST_VERSION="$(\ - git ls-remote -q --tags "https://github.com/${REPO}.git" | \ - awk '{ print $2 }' | \ - grep -oP '\d+\.\d+(\.\d+)*(-[^'\''\"\s]*)?$' | \ - sort --version-sort --reverse | \ - head -n1 \ - )" -else - LATEST_VERSION="$(\ - list_releases | \ - jq -r '.[] | .tag_name' | \ - grep -oP '\d+\.\d+(\.\d+)*(-[^'\''\"\s]*)?$' | \ - sort --version-sort --reverse | \ - head -n1 \ - )" -fi +# Return version list from tags(refs/tags/vA.B.C and vA.B.C^{}) or releases +list_versions() { + if [ "${INPUT_TAG:-false}" = "true" ]; then + git ls-remote -q --tags "https://github.com/${REPO}.git" | awk '{ print $2 }' + else + list_releases | jq -r '.[] | .tag_name' + fi +} + +LATEST_VERSION="$(\ + list_versions | \ + grep -oP '\d+\.\d+(\.\d+)*(-[^'\''\"\s]*)?$' | \ + sort --version-sort --reverse | \ + head -n1 \ + )" if [ -z "${LATEST_VERSION}" ]; then echo "cannot get latest ${REPO} version"