diff options
author | Daniel Borkmann <daniel@iogearbox.net> | 2022-10-24 15:26:17 +0200 |
---|---|---|
committer | Daniel Borkmann <daniel@iogearbox.net> | 2022-10-24 15:26:17 +0200 |
commit | 8f9e1c9fbaf09be94c7d370bae1fa5a9f94e9b11 (patch) | |
tree | 1e4ac4b20ef11b478be820e271d53ba8fb3b3379 | |
parent | 7083f4de55045d0a96094b6ba59a8e6f162747e1 (diff) | |
download | pw-8f9e1c9fbaf09be94c7d370bae1fa5a9f94e9b11.tar.gz |
pw-request-pull: make signing 3 step process
See REAME wrt workflow.
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
-rw-r--r-- | README | 14 | ||||
-rwxr-xr-x | pw-request-pull | 22 |
2 files changed, 31 insertions, 5 deletions
@@ -329,7 +329,19 @@ For bpf & bpf-next tree dirs: Git signing/pushing/deleting tags for PR: - $ pw-request-pull -t bpf-next -S + For BPF trees, it's a 3 step process: + + 1) Create and push the signed tag to the tree: + + $ pw-request-pull -t bpf-next -S -c + + 2) Create the pull-request template: + + $ pw-request-pull -t bpf-next -S + + 3) After merge, remove the signed tag from tree: + + $ pw-request-pull -t bpf-next -S -d Manual steps would look like: diff --git a/pw-request-pull b/pw-request-pull index 9c69787..d75b9ac 100755 --- a/pw-request-pull +++ b/pw-request-pull @@ -6,7 +6,7 @@ usage() { cat <<-EOF - usage: pw-request-pull [-h] [-t TREE] [-s SINCE_COMMIT] [-S] + usage: pw-request-pull [-h] [-t TREE] [-s SINCE_COMMIT] [-S] [-c] [-d] EOF exit } @@ -15,12 +15,16 @@ remote="" since="" sign="" tree="" +create="" +delete="" today=$(date +%Y-%m-%d) while true; do case "$1" in -s | --since ) since="$2"; shift 2 ;; -S | --sign ) sign="for-netdev"; shift ;; + -c | --tag-create ) create="true"; shift ;; + -d | --tag-delete ) delete="true"; shift ;; -t | --tree ) tree="$2"; shift 2 ;; -h | --help ) usage; break ;; * ) break ;; @@ -47,9 +51,19 @@ thanks=$(git log --no-merges $since...HEAD --format="%b" | awk '$1 ~ /Reported-b file="pr-$tree-$today.patch" tag="" if [ ! -z "$sign" ]; then - git tag -s $sign -m "$tree-$sign" - git verify-tag $sign - git push origin $sign + if [ ! -z "$create" ]; then + git tag -s $sign -m "$tree-$sign" + git verify-tag $sign + git push origin $sign + echo "Signed tag $sign pushed to $tree!" + exit + fi + if [ ! -z "$delete" ]; then + git push --delete origin $sign + git tag -d $sign + echo "Signed tag $sign removed from $tree!" + exit + fi tag="tags/$sign" fi git request-pull $since ${remote[1]} $sign > $file |