File tree 2 files changed +28
-0
lines changed
2 files changed +28
-0
lines changed Original file line number Diff line number Diff line change @@ -155,6 +155,9 @@ help:
155
155
@grep -E ' ^[a-zA-Z_-]+:.*$$' $(MAKEFILE_LIST ) | sort
156
156
157
157
# # Targets intended to be run in preparation for a new release
158
+ draft-release-notes :
159
+ ${MAKEFILE_PATH} /scripts/draft-release-notes
160
+
158
161
create-local-release-tag-major :
159
162
${MAKEFILE_PATH} /scripts/create-local-tag-for-release -m
160
163
Original file line number Diff line number Diff line change
1
+ #! /usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ GIT_REPO_ROOT=$( git rev-parse --show-toplevel)
5
+ BUILD_DIR=" ${GIT_REPO_ROOT} /build"
6
+
7
+ RELEASE_NOTES=" ${BUILD_DIR} /release-notes.md"
8
+ touch " ${RELEASE_NOTES} "
9
+
10
+ >&2 git fetch --all --tags
11
+
12
+ if git describe HEAD --tags | grep -Eq " ^v[0-9]+(\.[0-9]+)*(-[a-z0-9]+)?$" ; then
13
+ LAST_RELEASE_HASH=$( git rev-list --tags --max-count=1 --skip=1 --no-walk)
14
+ else
15
+ TAG=$( git describe HEAD --tags | grep -Eo " ^v[0-9]+(\.[0-9]+)*" )
16
+ LAST_RELEASE_HASH=$( git rev-list -1 $TAG )
17
+ fi
18
+
19
+ echo " ## Changes" | tee -a " ${RELEASE_NOTES} "
20
+ for change in $( git rev-list $LAST_RELEASE_HASH ..HEAD) ; do
21
+ one_line_msg=$( git --no-pager log --pretty=' %s (thanks to %an)' " ${change} " -n1 | sed ' s/^\[.*\]//' | xargs)
22
+ echo " - ${one_line_msg} " | tee -a " ${RELEASE_NOTES} "
23
+ done
24
+
25
+ >&2 echo -e " \n\nRelease notes file: ${RELEASE_NOTES} "
You can’t perform that action at this time.
0 commit comments