From e4d41c448cce9a0e6b9f4a9a10960e336fe20b6e Mon Sep 17 00:00:00 2001 From: Santiago Bernhardt Date: Wed, 11 May 2022 11:33:31 +1200 Subject: [PATCH 01/13] fixing branch and ambiguous --- entrypoint.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/entrypoint.sh b/entrypoint.sh index 81f80650..2eb3db10 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -36,8 +36,8 @@ current_branch=$(git rev-parse --abbrev-ref HEAD) pre_release="true" IFS=',' read -ra branch <<< "$release_branches" for b in "${branch[@]}"; do - echo "Is $b a match for ${current_branch}" - if [[ "${current_branch}" =~ $b ]] + # check if ${current_branch} is in ${release_branches} + if [[ "$current_branch" == "$b" ]] then pre_release="false" fi @@ -73,14 +73,14 @@ esac # if there are none, start tags at INITIAL_VERSION which defaults to 0.0.0 if [ -z "$tag" ] then - log=$(git log --pretty='%B') + log=$(git log --pretty='%B' --) tag="$initial_version" if [ -z "$pre_tag" ] && $pre_release then pre_tag="$initial_version" fi else - log=$(git log $tag..HEAD --pretty='%B') + log=$(git log ${tag}..HEAD --pretty='%B' --) fi # get current commit hash for tag From 35c39cb8ccfae88bd0485320b3938894bf27600a Mon Sep 17 00:00:00 2001 From: Santiago Bernhardt Date: Wed, 11 May 2022 12:22:37 +1200 Subject: [PATCH 02/13] remove custom and sort the logic --- README.md | 1 - entrypoint.sh | 85 +++++++++++++++++++++++++++++++-------------------- 2 files changed, 52 insertions(+), 34 deletions(-) diff --git a/README.md b/README.md index 0fc77652..5379a9c7 100755 --- a/README.md +++ b/README.md @@ -42,7 +42,6 @@ _NOTE: set the fetch-depth for `actions/checkout@v2` to be sure you retrieve all - **DEFAULT_BUMP** _(optional)_ - Which type of bump to use when none explicitly provided (default: `minor`). - **WITH_V** _(optional)_ - Tag version with `v` character. - **RELEASE_BRANCHES** _(optional)_ - Comma separated list of branches (bash reg exp accepted) that will generate the release tags. Other branches and pull-requests generate versions postfixed with the commit hash and do not generate any tag. Examples: `master` or `.*` or `release.*,hotfix.*,master` ... -- **CUSTOM_TAG** _(optional)_ - Set a custom tag, useful when generating tag based on f.ex FROM image in a docker image. **Setting this tag will invalidate any other settings set!** - **SOURCE** _(optional)_ - Operate on a relative path under $GITHUB_WORKSPACE. - **DRY_RUN** _(optional)_ - Determine the next version without tagging the branch. The workflow can use the outputs `new_tag` and `tag` in subsequent steps. Possible values are `true` and `false` (default). - **INITIAL_VERSION** _(optional)_ - Set initial version before bump. Default `0.0.0`. diff --git a/entrypoint.sh b/entrypoint.sh index 2eb3db10..bde3eae2 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -6,7 +6,6 @@ set -o pipefail default_semvar_bump=${DEFAULT_BUMP:-minor} with_v=${WITH_V:-false} release_branches=${RELEASE_BRANCHES:-master,main} -custom_tag=${CUSTOM_TAG} source=${SOURCE:-.} dryrun=${DRY_RUN:-false} initial_version=${INITIAL_VERSION:-0.0.0} @@ -23,7 +22,6 @@ echo "*** CONFIGURATION ***" echo -e "\tDEFAULT_BUMP: ${default_semvar_bump}" echo -e "\tWITH_V: ${with_v}" echo -e "\tRELEASE_BRANCHES: ${release_branches}" -echo -e "\tCUSTOM_TAG: ${custom_tag}" echo -e "\tSOURCE: ${source}" echo -e "\tDRY_RUN: ${dryrun}" echo -e "\tINITIAL_VERSION: ${initial_version}" @@ -47,8 +45,8 @@ echo "pre_release = $pre_release" # fetch tags git fetch --tags -tagFmt="^v?[0-9]+\.[0-9]+\.[0-9]+$" -preTagFmt="^v?[0-9]+\.[0-9]+\.[0-9]+(-$suffix\.[0-9]+)?$" +tagFmt="^v?[0-9]+\.[0-9]+\.[0-9]+$" +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 @@ -74,13 +72,28 @@ esac if [ -z "$tag" ] then log=$(git log --pretty='%B' --) - tag="$initial_version" + if $with_v + then + tag="v$initial_version" + else + tag="$initial_version" + fi if [ -z "$pre_tag" ] && $pre_release then - pre_tag="$initial_version" + if $with_v + then + pre_tag="v$initial_version" + else + pre_tag="$initial_version" + fi fi else - log=$(git log ${tag}..HEAD --pretty='%B' --) + if $with_v + then + log=$(git log v${tag}..HEAD --pretty='%B' --) + else + log=$(git log ${tag}..HEAD --pretty='%B' --) + fi fi # get current commit hash for tag @@ -106,12 +119,20 @@ case "$log" in *#minor* ) new=$(semver -i minor $tag); part="minor";; *#patch* ) new=$(semver -i patch $tag); part="patch";; *#none* ) - echo "Default bump was set to none. Skipping..."; echo ::set-output name=new_tag::$tag; echo ::set-output name=tag::$tag; exit 0;; + echo "Default bump was set to none. Skipping..." + echo ::set-output name=new_tag::$tag + echo ::set-output name=tag::$tag + exit 0;; * ) - if [ "$default_semvar_bump" == "none" ]; then - echo "Default bump was set to none. Skipping..."; echo ::set-output name=new_tag::$tag; echo ::set-output name=tag::$tag; exit 0 + if [ "$default_semvar_bump" == "none" ] + then + echo "Default bump was set to none. Skipping..." + echo ::set-output name=new_tag::$tag + echo ::set-output name=tag::$tag + exit 0 else - new=$(semver -i "${default_semvar_bump}" $tag); part=$default_semvar_bump + new=$(semver -i "${default_semvar_bump}" $tag) + part=$default_semvar_bump fi ;; esac @@ -119,33 +140,30 @@ esac if $pre_release then # Already a prerelease available, bump it - if [[ "$pre_tag" == *"$new"* ]]; then - new=$(semver -i prerelease $pre_tag --preid $suffix); part="pre-$part" + if [[ "$pre_tag" == *"$new"* ]] + then + if $with_v + then + new="v$(semver -i prerelease ${pre_tag} --preid ${suffix})" + else + new=$(semver -i prerelease ${pre_tag} --preid ${suffix}) + fi + part="pre-$part" else - new="$new-$suffix.1"; part="pre-$part" + if $with_v + then + new="v$new-$suffix.0" + else + new="$new-$suffix.0" + fi + part="pre-$part" fi -fi - -echo $part - -# prefix with 'v' -if $with_v -then - new="v$new" -fi - -if [ ! -z $custom_tag ] -then - new="$custom_tag" -fi - -if $pre_release -then echo -e "Bumping tag ${pre_tag}. \n\tNew tag ${new}" else echo -e "Bumping tag ${tag}. \n\tNew tag ${new}" fi + # set outputs echo ::set-output name=new_tag::$new echo ::set-output name=part::$part @@ -160,7 +178,7 @@ fi echo ::set-output name=tag::$new # create local git tag -git tag $new +git tag "$new" # push new tag ref to github dt=$(date '+%Y-%m-%dT%H:%M:%SZ') @@ -184,7 +202,8 @@ EOF git_ref_posted=$( echo "${git_refs_response}" | jq .ref | tr -d '"' ) echo "::debug::${git_refs_response}" -if [ "${git_ref_posted}" = "refs/tags/${new}" ]; then +if [ "${git_ref_posted}" = "refs/tags/${new}" ] +then exit 0 else echo "::error::Tag was not created properly." From 831d047ce0f695689a417a8b2348747fa5afb0f0 Mon Sep 17 00:00:00 2001 From: Santiago Bernhardt Date: Wed, 11 May 2022 12:56:38 +1200 Subject: [PATCH 03/13] format and regex --- entrypoint.sh | 34 +++++++++++++++------------------- 1 file changed, 15 insertions(+), 19 deletions(-) diff --git a/entrypoint.sh b/entrypoint.sh index bde3eae2..d155be48 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -46,25 +46,20 @@ echo "pre_release = $pre_release" git fetch --tags tagFmt="^v?[0-9]+\.[0-9]+\.[0-9]+$" -preTagFmt="^v?[0-9]+\.[0-9]+\.[0-9]+(-$suffix\.[0-9]+)?$" +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*) - taglist="$(git for-each-ref --sort=-v:refname --format '%(refname:lstrip=2)' | grep -E "$tagFmt")" - tag="$(semver $taglist | tail -n 1)" - - pre_taglist="$(git for-each-ref --sort=-v:refname --format '%(refname:lstrip=2)' | grep -E "$preTagFmt")" - pre_tag="$(semver "$pre_taglist" | tail -n 1)" + 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)" ;; *branch*) - taglist="$(git tag --list --merged HEAD --sort=-v:refname | grep -E "$tagFmt")" - tag="$(semver $taglist | tail -n 1)" - - pre_taglist="$(git tag --list --merged HEAD --sort=-v:refname | grep -E "$preTagFmt")" - pre_tag=$(semver "$pre_taglist" | tail -n 1) + 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)" ;; - * ) echo "Unrecognised context"; exit 1;; + * ) echo "Unrecognised context" + exit 1;; esac @@ -97,12 +92,13 @@ else fi # get current commit hash for tag -tag_commit=$(git rev-list -n 1 $tag) +tag_commit=$(git rev-list -n 1 ${tag}) # get current commit hash commit=$(git rev-parse HEAD) -if [ "$tag_commit" == "$commit" ]; then +if [ "$tag_commit" == "$commit" ] +then echo "No new commits since previous tag. Skipping..." echo ::set-output name=tag::$tag exit 0 @@ -115,9 +111,9 @@ then fi case "$log" in - *#major* ) new=$(semver -i major $tag); part="major";; - *#minor* ) new=$(semver -i minor $tag); part="minor";; - *#patch* ) new=$(semver -i patch $tag); part="patch";; + *#major* ) new=$(semver -i major ${tag}); part="major";; + *#minor* ) new=$(semver -i minor ${tag}); part="minor";; + *#patch* ) new=$(semver -i patch ${tag}); part="patch";; *#none* ) echo "Default bump was set to none. Skipping..." echo ::set-output name=new_tag::$tag @@ -131,7 +127,7 @@ case "$log" in echo ::set-output name=tag::$tag exit 0 else - new=$(semver -i "${default_semvar_bump}" $tag) + new=$(semver -i "${default_semvar_bump}" ${tag}) part=$default_semvar_bump fi ;; @@ -140,7 +136,7 @@ esac if $pre_release then # Already a prerelease available, bump it - if [[ "$pre_tag" == *"$new"* ]] + if [ "$pre_tag" = "$new" ] then if $with_v then From bf4668ba4bb97e2056731bf313ec571cbd5ce57b Mon Sep 17 00:00:00 2001 From: Santiago Bernhardt Date: Wed, 11 May 2022 13:23:25 +1200 Subject: [PATCH 04/13] find the existing pre-tag --- entrypoint.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/entrypoint.sh b/entrypoint.sh index d155be48..4364e150 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -136,7 +136,7 @@ esac if $pre_release then # Already a prerelease available, bump it - if [ "$pre_tag" = "$new" ] + if [ "$pre_tag" =~ "$new" ]] && [ "$pre_tag" =~ "$suffix" ]] then if $with_v then @@ -144,7 +144,7 @@ then else new=$(semver -i prerelease ${pre_tag} --preid ${suffix}) fi - part="pre-$part" + echo -e "Bumping ${suffix} pre-tag ${pre_tag}. \n\tNew pre-tag ${new}" else if $with_v then @@ -152,9 +152,9 @@ then else new="$new-$suffix.0" fi - part="pre-$part" + echo -e "Setting ${suffix} pre-tag ${pre_tag}. \n\With pre-tag ${new}" fi - echo -e "Bumping tag ${pre_tag}. \n\tNew tag ${new}" + part="pre-$part" else echo -e "Bumping tag ${tag}. \n\tNew tag ${new}" fi From c0cbf952b22f0ec4a20b3d19de9d97ca6fccae60 Mon Sep 17 00:00:00 2001 From: Santiago Bernhardt Date: Wed, 11 May 2022 13:26:33 +1200 Subject: [PATCH 05/13] error --- entrypoint.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entrypoint.sh b/entrypoint.sh index 4364e150..975c82c7 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -136,7 +136,7 @@ esac if $pre_release then # Already a prerelease available, bump it - if [ "$pre_tag" =~ "$new" ]] && [ "$pre_tag" =~ "$suffix" ]] + if [[ "$pre_tag" =~ "$new" ]] && [[ "$pre_tag" =~ "$suffix" ]] then if $with_v then From 18361959441ff8c6bad1b0074d2b49595baba30d Mon Sep 17 00:00:00 2001 From: Santiago Bernhardt Date: Wed, 11 May 2022 13:52:29 +1200 Subject: [PATCH 06/13] small echos --- entrypoint.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/entrypoint.sh b/entrypoint.sh index 975c82c7..5e60f686 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -144,7 +144,7 @@ then else new=$(semver -i prerelease ${pre_tag} --preid ${suffix}) fi - echo -e "Bumping ${suffix} pre-tag ${pre_tag}. \n\tNew pre-tag ${new}" + echo -e "Bumping ${suffix} pre-tag ${pre_tag}. New pre-tag ${new}" else if $with_v then @@ -152,11 +152,11 @@ then else new="$new-$suffix.0" fi - echo -e "Setting ${suffix} pre-tag ${pre_tag}. \n\With pre-tag ${new}" + echo -e "Setting ${suffix} pre-tag ${pre_tag}. With pre-tag ${new}" fi part="pre-$part" else - echo -e "Bumping tag ${tag}. \n\tNew tag ${new}" + echo -e "Bumping tag ${tag}. New tag ${new}" fi From 89b375fbb1ea8177a1a4109cf5da10e6036c1297 Mon Sep 17 00:00:00 2001 From: Santiago Bernhardt Date: Wed, 11 May 2022 17:47:32 +1200 Subject: [PATCH 07/13] missing with v bump --- entrypoint.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/entrypoint.sh b/entrypoint.sh index 5e60f686..b763d48b 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -157,6 +157,10 @@ then part="pre-$part" else echo -e "Bumping tag ${tag}. New tag ${new}" + if $with_v + then + new="v$new" + fi fi From 3f93f8d658dfe22da4e8831f3582fd953e4162f4 Mon Sep 17 00:00:00 2001 From: Santiago Bernhardt Date: Wed, 11 May 2022 19:28:13 +1200 Subject: [PATCH 08/13] fix pre-release bumps when tag already exist --- entrypoint.sh | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/entrypoint.sh b/entrypoint.sh index b763d48b..9f896fcf 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -44,9 +44,9 @@ echo "pre_release = $pre_release" # fetch tags git fetch --tags - -tagFmt="^v?[0-9]+\.[0-9]+\.[0-9]+$" -preTagFmt="^v?[0-9]+\.[0-9]+\.[0-9]+(-$suffix\.[0-9]+)$" + +tagFmt="^v$[0-9]+\.[0-9]+\.[0-9]+$" +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 @@ -62,7 +62,6 @@ case "$tag_context" in exit 1;; esac - # if there are none, start tags at INITIAL_VERSION which defaults to 0.0.0 if [ -z "$tag" ] then @@ -83,12 +82,7 @@ then fi fi else - if $with_v - then - log=$(git log v${tag}..HEAD --pretty='%B' --) - else - log=$(git log ${tag}..HEAD --pretty='%B' --) - fi + log=$(git log ${tag}..HEAD --pretty='%B' --) fi # get current commit hash for tag From aa117696f5f62843bb63ff9e6c45741a8dd54cb8 Mon Sep 17 00:00:00 2001 From: Santiago Bernhardt Date: Wed, 11 May 2022 19:38:19 +1200 Subject: [PATCH 09/13] regex --- entrypoint.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/entrypoint.sh b/entrypoint.sh index 9f896fcf..f5e440c0 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -45,8 +45,8 @@ echo "pre_release = $pre_release" # fetch tags git fetch --tags -tagFmt="^v$[0-9]+\.[0-9]+\.[0-9]+$" -preTagFmt="^v[0-9]+\.[0-9]+\.[0-9]+(-$suffix\.[0-9]+)$" +tagFmt="^v?[0-9]+\.[0-9]+\.[0-9]+$" +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 From f339bfb48e4ef55fe5ed0918c23faf041b769fe7 Mon Sep 17 00:00:00 2001 From: Santiago Bernhardt Date: Mon, 23 May 2022 15:18:39 +1200 Subject: [PATCH 10/13] semver output quoting --- entrypoint.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entrypoint.sh b/entrypoint.sh index f5e440c0..ada5a61d 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -136,7 +136,7 @@ then then new="v$(semver -i prerelease ${pre_tag} --preid ${suffix})" else - new=$(semver -i prerelease ${pre_tag} --preid ${suffix}) + new="$(semver -i prerelease ${pre_tag} --preid ${suffix})" fi echo -e "Bumping ${suffix} pre-tag ${pre_tag}. New pre-tag ${new}" else From bc6250a27a7d5577633483f466fbff686dc4e814 Mon Sep 17 00:00:00 2001 From: Santiago Bernhardt Date: Wed, 27 Jul 2022 11:10:41 +1200 Subject: [PATCH 11/13] remove spacing --- entrypoint.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entrypoint.sh b/entrypoint.sh index ada5a61d..2e8c464f 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -146,7 +146,7 @@ then else new="$new-$suffix.0" fi - echo -e "Setting ${suffix} pre-tag ${pre_tag}. With pre-tag ${new}" + echo -e "Setting ${suffix} pre-tag ${pre_tag}. With pre-tag ${new}" fi part="pre-$part" else From 0fba6ac624d581c31b5598369a33fc3d8956c861 Mon Sep 17 00:00:00 2001 From: Santiago Bernhardt Date: Mon, 8 Aug 2022 13:18:53 +1200 Subject: [PATCH 12/13] reinstate custom_tag as per readme practice --- README.md | 1 + entrypoint.sh | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/README.md b/README.md index 5379a9c7..6f22bf99 100755 --- a/README.md +++ b/README.md @@ -42,6 +42,7 @@ _NOTE: set the fetch-depth for `actions/checkout@v2` to be sure you retrieve all - **DEFAULT_BUMP** _(optional)_ - Which type of bump to use when none explicitly provided (default: `minor`). - **WITH_V** _(optional)_ - Tag version with `v` character. - **RELEASE_BRANCHES** _(optional)_ - Comma separated list of branches (bash reg exp accepted) that will generate the release tags. Other branches and pull-requests generate versions postfixed with the commit hash and do not generate any tag. Examples: `master` or `.*` or `release.*,hotfix.*,master` ... +**CUSTOM_TAG** _(optional)_ - Set a custom tag, useful when generating tag based on f.ex FROM image in a docker image. **Setting this tag will invalidate any other settings set!** - **SOURCE** _(optional)_ - Operate on a relative path under $GITHUB_WORKSPACE. - **DRY_RUN** _(optional)_ - Determine the next version without tagging the branch. The workflow can use the outputs `new_tag` and `tag` in subsequent steps. Possible values are `true` and `false` (default). - **INITIAL_VERSION** _(optional)_ - Set initial version before bump. Default `0.0.0`. diff --git a/entrypoint.sh b/entrypoint.sh index 2e8c464f..3dfc9478 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -6,6 +6,7 @@ set -o pipefail default_semvar_bump=${DEFAULT_BUMP:-minor} with_v=${WITH_V:-false} release_branches=${RELEASE_BRANCHES:-master,main} +custom_tag=${CUSTOM_TAG} source=${SOURCE:-.} dryrun=${DRY_RUN:-false} initial_version=${INITIAL_VERSION:-0.0.0} @@ -22,6 +23,7 @@ echo "*** CONFIGURATION ***" echo -e "\tDEFAULT_BUMP: ${default_semvar_bump}" echo -e "\tWITH_V: ${with_v}" echo -e "\tRELEASE_BRANCHES: ${release_branches}" +echo -e "\tCUSTOM_TAG: ${custom_tag}" echo -e "\tSOURCE: ${source}" echo -e "\tDRY_RUN: ${dryrun}" echo -e "\tINITIAL_VERSION: ${initial_version}" @@ -157,6 +159,11 @@ else fi fi +# as defined in readme if CUSTOM_TAG is used any semver calculations are irrelevant. +if ! [ -z "$custom_tag" ] +then + new="$custom_tag" +fi # set outputs echo ::set-output name=new_tag::$new From 2e20e369c72fb863a628dc16fe8a1f6a35017975 Mon Sep 17 00:00:00 2001 From: Santiago Bernhardt Date: Mon, 8 Aug 2022 13:19:48 +1200 Subject: [PATCH 13/13] - --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6f22bf99..0fc77652 100755 --- a/README.md +++ b/README.md @@ -42,7 +42,7 @@ _NOTE: set the fetch-depth for `actions/checkout@v2` to be sure you retrieve all - **DEFAULT_BUMP** _(optional)_ - Which type of bump to use when none explicitly provided (default: `minor`). - **WITH_V** _(optional)_ - Tag version with `v` character. - **RELEASE_BRANCHES** _(optional)_ - Comma separated list of branches (bash reg exp accepted) that will generate the release tags. Other branches and pull-requests generate versions postfixed with the commit hash and do not generate any tag. Examples: `master` or `.*` or `release.*,hotfix.*,master` ... -**CUSTOM_TAG** _(optional)_ - Set a custom tag, useful when generating tag based on f.ex FROM image in a docker image. **Setting this tag will invalidate any other settings set!** +- **CUSTOM_TAG** _(optional)_ - Set a custom tag, useful when generating tag based on f.ex FROM image in a docker image. **Setting this tag will invalidate any other settings set!** - **SOURCE** _(optional)_ - Operate on a relative path under $GITHUB_WORKSPACE. - **DRY_RUN** _(optional)_ - Determine the next version without tagging the branch. The workflow can use the outputs `new_tag` and `tag` in subsequent steps. Possible values are `true` and `false` (default). - **INITIAL_VERSION** _(optional)_ - Set initial version before bump. Default `0.0.0`.