Add support tag checker

This commit is contained in:
Tsuyoshi CHO
2021-02-14 13:55:28 +09:00
parent d5c4451fff
commit bbfd8c9cac
2 changed files with 25 additions and 7 deletions

View File

@@ -14,6 +14,10 @@ inputs:
repo:
description: 'target GitHub repository. e.g. reviewdog/reviewdog'
required: true
tag:
description: 'Check tags instead of releases.'
default: 'false'
required: false
runs:
using: 'docker'
image: 'Dockerfile'

View File

@@ -27,13 +27,27 @@ list_releases() {
curl -s "https://api.github.com/repos/${REPO}/releases"
fi
}
LATEST_VERSION="$(\
list_releases | \
jq -r '.[] | .tag_name' | \
grep -oP '\d+\.\d+(\.\d+)?(-[^'\''\"\s]*)?$' | \
sort --version-sort --reverse | \
head -n1 \
)"
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
if [ -z "${LATEST_VERSION}" ]; then
echo "cannot get latest ${REPO} version"
exit 1