Skip to content

Commit c8dd1ae

Browse files
committed
prepare for next release
1 parent ae4ce37 commit c8dd1ae

File tree

2 files changed

+86
-29
lines changed

2 files changed

+86
-29
lines changed

VERSION

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
v1.13.0
1+
v1.13.1

hack/release.sh

+85-28
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#!/bin/bash
22
set -euo pipefail
33
# run hack/release.sh from the project root directory to publish the release
4+
DOCS_DIR="../docs"
45

56
echo "check status of last commit build"
67
commit=$(git rev-parse HEAD)
@@ -9,50 +10,106 @@ if ! echo $check_status | grep -q '"conclusion": "failure"'; then
910
echo "last commit build successed"
1011
else
1112
echo "last commit build failed"
13+
exit 1
1214
fi
1315

1416

1517
echo "tag and push image"
1618
VERSION=$(cat VERSION)
19+
set +e
1720
docker manifest rm kubeovn/kube-ovn:${VERSION}
1821
docker manifest rm kubeovn/vpc-nat-gateway:${VERSION}
22+
set -e
1923

2024
docker pull kubeovn/kube-ovn:${VERSION}-x86
2125
docker pull kubeovn/kube-ovn:${VERSION}-arm
2226
docker pull kubeovn/vpc-nat-gateway:${VERSION}-x86
2327
docker pull kubeovn/vpc-nat-gateway:${VERSION}-arm
28+
docker pull kubeovn/kube-ovn:${VERSION}-debug-x86
29+
docker pull kubeovn/kube-ovn:${VERSION}-debug-arm
2430

2531
docker manifest create kubeovn/kube-ovn:${VERSION} kubeovn/kube-ovn:${VERSION}-x86 kubeovn/kube-ovn:${VERSION}-arm
2632
docker manifest create kubeovn/vpc-nat-gateway:${VERSION} kubeovn/vpc-nat-gateway:${VERSION}-x86 kubeovn/vpc-nat-gateway:${VERSION}-arm
33+
docker manifest create kubeovn/kube-ovn:${VERSION}-debug kubeovn/kube-ovn:${VERSION}-debug-x86 kubeovn/kube-ovn:${VERSION}-debug-arm
2734

2835
docker manifest push kubeovn/kube-ovn:${VERSION}
2936
docker manifest push kubeovn/vpc-nat-gateway:${VERSION}
37+
docker manifest push kubeovn/kube-ovn:${VERSION}-debug
3038

31-
echo "modify tag in install.sh and values.yaml"
32-
sed -i '/^VERSION=/c\VERSION="'"${VERSION}"'"' dist/images/install.sh
33-
sed -i 's/tag:\ .*/tag:\ '"${VERSION}"'/' charts/kube-ovn/values.yaml
34-
sed -i 's/version:\ .*/version:\ '"${VERSION}"'/' charts/kube-ovn/Chart.yaml
35-
36-
echo "commit, tag and push"
37-
git add dist/images/install.sh
38-
git add charts/kube-ovn/values.yaml
39-
git add charts/kube-ovn/Chart.yaml
40-
git commit -m "release ${VERSION}"
41-
git tag ${VERSION}
42-
git push
43-
git push origin --tags
44-
45-
echo "modify version to next patch number"
46-
NEXT_VERSION=$(cat VERSION | awk -F '.' '{print $1"."$2"."$3+1}')
47-
echo ${NEXT_VERSION} > VERSION
48-
git add VERSION
49-
git commit -m "prepare for next release"
50-
git push
51-
52-
echo "draft a release"
53-
gh release create $VERSION --draft
54-
55-
echo "trigger action to build new base"
56-
gh workflow run build-kube-ovn-base.yaml --ref $(git branch --show-current)
57-
58-
echo "Need to modify the doc version number manually"
39+
current_branch=$(git rev-parse --abbrev-ref HEAD)
40+
if [ "$current_branch" != "master" ]; then
41+
echo "current branch is not master, release a patch version"
42+
echo "modify tag in install.sh and values.yaml"
43+
sed -i '/^VERSION=/c\VERSION="'"${VERSION}"'"' dist/images/install.sh
44+
sed -i 's/tag:\ .*/tag:\ '"${VERSION}"'/' charts/kube-ovn/values.yaml
45+
sed -i 's/version:\ .*/version:\ '"${VERSION}"'/' charts/kube-ovn/Chart.yaml
46+
sed -i 's/appVersion:\ .*/appVersion:\ "'"${VERSION#v}"'"/' charts/kube-ovn/Chart.yaml
47+
48+
echo "commit, tag and push"
49+
git add dist/images/install.sh
50+
git add charts/kube-ovn/values.yaml
51+
git add charts/kube-ovn/Chart.yaml
52+
git commit -m "release ${VERSION}"
53+
git tag ${VERSION}
54+
git push
55+
git push origin --tags
56+
57+
echo "modify version to next patch number"
58+
NEXT_VERSION=$(cat VERSION | awk -F '.' '{print $1"."$2"."$3+1}')
59+
echo ${NEXT_VERSION} > VERSION
60+
git add VERSION
61+
git commit -m "prepare for next release"
62+
git push
63+
64+
echo "trigger action to build new base"
65+
gh workflow run build-kube-ovn-base.yaml -f branch=$current_branch
66+
67+
echo "Modify the doc version number"
68+
cd ${DOCS_DIR}
69+
git checkout $(cat VERSION | awk -F '.' '{print $1"."$2}')
70+
git pull
71+
sed -i "s/version: .*/version: ${VERSION}/" mkdocs.yml
72+
git add mkdocs.yml
73+
git commit -m "update version to ${VERSION}"
74+
git push
75+
76+
echo "clean up images"
77+
docker rmi kubeovn/kube-ovn:${VERSION}-x86 kubeovn/kube-ovn:${VERSION}-arm kubeovn/vpc-nat-gateway:${VERSION}-x86 kubeovn/vpc-nat-gateway:${VERSION}-arm kubeovn/kube-ovn:${VERSION}-debug-x86 kubeovn/kube-ovn:${VERSION}-debug-arm
78+
79+
echo "Manually update the release note with the new changelog"
80+
else
81+
echo "current branch is master, release a minor version"
82+
echo "push tag and create new release branch"
83+
git tag ${VERSION}
84+
RELEASE_BRANCH=release-$(echo ${VERSION} | sed 's/v\([0-9]*\.[0-9]*\).*/\1/')
85+
git push origin --tags
86+
git checkout -b $RELEASE_BRANCH
87+
git push origin $RELEASE_BRANCH
88+
89+
echo "prepare next release in master branch"
90+
git checkout master
91+
git pull
92+
NEXT_VERSION=$(cat VERSION | awk -F '.' '{print $1"."$2+1"."$3}')
93+
echo ${NEXT_VERSION} > VERSION
94+
sed -i '/^VERSION=/c\VERSION="'"${NEXT_VERSION}"'"' dist/images/install.sh
95+
sed -i 's/tag:\ .*/tag:\ '"${NEXT_VERSION}"'/' charts/kube-ovn/values.yaml
96+
sed -i 's/version:\ .*/version:\ '"${NEXT_VERSION}"'/' charts/kube-ovn/Chart.yaml
97+
sed -i 's/appVersion:\ .*/appVersion:\ "'"${NEXT_VERSION#v}"'"/' charts/kube-ovn/Chart.yaml
98+
99+
git add dist/images/install.sh
100+
git add charts/kube-ovn/values.yaml
101+
git add charts/kube-ovn/Chart.yaml
102+
git add VERSION
103+
git commit -m "prepare for next release"
104+
git push
105+
106+
echo "prepare next release in release branch"
107+
git checkout $RELEASE_BRANCH
108+
NEXT_VERSION=$(cat VERSION | awk -F '.' '{print $1"."$2"."$3+1}')
109+
echo ${NEXT_VERSION} > VERSION
110+
git add VERSION
111+
git commit -m "prepare for next release"
112+
git push
113+
114+
echo "need manual update the docs to create a new branch"
115+
fi

0 commit comments

Comments
 (0)