From ffcb6260b6b35029771573d3caa59a2fad8af22b Mon Sep 17 00:00:00 2001 From: hankei6km Date: Sun, 17 Dec 2023 04:14:23 +0000 Subject: [PATCH] chore: Add version tagging script for feature releases Creating tags only, not intended for creating releases. --- scripts/ver-tag.sh | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100755 scripts/ver-tag.sh diff --git a/scripts/ver-tag.sh b/scripts/ver-tag.sh new file mode 100755 index 0000000..9fbd357 --- /dev/null +++ b/scripts/ver-tag.sh @@ -0,0 +1,35 @@ +#!/bin/bash +set -e + +# exmaple: +# scripts/ver-tag.sh [feature-name] patch +# scripts/ver-tag.sh [feature-name] prelease pre-. + +FEATURE="${1}" +RANGE="${2}" +PREREL="${3}" +test -n "${FEATURE}" || { echo "Missing feature name"; exit 1; } + +LATEST="$(jq -r '.version' "src/${FEATURE}/devcontainer-feature.json")" + +VERSION="$( + if [ "${RANGE}" = "prelease" ]; then + semver bump "${RANGE}" "${PREREL}}" "${LATEST}" + else + semver bump "${RANGE}" "${LATEST}" + fi +)" +echo "New version: ${VERSION}" + +# Update devcontainer-feature.json +jq ".version = \"${VERSION}\"" "src/${FEATURE}/devcontainer-feature.json" > "src/${FEATURE}/devcontainer-feature.json.tmp" +mv "src/${FEATURE}/devcontainer-feature.json.tmp" "src/${FEATURE}/devcontainer-feature.json" + +git add "src/${FEATURE}/devcontainer-feature.json" +MESSAGE="feature-${FEATURE}-${VERSION}" +git commit -m "${MESSAGE}" +git tag "${MESSAGE}" -am "${MESSAGE}" + +echo "Operations for release:" +echo "- git push --follow-tags origin" +echo "- Run the release workflow on GitHub"