Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 6cd7252

Browse files
committed
chore(scripts): add safety check for difference between dry run release notes
1 parent 374f0a0 commit 6cd7252

File tree

1 file changed

+41
-18
lines changed

1 file changed

+41
-18
lines changed

scripts/release.sh

Lines changed: 41 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -209,8 +209,9 @@ release_notes="$(execrelative ./release/generate_release_notes.sh --old-version
209209

210210
mkdir -p build
211211
release_notes_file="build/RELEASE-${new_version}.md"
212+
release_notes_file_dryrun="build/RELEASE-${new_version}-DRYRUN.md"
212213
if ((dry_run)); then
213-
release_notes_file="build/RELEASE-${new_version}-DRYRUN.md"
214+
release_notes_file=${release_notes_file_dryrun}
214215
fi
215216
get_editor() {
216217
if command -v editor >/dev/null; then
@@ -249,25 +250,47 @@ else
249250
fi
250251
log
251252

252-
if [[ -z ${editor} ]]; then
253-
log "No editor found, please set the \$EDITOR environment variable for edit prompt."
254-
else
255-
while [[ ! ${edit:-} =~ ^[YyNn]$ ]]; do
256-
read -p "Edit release notes in \"${editor}\"? (y/n) " -n 1 -r edit
257-
log
258-
done
259-
if [[ ${edit} =~ ^[Yy]$ ]]; then
260-
"${editor}" "${release_notes_file}"
261-
release_notes2="$(<"$release_notes_file")"
262-
if [[ "${release_notes}" != "${release_notes2}" ]]; then
263-
log "Release notes have been updated!"
264-
release_notes="${release_notes2}"
265-
else
266-
log "No changes detected..."
253+
edit_release_notes() {
254+
if [[ -z ${editor} ]]; then
255+
log "No editor found, please set the \$EDITOR environment variable for edit prompt."
256+
else
257+
while [[ ! ${edit:-} =~ ^[YyNn]$ ]]; do
258+
read -p "Edit release notes in \"${editor}\"? (y/n) " -n 1 -r edit
259+
log
260+
done
261+
if [[ ${edit} =~ ^[Yy]$ ]]; then
262+
"${editor}" "${release_notes_file}"
263+
release_notes2="$(<"$release_notes_file")"
264+
if [[ "${release_notes}" != "${release_notes2}" ]]; then
265+
log "Release notes have been updated!"
266+
release_notes="${release_notes2}"
267+
else
268+
log "No changes detected..."
269+
fi
267270
fi
268271
fi
269-
fi
270-
log
272+
log
273+
274+
if ((!dry_run)) && [[ -f ${release_notes_file_dryrun} ]]; then
275+
release_notes_dryrun="$(<"${release_notes_file_dryrun}")"
276+
if [[ "${release_notes}" != "${release_notes_dryrun}" ]]; then
277+
log "WARNING: Release notes differ from dry-run version:"
278+
log
279+
diff -u "${release_notes_file_dryrun}" "${release_notes_file}" || true
280+
log
281+
continue_with_new_release_notes=
282+
while [[ ! ${continue_with_new_release_notes:-} =~ ^[YyNn]$ ]]; do
283+
read -p "Continue with the new release notes anyway? (y/n) " -n 1 -r continue_with_new_release_notes
284+
log
285+
done
286+
if [[ ${continue_with_new_release_notes} =~ ^[Nn]$ ]]; then
287+
log
288+
edit_release_notes
289+
fi
290+
fi
291+
fi
292+
}
293+
edit_release_notes
271294

272295
while [[ ! ${preview:-} =~ ^[YyNn]$ ]]; do
273296
read -p "Preview release notes? (y/n) " -n 1 -r preview

0 commit comments

Comments
 (0)