diff options
author | Richard Levitte <levitte@openssl.org> | 2020-04-24 11:03:28 +0200 |
---|---|---|
committer | Matt Caswell <matt@openssl.org> | 2020-05-15 11:20:31 +0100 |
commit | 64af3aecaea73906325c64d3cf36c9f4e3f180a4 (patch) | |
tree | 490dee9c4c1551f8edcb6405dd8b078bf23285e8 | |
parent | 6c3cbc939125e24e65c7d6e82319d811e6e29c0f (diff) |
dev/release.sh: Add --reviewer to set reviewers
Doing this is kind of contrary to how we normally do things, as this
constitutes a kind of pre-approval. However, without this, the normal
review process will modify the reviewed commits, and render the
annotated release tag invalid, which forces the person doing the
release to re-tag manually.
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/11630)
-rwxr-xr-x | dev/release.sh | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/dev/release.sh b/dev/release.sh index c7f19fe16d..7f7042fb18 100755 --- a/dev/release.sh +++ b/dev/release.sh @@ -24,6 +24,7 @@ Usage: release.sh [ options ... ] where '{major}' and '{minor}' are the major and minor version numbers. +--reviewer=<id> The reviewer of the commits. --local-user=<keyid> For the purpose of signing tags and tar files, use this key (default: use the default e-mail address’ key). @@ -65,6 +66,7 @@ do_manual=false tagkey=' -s' gpgkey= +reviewers= upload_address=upload@dev.openssl.org @@ -73,6 +75,7 @@ TEMP=$(getopt -l 'alpha,next-beta,beta,final' \ -l 'no-upload,no-update' \ -l 'verbose,debug' \ -l 'local-user:' \ + -l 'reviewer:' \ -l 'force' \ -l 'help,manual' \ -n release.sh -- - "$@") @@ -122,6 +125,11 @@ while true; do gpgkey=" -u $1" shift ;; + --reviewer ) + reviewers="$reviewers $1=$2" + shift + shift + ;; --force ) force=true shift @@ -311,6 +319,9 @@ if [ -n "$(git status --porcelain)" ]; then $VERBOSE "== Committing updates" git add -u git commit $git_quiet -m 'make update' + if [ -n "$reviewers" ]; then + addrev --nopr $reviewers + fi fi # Write the version information we updated @@ -339,6 +350,9 @@ done $VERBOSE "== Comitting updates and tagging" git add -u git commit $git_quiet -m "Prepare for release of $release_text" +if [ -n "$reviewers" ]; then + addrev --nopr $reviewers +fi echo "Tagging release with tag $tag. You may need to enter a pass phrase" git tag$tagkey "$tag" -m "OpenSSL $release release tag" @@ -436,6 +450,9 @@ done $VERBOSE "== Comitting updates" git add -u git commit $git_quiet -m "Prepare for $release_text" +if [ -n "$reviewers" ]; then + addrev --nopr $reviewers +fi if $do_branch; then $VERBOSE "== Going back to the main branch $current_branch" @@ -460,6 +477,9 @@ if $do_branch; then $VERBOSE "== Comitting updates" git add -u git commit $git_quiet -m "Prepare for $release_text" + if [ -n "$reviewers" ]; then + addrev --nopr $reviewers + fi fi # Done ############################################################### @@ -543,6 +563,7 @@ B<--beta> | B<--final> | B<--branch> | B<--local-user>=I<keyid> | +B<--reviewer>=I<id> | B<--no-upload> | B<--no-update> | B<--verbose> | @@ -619,6 +640,14 @@ Use I<keyid> as the local user for C<git tag> and for signing with C<gpg>. If not given, then the default e-mail address' key is used. +=item B<--reviewer>=I<id> + +Add I<id> to the set of reviewers for the commits performed by this script. +Multiple reviewers are allowed. + +If no reviewer is given, you will have to run C<addrev> manually, which +means retagging a release commit manually as well. + =item B<--force> Force execution. Precisely, the check that the current branch is C<master> |