Files
pdfme/scripts/increment-version.sh
Daniel Kastl ec81f4df4c Adds automated publishing workflow (#306)
Signed-off-by: Daniel Kastl <daniel@georepublic.de>
2023-11-03 16:56:22 +09:00

30 lines
945 B
Bash
Executable File

#!/bin/bash
# Extract the latest tag name
LATEST_TAG=$(git describe --tags --abbrev=0)
# Extract the base version and pre-release identifier from the latest tag
if [[ $LATEST_TAG =~ ([0-9]+\.[0-9]+\.[0-9]+)(-(alpha|beta|rc)\.([0-9]+))? ]]; then
BASE_VERSION=${BASH_REMATCH[1]}
PRE_ID=${BASH_REMATCH[3]}
PRE_NUM=${BASH_REMATCH[4]}
else
echo "Error: Unable to parse the latest tag name." >&2
exit 1
fi
# Determine the dev iteration number based on the commit count since the last tag
DEV_ITERATION=$(git rev-list ${LATEST_TAG}..HEAD --count)
# Construct the new version string
if [[ -n $PRE_ID ]]; then
# If there is a pre-release identifier (alpha, beta, rc)
NEW_VERSION="${BASE_VERSION}-${PRE_ID}.${PRE_NUM}-dev.${DEV_ITERATION}"
else
# If there is no pre-release identifier
NEW_VERSION="${BASE_VERSION}-dev.${DEV_ITERATION}"
fi
# Output the new version string
echo "VERSION=$NEW_VERSION" >> $GITHUB_ENV