close-merge input

Fixes: https://code.forgejo.org/actions/cascading-pr/issues/7
This commit is contained in:
Earl Warren 2023-10-24 22:51:30 +02:00
parent f8a65b3d9f
commit 5caaedbc52
No known key found for this signature in database
GPG key ID: 0579CB2928A78A00
7 changed files with 80 additions and 9 deletions

View file

@ -64,13 +64,15 @@ function close_pull_request() {
}
function merge_pull_request() {
forgejo-curl.sh api_json ${options[url]}/api/v1/repos/user1/originrepo/pulls | jq --raw-output '.[] | .number' | while read pr ; do
forgejo-curl.sh api_json --data '{"Do":"merge"}' ${options[url]}/api/v1/repos/user1/originrepo/pulls/$pr/merge
local repo=$1
forgejo-curl.sh api_json ${options[url]}/api/v1/repos/user1/${repo}/pulls | jq --raw-output '.[] | .number' | while read pr ; do
forgejo-curl.sh api_json --data '{"Do":"merge"}' ${options[url]}/api/v1/repos/user1/${repo}/pulls/$pr/merge
done
}
function has_cascade_pull_request() {
pr_count=$(forgejo-curl.sh api_json ${options[url]}/api/v1/repos/user2/destinationrepo/pulls | jq '. | length')
pr_count=$(forgejo-curl.sh api_json ${options[url]}/api/v1/repos/user2/destinationrepo/pulls | jq '[ .[] | select(.state == "open") ] | length')
test $pr_count -gt 0
}
@ -227,8 +229,20 @@ function create_and_merge() {
create_pull_request user1 user1 originrepo
wait_success ${options[url]}/api/v1/repos/user1/originrepo $(cat $TMPDIR/user1-originrepo.sha)
has_cascade_pull_request
merge_pull_request
merge_pull_request originrepo
wait_success ${options[url]}/api/v1/repos/user1/originrepo $(cat $TMPDIR/user1-originrepo.sha)
has_cascade_pull_request
}
function create_and_merge_close() {
fixture originrepo-close-merge destinationrepo
create_pull_request user1 user1 originrepo-close-merge
wait_success ${options[url]}/api/v1/repos/user1/originrepo-close-merge $(cat $TMPDIR/user1-originrepo-close-merge.sha)
has_cascade_pull_request
merge_pull_request originrepo-close-merge
wait_success ${options[url]}/api/v1/repos/user1/originrepo-close-merge $(cat $TMPDIR/user1-originrepo-close-merge.sha)
! has_cascade_pull_request
}
function integration() {
@ -236,6 +250,7 @@ function integration() {
create_from_fork_and_close
create_and_close
create_and_merge
create_and_merge_close
}
function unit() {