From 677dc8c6d739b5732b9243118778fa4944421a5b Mon Sep 17 00:00:00 2001 From: Santiago Bernhardt Date: Sat, 6 May 2023 20:46:16 +1200 Subject: [PATCH 1/3] Node 18 and bash set +e --- Dockerfile | 2 +- entrypoint.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index b64fc5be..22fccf35 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM node:16-alpine +FROM node:18-alpine LABEL "repository"="https://github.com/anothrNick/github-tag-action" LABEL "homepage"="https://github.com/anothrNick/github-tag-action" LABEL "maintainer"="Nick Sjostrom" diff --git a/entrypoint.sh b/entrypoint.sh index b09ea3be..df227d21 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -1,6 +1,6 @@ #!/bin/bash -set -o pipefail +set -eo pipefail # config default_semvar_bump=${DEFAULT_BUMP:-minor} From 5972b1f36ac90e31e275d54eeb5c3e66039a94fb Mon Sep 17 00:00:00 2001 From: Santiago Bernhardt Date: Sat, 6 May 2023 21:20:30 +1200 Subject: [PATCH 2/3] Sort grep to default to always 0 --- entrypoint.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/entrypoint.sh b/entrypoint.sh index df227d21..9b71dcf6 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -81,12 +81,12 @@ preTagFmt="^v?[0-9]+\.[0-9]+\.[0-9]+(-$suffix\.[0-9]+)$" # get latest tag that looks like a semver (with or without v) case "$tag_context" in *repo*) - tag="$(git for-each-ref --sort=-v:refname --format '%(refname:lstrip=2)' | grep -E "$tagFmt" | head -n 1)" - pre_tag="$(git for-each-ref --sort=-v:refname --format '%(refname:lstrip=2)' | grep -E "$preTagFmt" | head -n 1)" + tag="$(git for-each-ref --sort=-v:refname --format '%(refname:lstrip=2)' | (grep -E "$tagFmt" || true) | head -n 1)" + pre_tag="$(git for-each-ref --sort=-v:refname --format '%(refname:lstrip=2)' | (grep -qs -E "$preTagFmt" || true) | head -n 1)" ;; *branch*) - tag="$(git tag --list --merged HEAD --sort=-v:refname | grep -E "$tagFmt" | head -n 1)" - pre_tag="$(git tag --list --merged HEAD --sort=-v:refname | grep -E "$preTagFmt" | head -n 1)" + tag="$(git tag --list --merged HEAD --sort=-v:refname | (grep -E "$tagFmt" || true) | head -n 1)" + pre_tag="$(git tag --list --merged HEAD --sort=-v:refname | (grep -qs -E "$preTagFmt" || true) | head -n 1)" ;; * ) echo "Unrecognised context" exit 1;; From db23a5c93777334e1ea393e6844fb6ef23621e32 Mon Sep 17 00:00:00 2001 From: Santiago Bernhardt Date: Sat, 6 May 2023 21:27:07 +1200 Subject: [PATCH 3/3] Pre tag commit can be null --- entrypoint.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entrypoint.sh b/entrypoint.sh index 9b71dcf6..c85ca307 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -178,7 +178,7 @@ esac if $pre_release then # get current commit hash for tag - pre_tag_commit=$(git rev-list -n 1 "$pre_tag") + pre_tag_commit=$(git rev-list -n 1 "$pre_tag" || true) # skip if there are no new commits for pre_release if [ "$pre_tag_commit" == "$commit" ] then