Adds support for single quotes

This commit is contained in:
rickstaa
2020-12-12 16:15:09 +01:00
parent 374f5b7b5b
commit 6a229db7d8
3 changed files with 25 additions and 24 deletions

1
.gitignore vendored
View File

@@ -2,3 +2,4 @@
# Folders to ignore # Folders to ignore
.vscode/ .vscode/
*.code-workspace

View File

@@ -5,12 +5,12 @@ if [ -n "${GITHUB_WORKSPACE}" ]; then
cd "${GITHUB_WORKSPACE}" || exit cd "${GITHUB_WORKSPACE}" || exit
fi fi
FILE="${INPUT_FILE:-Dockerfile}" FILE="${INPUT_FILE:-testdata/testfile}"
REPO="${INPUT_REPO:-reviewdog/reviewdog}" REPO="${INPUT_REPO:-reviewdog/reviewdog}"
VERSION_NAME="${INPUT_VERSION_NAME:-REVIEWDOG_VERSION}" VERSION_NAME="${INPUT_VERSION_NAME:-REVIEWDOG_VERSION}"
# Get current 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 if [ -z "${CURRENT_VERSION}" ]; then
echo "cannot parse ${VERSION_NAME}" echo "cannot parse ${VERSION_NAME}"
exit 1 exit 1
@@ -26,13 +26,13 @@ list_releases() {
curl -s "https://api.github.com/repos/${REPO}/releases" curl -s "https://api.github.com/repos/${REPO}/releases"
fi fi
} }
LATEST_VERSION=$(\ LATEST_VERSION="$(\
list_releases | \ list_releases | \
jq -r '.[] | .tag_name' | \ jq -r '.[] | .tag_name' | \
grep -oP '\d+\.\d+(\.\d+)?(-[^\"\s]*)?$' | \ grep -oP '\d+\.\d+(\.\d+)?(-[^'\''\"\s]*)?$' | \
sort --version-sort --reverse | \ sort --version-sort --reverse | \
head -n1 head -n1 \
) )"
if [ -z "${LATEST_VERSION}" ]; then if [ -z "${LATEST_VERSION}" ]; then
echo "cannot get latest ${REPO} version" echo "cannot get latest ${REPO} version"
exit 1 exit 1
@@ -45,7 +45,7 @@ if [ "${CURRENT_VERSION}" = "${LATEST_VERSION}" ]; then
fi fi
echo "Updating ${VERSION_NAME} to ${LATEST_VERSION} in ${FILE}" 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 "Updated. Commit and create Pull-Request as you need."
echo "::set-output name=current::${CURRENT_VERSION}" echo "::set-output name=current::${CURRENT_VERSION}"

32
testdata/testfile vendored
View File

@@ -1,22 +1,22 @@
This is test file. This is test file.
REVIEWDOG_VERSION=v0.1.0 REVIEWDOG_VERSION=v0.11.0
REVIEWDOG_VERSION = v0.1.0 REVIEWDOG_VERSION = v0.11.0
REVIEWDOG_VERSION=0.1.0 REVIEWDOG_VERSION=0.11.0
REVIEWDOG_VERSION = 0.1.0 REVIEWDOG_VERSION = 0.11.0
REVIEWDOG_VERSION="v0.1.0" REVIEWDOG_VERSION="v0.11.0"
REVIEWDOG_VERSION = "v0.1.0" REVIEWDOG_VERSION = "v0.11.0"
REVIEWDOG_VERSION="0.1.0" REVIEWDOG_VERSION="0.11.0"
REVIEWDOG_VERSION = "0.1.0" REVIEWDOG_VERSION = "0.11.0"
REVIEWDOG_VERSION="v0.1.0-nightly20201208+12faa31" REVIEWDOG_VERSION="v0.11.0"
REVIEWDOG_VERSION = "v0.1.0-nightly20201208+12faa31" REVIEWDOG_VERSION = "v0.11.0"
REVIEWDOG_VERSION="0.1.0-nightly20201208+12faa31" REVIEWDOG_VERSION="0.11.0"
REVIEWDOG_VERSION = "0.1.0-nightly20201208+12faa31" REVIEWDOG_VERSION = "0.11.0"
ENV REVIEWDOG_VERSION=0.1.0 ENV REVIEWDOG_VERSION=0.11.0
ENV REVIEWDOG_VERSION 0.1.0 ENV REVIEWDOG_VERSION 0.11.0
ARG REVIEWDOG_VERSION=0.1.0 ARG REVIEWDOG_VERSION=0.11.0
yaml: yaml:
REVIEWDOG_VERSION: 0.1.0 REVIEWDOG_VERSION: 0.11.0
The above version should be updated to the latest version with this action. The above version should be updated to the latest version with this action.