mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-25 12:43:23 +00:00
make mark-new-release.sh do branching and tell you exactly what to do next
We keep getting tags and branches wonky. This will land v0.14.0 as an ancestor of master v0.14.1 will NOT be an ancestor of master I can do the later, it only a touch of git gymnastics, not really hard, but we only occasionably do that today. (0.13.1 is an ancestor of master, but 0.13.2 is not)
This commit is contained in:
parent
f0da47b2dd
commit
3919a38ad6
@ -24,7 +24,7 @@ KUBE_ROOT=$(dirname "${BASH_SOURCE}")/..
|
||||
|
||||
NEW_VERSION=${1-}
|
||||
|
||||
VERSION_REGEX="v([0-9]+).([0-9]+(.[0-9]+)?)"
|
||||
VERSION_REGEX="v([0-9]+).([0-9]+)(.([0-9]+))?"
|
||||
[[ ${NEW_VERSION} =~ $VERSION_REGEX ]] || {
|
||||
echo "!!! You must specify the version in the form of '$VERSION_REGEX'" >&2
|
||||
exit 1
|
||||
@ -32,6 +32,13 @@ VERSION_REGEX="v([0-9]+).([0-9]+(.[0-9]+)?)"
|
||||
|
||||
VERSION_MAJOR="${BASH_REMATCH[1]}"
|
||||
VERSION_MINOR="${BASH_REMATCH[2]}"
|
||||
VERSION_PATCH="${BASH_REMATCH[4]}"
|
||||
|
||||
# force .0 if no patch version specified
|
||||
if [[ -z ${VERSION_PATCH:-} ]]; then
|
||||
VERSION_PATCH="0"
|
||||
NEW_VERSION="${NEW_VERSION}.0"
|
||||
fi
|
||||
|
||||
if ! git diff-index --quiet --cached HEAD; then
|
||||
echo "!!! You must not have any changes in your index when running this command"
|
||||
@ -43,6 +50,16 @@ if ! git diff-files --quiet pkg/version/base.go; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
release_branch="release-${VERSION_MAJOR}.${VERSION_MINOR}"
|
||||
|
||||
if [[ "${VERSION_PATCH}" != "0" ]]; then
|
||||
branch=$(git rev-parse --abbrev-ref HEAD)
|
||||
if [[ ${branch} != "${release_branch}" ]]; then
|
||||
echo "!!! You are trying to tag to an existing minor release but are not on the release branch: ${release_branch}"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
SED=sed
|
||||
if which gsed &>/dev/null; then
|
||||
SED=gsed
|
||||
@ -54,8 +71,8 @@ fi
|
||||
VERSION_FILE="${KUBE_ROOT}/pkg/version/base.go"
|
||||
|
||||
echo "+++ Updating to ${NEW_VERSION}"
|
||||
"$SED" -r -i -e "s/gitMajor\s+string = \"[^\"]*\"/gitMajor string = \"$VERSION_MAJOR\"/" "${VERSION_FILE}"
|
||||
"$SED" -r -i -e "s/gitMinor\s+string = \"[^\"]*\"/gitMinor string = \"$VERSION_MINOR\"/" "${VERSION_FILE}"
|
||||
"$SED" -r -i -e "s/gitMajor\s+string = \"[^\"]*\"/gitMajor string = \"${VERSION_MAJOR}\"/" "${VERSION_FILE}"
|
||||
"$SED" -r -i -e "s/gitMinor\s+string = \"[^\"]*\"/gitMinor string = \"${VERSION_MINOR}.${VERSION_PATCH}\"/" "${VERSION_FILE}"
|
||||
"$SED" -r -i -e "s/gitVersion\s+string = \"[^\"]*\"/gitVersion string = \"$NEW_VERSION\"/" "${VERSION_FILE}"
|
||||
gofmt -s -w "${VERSION_FILE}"
|
||||
|
||||
@ -67,11 +84,30 @@ echo "+++ Tagging version"
|
||||
git tag -a -m "Kubernetes version $NEW_VERSION" "${NEW_VERSION}"
|
||||
|
||||
echo "+++ Updating to ${NEW_VERSION}-dev"
|
||||
"$SED" -r -i -e "s/gitMajor\s+string = \"[^\"]*\"/gitMajor string = \"$VERSION_MAJOR\"/" "${VERSION_FILE}"
|
||||
"$SED" -r -i -e "s/gitMinor\s+string = \"[^\"]*\"/gitMinor string = \"$VERSION_MINOR\+\"/" "${VERSION_FILE}"
|
||||
"$SED" -r -i -e "s/gitMajor\s+string = \"[^\"]*\"/gitMajor string = \"${VERSION_MAJOR}\"/" "${VERSION_FILE}"
|
||||
"$SED" -r -i -e "s/gitMinor\s+string = \"[^\"]*\"/gitMinor string = \"${VERSION_MINOR}.${VERSION_PATCH}\+\"/" "${VERSION_FILE}"
|
||||
"$SED" -r -i -e "s/gitVersion\s+string = \"[^\"]*\"/gitVersion string = \"$NEW_VERSION-dev\"/" "${VERSION_FILE}"
|
||||
gofmt -s -w "${VERSION_FILE}"
|
||||
|
||||
echo "+++ Committing version change"
|
||||
git add "${VERSION_FILE}"
|
||||
git commit -m "Kubernetes version ${NEW_VERSION}-dev"
|
||||
|
||||
if [[ "${VERSION_PATCH}" == "0" ]]; then
|
||||
echo "+++ Creating release branch"
|
||||
git branch "${release_branch}"
|
||||
fi
|
||||
|
||||
echo "Success you must now:"
|
||||
echo ""
|
||||
echo "- Push the tag:"
|
||||
echo " git push git@github.com:GoogleCloudPlatform/kubernetes.git v${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}"
|
||||
if [[ "${VERSION_PATCH}" == "0" ]]; then
|
||||
echo "- Submit HEAD as a PR to master"
|
||||
echo "- Merge that PR"
|
||||
echo "- Push the new release branch"
|
||||
echo " git push git@github.com:GoogleCloudPlatform/kubernetes.git ${release_branch}"
|
||||
else
|
||||
echo "- Submit HEAD as a PR to ${release_branch}"
|
||||
echo "- Merge that PR"
|
||||
fi
|
||||
|
Loading…
Reference in New Issue
Block a user