mirror of
https://github.com/sebastiandine/Card-Collection-Manager-3.git
synced 2026-08-28 23:01:09 +00:00
55ace147bc
* initial development * pipeline * pipeline * pipeline * pipeline * pipeline * pipeline * pipeline * pipeline * pipeline * pipeline * pipeline * pipeline * pipeline * pipeline * ci/cd * ci/cd * ci/cd * ci/cd * ci/cd * ci/cd * ci/cd * pokemon * pokemon * pokemon * pokemon * pokemon * pokemon * improvements * improvements * ci/cd * ci/cd * improvements * improvements * improvements * improvements * improvements * improvements * improvements * improvements * improvements --------- Co-authored-by: sdine <sdine@sdine.com>
55 lines
1.1 KiB
Bash
55 lines
1.1 KiB
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
if [[ $# -lt 1 ]]; then
|
|
echo "Usage: $0 <pr-title>" >&2
|
|
exit 1
|
|
fi
|
|
|
|
pr_title="$(echo "$1" | tr '[:upper:]' '[:lower:]')"
|
|
|
|
if [[ "${pr_title}" == major* ]]; then
|
|
bump="major"
|
|
elif [[ "${pr_title}" == minor* ]]; then
|
|
bump="minor"
|
|
elif [[ "${pr_title}" == fix* || "${pr_title}" == patch* || "${pr_title}" == path* ]]; then
|
|
bump="patch"
|
|
else
|
|
echo "Invalid PR title prefix. Must start with: major, minor, fix, patch, or path." >&2
|
|
exit 1
|
|
fi
|
|
|
|
latest="$(git tag --list | sed -E 's/^v//' | grep -E '^[0-9]+\.[0-9]+\.[0-9]+$' | sort -t. -k1,1nr -k2,2nr -k3,3nr | head -n1 || true)"
|
|
if [[ -z "${latest}" ]]; then
|
|
latest="0.0.0"
|
|
fi
|
|
|
|
IFS='.' read -r major minor patch <<< "${latest}"
|
|
|
|
case "${bump}" in
|
|
major)
|
|
major=$((major + 1))
|
|
minor=0
|
|
patch=0
|
|
;;
|
|
minor)
|
|
minor=$((minor + 1))
|
|
patch=0
|
|
;;
|
|
patch)
|
|
patch=$((patch + 1))
|
|
;;
|
|
esac
|
|
|
|
version="${major}.${minor}.${patch}"
|
|
release_tag="v${version}"
|
|
|
|
if [[ -n "${GITHUB_OUTPUT:-}" ]]; then
|
|
{
|
|
echo "version=${version}"
|
|
echo "release_tag=${release_tag}"
|
|
} >> "${GITHUB_OUTPUT}"
|
|
else
|
|
echo "${version}"
|
|
fi
|