mirror of
https://github.com/sudoxnym/fdroiddata.git
synced 2026-05-17 03:09:11 +00:00
Add a script to merge MRs from bot in batch
This commit is contained in:
parent
a52fb42cc0
commit
3f902c1da4
2 changed files with 38 additions and 0 deletions
24
tools/auto-merge.sh
Executable file
24
tools/auto-merge.sh
Executable file
|
|
@ -0,0 +1,24 @@
|
|||
#! /usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
cd "$(dirname "$(dirname "${BASH_SOURCE[0]}")")"
|
||||
|
||||
mr=$1
|
||||
glab="glab --repo fdroid/fdroiddata"
|
||||
echo "Rebasing..."
|
||||
$glab mr rebase $mr --skip-ci
|
||||
while [[ $($glab mr view $mr -F json | jq -r '.detailed_merge_status') != "mergeable" ]]; do
|
||||
echo "Checking status..."
|
||||
continue
|
||||
done
|
||||
echo "Merging..."
|
||||
$glab mr merge $mr --auto-merge=false --rebase --yes && {
|
||||
echo "Canceling pipelines..."
|
||||
merged_commit=$($glab mr view $mr -F json | jq -r 'if .squash then .squash_commit_sha else .sha end')
|
||||
head_pipelines=$($glab ci list -F json | jq -r 'map(select(.sha == "'$merged_commit'" and (.source == "push" or .source == "merge_request_event")) | .id)[]')
|
||||
for pipeline in $head_pipelines; do
|
||||
glab api --method POST --silent projects/:id/pipelines/$pipeline/cancel
|
||||
done
|
||||
echo "Done!"
|
||||
} || echo "Merge failed: https://gitlab.com/fdroid/fdroiddata/-/merge_requests/$mr"
|
||||
14
tools/merge-autoupdate.sh
Executable file
14
tools/merge-autoupdate.sh
Executable file
|
|
@ -0,0 +1,14 @@
|
|||
#! /usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
cd "$(dirname "$(dirname "${BASH_SOURCE[0]}")")"
|
||||
|
||||
glab="glab --repo fdroid/fdroiddata"
|
||||
mr_list=$($glab mr list --author checkupdates-bot -F json | jq -r 'map(.iid)[]')
|
||||
for mr in $mr_list; do
|
||||
if [[ $($glab mr view $mr -F json | jq -r '.pipeline.status') == "success" ]]; then
|
||||
echo "Merging $mr..."
|
||||
./tools/auto-merge.sh $mr
|
||||
fi
|
||||
done
|
||||
Loading…
Reference in a new issue