mirror of
https://github.com/bitechdev/ResolveSpec.git
synced 2025-11-13 18:03:53 +00:00
Updates to make release
This commit is contained in:
parent
ceaa251301
commit
e39012ddbd
@ -4,18 +4,63 @@
|
|||||||
read -p "Do you want to make a release version? (y/n): " make_release
|
read -p "Do you want to make a release version? (y/n): " make_release
|
||||||
|
|
||||||
if [[ $make_release =~ ^[Yy]$ ]]; then
|
if [[ $make_release =~ ^[Yy]$ ]]; then
|
||||||
# Ask the user for the version number
|
# Get the latest tag from git
|
||||||
read -p "Enter the version number : " version
|
latest_tag=$(git describe --tags --abbrev=0 2>/dev/null)
|
||||||
|
|
||||||
|
if [ -z "$latest_tag" ]; then
|
||||||
|
# No tags exist yet, start with v1.0.0
|
||||||
|
suggested_version="v1.0.0"
|
||||||
|
echo "No existing tags found. Starting with $suggested_version"
|
||||||
|
else
|
||||||
|
echo "Latest tag: $latest_tag"
|
||||||
|
|
||||||
|
# Remove 'v' prefix if present
|
||||||
|
version_number="${latest_tag#v}"
|
||||||
|
|
||||||
|
# Split version into major.minor.patch
|
||||||
|
IFS='.' read -r major minor patch <<< "$version_number"
|
||||||
|
|
||||||
|
# Increment patch version
|
||||||
|
patch=$((patch + 1))
|
||||||
|
|
||||||
|
# Construct new version
|
||||||
|
suggested_version="v${major}.${minor}.${patch}"
|
||||||
|
echo "Suggested next version: $suggested_version"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Ask the user for the version number with the suggested version as default
|
||||||
|
read -p "Enter the version number (press Enter for $suggested_version): " version
|
||||||
|
|
||||||
|
# Use suggested version if user pressed Enter without input
|
||||||
|
if [ -z "$version" ]; then
|
||||||
|
version="$suggested_version"
|
||||||
|
fi
|
||||||
|
|
||||||
# Prepend 'v' to the version if it doesn't start with it
|
# Prepend 'v' to the version if it doesn't start with it
|
||||||
if ! [[ $version =~ ^v ]]; then
|
if ! [[ $version =~ ^v ]]; then
|
||||||
version="v$version"
|
version="v$version"
|
||||||
else
|
|
||||||
echo "Version already starts with 'v'."
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Create an annotated tag
|
# Get commit logs since the last tag
|
||||||
git tag -a "$version" -m "Released $version"
|
if [ -z "$latest_tag" ]; then
|
||||||
|
# No previous tag, get all commits
|
||||||
|
commit_logs=$(git log --pretty=format:"- %s" --no-merges)
|
||||||
|
else
|
||||||
|
# Get commits since the last tag
|
||||||
|
commit_logs=$(git log "${latest_tag}..HEAD" --pretty=format:"- %s" --no-merges)
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Create the tag message
|
||||||
|
if [ -z "$commit_logs" ]; then
|
||||||
|
tag_message="Release $version"
|
||||||
|
else
|
||||||
|
tag_message="Release $version
|
||||||
|
|
||||||
|
${commit_logs}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Create an annotated tag with the commit logs
|
||||||
|
git tag -a "$version" -m "$tag_message"
|
||||||
|
|
||||||
# Push the tag to the remote repository
|
# Push the tag to the remote repository
|
||||||
git push origin "$version"
|
git push origin "$version"
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user