46 lines
830 B
Bash
46 lines
830 B
Bash
set -e
|
|
|
|
main() {
|
|
version=$1
|
|
set_version
|
|
|
|
changelog
|
|
|
|
git commit VERSION -m "Update VERSION to $version"
|
|
|
|
tag_name="v${version}"
|
|
git tag $TAG_OPTS -m "Version ${version}" -a ${tag_name}
|
|
git show ${tag_name}
|
|
cat <<'EOF'
|
|
|
|
Remember to now push your tag, either to gitlab.com (for a
|
|
normal release) or dev.gitlab.org (for a security release).
|
|
EOF
|
|
}
|
|
|
|
set_version() {
|
|
if ! echo "${version}" | grep -q '^[0-9]\+\.[0-9]\+\.[0-9]\+$' ; then
|
|
echo "Invalid VERSION: ${version}"
|
|
exit 1
|
|
fi
|
|
|
|
if git tag --list | grep -q "^v${version}$" ; then
|
|
echo "Tag already exists for ${version}"
|
|
exit 1
|
|
fi
|
|
|
|
echo "$version" > VERSION
|
|
}
|
|
|
|
changelog() {
|
|
_support/generate_changelog "$version"
|
|
|
|
git commit CHANGELOG changelogs/unreleased --file - <<EOF
|
|
Update CHANGELOG for ${version}
|
|
|
|
[ci skip]
|
|
EOF
|
|
}
|
|
|
|
main "$@"
|