Files
podman/hack/release.sh
Matthew Heon 554b8d2f2f Update release script to not manage epoch
We removed the Gitvalidation epoch in the Makefile. As such, we
don't need to adjust it anymore when we tag releases.

Signed-off-by: Matthew Heon <mheon@redhat.com>
2020-01-22 07:51:09 -05:00

68 lines
1.5 KiB
Bash
Executable File

#!/bin/sh
#
# Cut a libpod release. Usage:
#
# $ hack/release.sh <version> <next-version>
#
# For example:
#
# $ hack/release.sh 1.2.3 1.3.0
#
# for "I'm cutting 1.2.3, and want to use 1.3.0-dev for future work".
VERSION="$1"
NEXT_VERSION="$2"
if test "${NEXT_VERSION}" != "${NEXT_VERSION%-dev}"
then
echo "The next-version argument '${NEXT_VERSION}' should not end in '-dev'." >&2
echo "This script will add the -dev suffix as needed internally. Try:" >&2
echo " $0 ${VERSION} ${NEXT_VERSION%-dev}" >&2
exit 1
fi
DATE=$(date '+%Y-%m-%d')
LAST_TAG=$(git describe --tags --abbrev=0)
write_go_version()
{
LOCAL_VERSION="$1"
sed -i "s/^\(const Version = \"\).*/\1${LOCAL_VERSION}\"/" version/version.go
}
write_spec_version()
{
LOCAL_VERSION="$1"
sed -i "s/^\(Version: *\).*/\1${LOCAL_VERSION}/" contrib/spec/podman.spec.in
}
write_changelog()
{
echo "- Changelog for v${VERSION} (${DATE})" >.changelog.txt &&
git log --no-merges --format=' * %s' "${LAST_TAG}..HEAD" >>.changelog.txt &&
echo >>.changelog.txt &&
cat changelog.txt >>.changelog.txt &&
mv -f .changelog.txt changelog.txt
}
release_commit()
{
write_go_version "${VERSION}" &&
write_spec_version "${VERSION}" &&
write_changelog &&
git commit -asm "Bump to v${VERSION}"
}
dev_version_commit()
{
write_go_version "${NEXT_VERSION}-dev" &&
write_spec_version "${NEXT_VERSION}" &&
git commit -asm "Bump to v${NEXT_VERSION}-dev"
}
git fetch origin &&
git checkout -b "bump-${VERSION}" origin/master &&
release_commit &&
git tag -s -m "version ${VERSION}" "v${VERSION}" &&
dev_version_commit &&