@@ -140,26 +140,31 @@ if [[ $CLIENT_VERSION != *"snapshot"* ]]; then
140
140
git pull -X theirs upstream master --no-edit
141
141
142
142
# Collect release notes from master branch
143
- start_sha=$( git log ${remote_branch} ..upstream/master | grep ^commit | tail -n1 | sed ' s/commit //g' )
144
- end_sha=$( git log ${remote_branch} ..upstream/master | grep ^commit | head -n1 | sed ' s/commit //g' )
145
- output=" /tmp/python-master-relnote.md"
146
- release-notes --dependencies=false --org kubernetes-client --repo python --start-sha $start_sha --end-sha $end_sha --output $output
147
- sed -i ' s/(\[\#/(\[kubernetes-client\/python\#/g' $output
148
-
149
- IFS_backup=$IFS
150
- IFS=$' \n '
151
- sections=($( grep " ^### " $output ) )
152
- IFS=$IFS_backup
153
- for section in " ${sections[@]} " ; do
154
- # ignore section titles and empty lines; replace newline with liternal "\n"
155
- master_release_notes=$( sed -n " /$section /,/###/{/###/!p}" $output | sed -n " {/^$/!p}" | sed ' :a;N;$!ba;s/\n/\\n/g' )
156
- util::changelog::write_changelog v$CLIENT_VERSION " $section " " $master_release_notes "
157
- done
158
- git add .
159
- if ! git diff-index --quiet --cached HEAD; then
160
- util::changelog::update_release_api_version $CLIENT_VERSION $CLIENT_VERSION $new_k8s_api_version
161
- git add .
162
- git commit -m " update changelog with release notes from master branch"
143
+ if [[ $( git log ${remote_branch} ..upstream/master | grep ^commit) ]]; then
144
+ start_sha=$( git log ${remote_branch} ..upstream/master | grep ^commit | tail -n1 | sed ' s/commit //g' )
145
+ end_sha=$( git log ${remote_branch} ..upstream/master | grep ^commit | head -n1 | sed ' s/commit //g' )
146
+ output=" /tmp/python-master-relnote-$( date +%s) .md"
147
+ release-notes --dependencies=false --org kubernetes-client --repo python --start-sha $start_sha --end-sha $end_sha --output $output
148
+ # Collect release notes from the output if non-empty
149
+ if [ -s $output ]; then
150
+ sed -i ' s/(\[\#/(\[kubernetes-client\/python\#/g' $output
151
+
152
+ IFS_backup=$IFS
153
+ IFS=$' \n '
154
+ sections=($( grep " ^### " $output ) )
155
+ IFS=$IFS_backup
156
+ for section in " ${sections[@]} " ; do
157
+ # ignore section titles and empty lines; replace newline with liternal "\n"
158
+ master_release_notes=$( sed -n " /$section /,/###/{/###/!p}" $output | sed -n " {/^$/!p}" | sed ' :a;N;$!ba;s/\n/\\n/g' )
159
+ util::changelog::write_changelog v$CLIENT_VERSION " $section " " $master_release_notes "
160
+ done
161
+ git add . # Allows us to check if there are any staged release note changes
162
+ if ! git diff-index --quiet --cached HEAD; then
163
+ util::changelog::update_release_api_version $CLIENT_VERSION $CLIENT_VERSION $new_k8s_api_version
164
+ git add . # Include the API version update before we commit
165
+ git commit -m " update changelog with release notes from master branch"
166
+ fi
167
+ fi
163
168
fi
164
169
fi
165
170
0 commit comments