mirror of
https://gitlab.com/fdroid/fdroiddata.git
synced 2026-03-19 21:28:38 +01:00
31 lines
1,018 B
Bash
Executable file
31 lines
1,018 B
Bash
Executable file
#! /usr/bin/env bash
|
|
|
|
set -e
|
|
|
|
cd "$(dirname "$(dirname "${BASH_SOURCE[0]}")")"
|
|
|
|
glab="glab --repo fdroid/fdroiddata"
|
|
function retry {
|
|
while output=$("$@"); [[ $? != 0 ]]; do
|
|
continue
|
|
done
|
|
echo $output
|
|
}
|
|
|
|
echo "Fetching MR list..."
|
|
mr_list=$(retry $glab mr list --author checkupdates-bot --per-page 100 -F json | jq -r 'map(select(.labels | map(. != "waiting-for-upstream") | all) | .iid)[]')
|
|
for mr in $mr_list; do
|
|
mr_stat=$(retry $glab mr view $mr -F json)
|
|
if [[ $(echo $mr_stat | jq -r '.labels | map(. == "fdroid-bot") | any') == "false" ]]; then
|
|
retry $glab mr update $mr --label "fdroid-bot"
|
|
fi
|
|
draft=$(echo $mr_stat | jq -r '.draft')
|
|
if [[ $(echo $mr_stat | jq -r '.title | test("bot: Update CurrentVersion of .*")') == "true" && $draft == "false" ]]; then
|
|
retry $glab mr update $mr --draft
|
|
draft="true"
|
|
fi
|
|
if [[ $(echo $mr_stat | jq -r '.pipeline.status == "success"') == "true" && $draft == "false" ]]; then
|
|
echo "Merging $mr..."
|
|
./tools/auto-merge.sh $mr
|
|
fi
|
|
done
|