Skip to content

Commit 6e158d6

Browse files
authored
update release script (#4749)
Signed-off-by: zhangzujian <zhangzujian.7@gmail.com>
1 parent 623ab01 commit 6e158d6

File tree

1 file changed

+48
-9
lines changed

1 file changed

+48
-9
lines changed

hack/release.sh

+48-9
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ echo "tag and push image"
1818
VERSION=$(cat VERSION)
1919
set +e
2020
docker manifest rm kubeovn/kube-ovn:${VERSION}
21+
docker manifest rm kubeovn/kube-ovn:${VERSION}-debug
2122
docker manifest rm kubeovn/vpc-nat-gateway:${VERSION}
2223
set -e
2324

@@ -36,6 +37,27 @@ docker manifest push kubeovn/kube-ovn:${VERSION}
3637
docker manifest push kubeovn/vpc-nat-gateway:${VERSION}
3738
docker manifest push kubeovn/kube-ovn:${VERSION}-debug
3839

40+
NEXT_VERSION=$(cat VERSION | awk -F '.' '{print $1"."$2"."$3+1}')
41+
echo "create and push base images for the next version ${NEXT_VERSION}"
42+
set +e
43+
docker manifest rm kubeovn/kube-ovn-base:${NEXT_VERSION}
44+
docker manifest rm kubeovn/kube-ovn-base:${NEXT_VERSION}-debug
45+
set -e
46+
docker pull kubeovn/kube-ovn-base:${VERSION}-amd64
47+
docker pull kubeovn/kube-ovn-base:${VERSION}-arm64
48+
docker pull kubeovn/kube-ovn-base:${VERSION}-amd64-legacy
49+
docker pull kubeovn/kube-ovn-base:${VERSION}-dpdk
50+
docker pull kubeovn/kube-ovn-base:${VERSION}-debug-amd64
51+
docker pull kubeovn/kube-ovn-base:${VERSION}-debug-arm64
52+
docker manifest create kubeovn/kube-ovn-base:${NEXT_VERSION} kubeovn/kube-ovn-base:${VERSION}-amd64 kubeovn/kube-ovn-base:${VERSION}-arm64
53+
docker manifest create kubeovn/kube-ovn-base:${NEXT_VERSION}-debug kubeovn/kube-ovn-base:${VERSION}-debug-amd64 kubeovn/kube-ovn-base:${VERSION}-debug-arm64
54+
docker tag kubeovn/kube-ovn-base:${VERSION}-amd64-legacy kubeovn/kube-ovn-base:${NEXT_VERSION}-amd64-legacy
55+
docker tag kubeovn/kube-ovn-base:${VERSION}-dpdk kubeovn/kube-ovn-base:${NEXT_VERSION}-dpdk
56+
docker manifest push kubeovn/kube-ovn-base:${NEXT_VERSION}
57+
docker manifest push kubeovn/kube-ovn-base:${NEXT_VERSION}-debug
58+
docker push kubeovn/kube-ovn-base:${NEXT_VERSION}-amd64-legacy
59+
docker push kubeovn/kube-ovn-base:${NEXT_VERSION}-dpdk
60+
3961
current_branch=$(git rev-parse --abbrev-ref HEAD)
4062
if [ "$current_branch" != "master" ]; then
4163
echo "current branch is not master, release a patch version"
@@ -46,7 +68,7 @@ if [ "$current_branch" != "master" ]; then
4668
sed -i 's/appVersion:\ .*/appVersion:\ "'"${VERSION#v}"'"/' charts/kube-ovn/Chart.yaml
4769

4870
echo "commit, tag and push"
49-
git add dist/images/install.sh
71+
git add dist/images/install.sh
5072
git add charts/kube-ovn/values.yaml
5173
git add charts/kube-ovn/Chart.yaml
5274
git commit -m "release ${VERSION}"
@@ -55,15 +77,12 @@ if [ "$current_branch" != "master" ]; then
5577
git push origin --tags
5678

5779
echo "modify version to next patch number"
58-
NEXT_VERSION=$(cat VERSION | awk -F '.' '{print $1"."$2"."$3+1}')
80+
NEXT_VERSION=$(cat VERSION | awk -F '.' '{print $1"."$2"."$3+1}')
5981
echo ${NEXT_VERSION} > VERSION
6082
git add VERSION
6183
git commit -m "prepare for next release"
6284
git push
6385

64-
echo "trigger action to build new base"
65-
gh workflow run build-kube-ovn-base.yaml -f branch=$current_branch
66-
6786
echo "Modify the doc version number"
6887
cd ${DOCS_DIR}
6988
git checkout $(cat VERSION | awk -F '.' '{print $1"."$2}')
@@ -86,26 +105,46 @@ else
86105
git checkout -b $RELEASE_BRANCH
87106
git push origin $RELEASE_BRANCH
88107

89-
echo "prepare next release in master branch"
108+
echo "create and push base images for the master branch"
90109
git checkout master
91110
git pull
92-
NEXT_VERSION=$(cat VERSION | awk -F '.' '{print $1"."$2+1"."$3}')
111+
NEXT_VERSION=$(cat VERSION | awk -F '.' '{print $1"."$2+1"."$3}')
112+
set +e
113+
docker manifest rm kubeovn/kube-ovn-base:${NEXT_VERSION}
114+
docker manifest rm kubeovn/kube-ovn-base:${NEXT_VERSION}-debug
115+
set -e
116+
docker manifest create kubeovn/kube-ovn-base:${NEXT_VERSION} kubeovn/kube-ovn-base:${VERSION}-amd64 kubeovn/kube-ovn-base:${VERSION}-arm64
117+
docker manifest create kubeovn/kube-ovn-base:${NEXT_VERSION}-debug kubeovn/kube-ovn-base:${VERSION}-debug-amd64 kubeovn/kube-ovn-base:${VERSION}-debug-arm64
118+
docker tag kubeovn/kube-ovn-base:${VERSION}-amd64-legacy kubeovn/kube-ovn-base:${NEXT_VERSION}-amd64-legacy
119+
docker tag kubeovn/kube-ovn-base:${VERSION}-dpdk kubeovn/kube-ovn-base:${NEXT_VERSION}-dpdk
120+
docker manifest push kubeovn/kube-ovn-base:${NEXT_VERSION}
121+
docker manifest push kubeovn/kube-ovn-base:${NEXT_VERSION}-debug
122+
docker push kubeovn/kube-ovn-base:${NEXT_VERSION}-amd64-legacy
123+
docker push kubeovn/kube-ovn-base:${NEXT_VERSION}-dpdk
124+
125+
echo "prepare next release in master branch"
93126
echo ${NEXT_VERSION} > VERSION
94127
sed -i '/^VERSION=/c\VERSION="'"${NEXT_VERSION}"'"' dist/images/install.sh
95128
sed -i 's/tag:\ .*/tag:\ '"${NEXT_VERSION}"'/' charts/kube-ovn/values.yaml
96129
sed -i 's/version:\ .*/version:\ '"${NEXT_VERSION}"'/' charts/kube-ovn/Chart.yaml
97130
sed -i 's/appVersion:\ .*/appVersion:\ "'"${NEXT_VERSION#v}"'"/' charts/kube-ovn/Chart.yaml
131+
sed -ri 's#(\s+)(- master)#\1\2\n\1- '$RELEASE_BRANCH'#' .github/workflows/build-kube-ovn-base.yaml
132+
sed -ri 's#(\s+)(- master)#\1\2\n\1- '$RELEASE_BRANCH'#' .github/workflows/build-kube-ovn-base-dpdk.yaml
133+
sed -ri 's#(\s+)(- master)#\1\2\n\1- '$RELEASE_BRANCH'#' .github/workflows/scheduled-e2e.yaml
98134

99-
git add dist/images/install.sh
135+
git add dist/images/install.sh
100136
git add charts/kube-ovn/values.yaml
101137
git add charts/kube-ovn/Chart.yaml
102138
git add VERSION
139+
git add .github/workflows/build-kube-ovn-base.yaml
140+
git add .github/workflows/build-kube-ovn-base-dpdk.yaml
141+
git add .github/workflows/scheduled-e2e.yaml
103142
git commit -m "prepare for next release"
104143
git push
105144

106145
echo "prepare next release in release branch"
107146
git checkout $RELEASE_BRANCH
108-
NEXT_VERSION=$(cat VERSION | awk -F '.' '{print $1"."$2"."$3+1}')
147+
NEXT_VERSION=$(cat VERSION | awk -F '.' '{print $1"."$2"."$3+1}')
109148
echo ${NEXT_VERSION} > VERSION
110149
git add VERSION
111150
git commit -m "prepare for next release"

0 commit comments

Comments
 (0)