From 6a229db7d87ee37866236abeef2cc2b5d51a429c Mon Sep 17 00:00:00 2001 From: rickstaa Date: Sat, 12 Dec 2020 16:15:09 +0100 Subject: [PATCH] :sparkles: Adds support for single quotes --- .gitignore | 3 ++- entrypoint.sh | 14 +++++++------- testdata/testfile | 32 ++++++++++++++++---------------- 3 files changed, 25 insertions(+), 24 deletions(-) diff --git a/.gitignore b/.gitignore index 7608ff0..3474307 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ # Files to ignore # Folders to ignore -.vscode/ \ No newline at end of file +.vscode/ +*.code-workspace \ No newline at end of file diff --git a/entrypoint.sh b/entrypoint.sh index 42f81bc..61c5791 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -5,12 +5,12 @@ if [ -n "${GITHUB_WORKSPACE}" ]; then cd "${GITHUB_WORKSPACE}" || exit fi -FILE="${INPUT_FILE:-Dockerfile}" +FILE="${INPUT_FILE:-testdata/testfile}" REPO="${INPUT_REPO:-reviewdog/reviewdog}" VERSION_NAME="${INPUT_VERSION_NAME:-REVIEWDOG_VERSION}" # Get current version. -CURRENT_VERSION=$(grep -oP "${VERSION_NAME}(?:\s?=\s?|:?\s+)\"?v?\K\d+\.\d+(\.\d+)?(-[^\"\s]*)?" "${FILE}" | head -n1) +CURRENT_VERSION=$(grep -oP "${VERSION_NAME}(?:\s*=\s*|:?\s*)[\"|\']?v?\K\d+\.\d+(\.\d+)?(-[^\'\"\s]*)?" "${FILE}" | head -n1) if [ -z "${CURRENT_VERSION}" ]; then echo "cannot parse ${VERSION_NAME}" exit 1 @@ -26,13 +26,13 @@ list_releases() { curl -s "https://api.github.com/repos/${REPO}/releases" fi } -LATEST_VERSION=$(\ +LATEST_VERSION="$(\ list_releases | \ jq -r '.[] | .tag_name' | \ - grep -oP '\d+\.\d+(\.\d+)?(-[^\"\s]*)?$' | \ + grep -oP '\d+\.\d+(\.\d+)?(-[^'\''\"\s]*)?$' | \ sort --version-sort --reverse | \ - head -n1 -) + head -n1 \ +)" if [ -z "${LATEST_VERSION}" ]; then echo "cannot get latest ${REPO} version" exit 1 @@ -45,7 +45,7 @@ if [ "${CURRENT_VERSION}" = "${LATEST_VERSION}" ]; then fi echo "Updating ${VERSION_NAME} to ${LATEST_VERSION} in ${FILE}" -perl -i -pe "s/${VERSION_NAME}(?:\s?=\s?|:?\s+)\"?v?\K\d+\.\d+(\.\d+)?(-[^\"\s]*)?/${LATEST_VERSION}/g" "${FILE}" +perl -i -pe "s/${VERSION_NAME}(?:\s*=\s*|:?\s*)[\"|\']?v?\K\d+\.\d+(\.\d+)?(-[^\'\"\s]*)?/${LATEST_VERSION}/g" "${FILE}" echo "Updated. Commit and create Pull-Request as you need." echo "::set-output name=current::${CURRENT_VERSION}" diff --git a/testdata/testfile b/testdata/testfile index 5d8531b..f8234c4 100644 --- a/testdata/testfile +++ b/testdata/testfile @@ -1,22 +1,22 @@ This is test file. -REVIEWDOG_VERSION=v0.1.0 -REVIEWDOG_VERSION = v0.1.0 -REVIEWDOG_VERSION=0.1.0 -REVIEWDOG_VERSION = 0.1.0 -REVIEWDOG_VERSION="v0.1.0" -REVIEWDOG_VERSION = "v0.1.0" -REVIEWDOG_VERSION="0.1.0" -REVIEWDOG_VERSION = "0.1.0" -REVIEWDOG_VERSION="v0.1.0-nightly20201208+12faa31" -REVIEWDOG_VERSION = "v0.1.0-nightly20201208+12faa31" -REVIEWDOG_VERSION="0.1.0-nightly20201208+12faa31" -REVIEWDOG_VERSION = "0.1.0-nightly20201208+12faa31" -ENV REVIEWDOG_VERSION=0.1.0 -ENV REVIEWDOG_VERSION 0.1.0 -ARG REVIEWDOG_VERSION=0.1.0 +REVIEWDOG_VERSION=v0.11.0 +REVIEWDOG_VERSION = v0.11.0 +REVIEWDOG_VERSION=0.11.0 +REVIEWDOG_VERSION = 0.11.0 +REVIEWDOG_VERSION="v0.11.0" +REVIEWDOG_VERSION = "v0.11.0" +REVIEWDOG_VERSION="0.11.0" +REVIEWDOG_VERSION = "0.11.0" +REVIEWDOG_VERSION="v0.11.0" +REVIEWDOG_VERSION = "v0.11.0" +REVIEWDOG_VERSION="0.11.0" +REVIEWDOG_VERSION = "0.11.0" +ENV REVIEWDOG_VERSION=0.11.0 +ENV REVIEWDOG_VERSION 0.11.0 +ARG REVIEWDOG_VERSION=0.11.0 yaml: - REVIEWDOG_VERSION: 0.1.0 + REVIEWDOG_VERSION: 0.11.0 The above version should be updated to the latest version with this action.