sr.ht-apkbuilds/submit-builds

67 lines
1.1 KiB
Plaintext
Raw Normal View History

2019-01-28 16:17:19 +01:00
#!/bin/sh
2019-01-28 16:18:35 +01:00
upstream=https://builds.sr.ht
manifest=build.yml
2019-01-28 16:18:35 +01:00
2019-01-28 16:17:19 +01:00
if [ -e ~/.config/sr.ht ]
then
. ~/.config/sr.ht
fi
while getopts m:u:t:h flag
2019-01-28 16:17:19 +01:00
do
case $flag in
u)
upstream="$OPTARG"
;;
t)
2021-08-26 08:53:48 +02:00
bearer_token="$OPTARG"
2019-01-28 16:17:19 +01:00
;;
m)
manifest="$OPTARG"
;;
2019-01-28 16:17:19 +01:00
h)
echo "Usage: $0 [-u https://upstream...] [-t oauth token] <packages...>"
exit 0
;;
esac
done
shift $((OPTIND-1))
builds=""
note=""
2019-01-28 16:17:19 +01:00
for target in $*
do
if [ "$builds" = "" ]
then
2019-06-30 20:38:50 +02:00
builds="'${target#sr.ht/}'"
note="${target#sr.ht/}"
2019-01-28 16:17:19 +01:00
else
2019-06-30 20:38:50 +02:00
builds="$builds, '${target#sr.ht/}'"
if [ "${#note}" -lt 128 ]
then
note="$note, ${target#sr.ht/}"
fi
2019-01-28 16:17:19 +01:00
fi
done
2021-08-26 08:53:48 +02:00
vars="$(sed "s/packages: \\[\\]/packages: [$builds]/g" < $manifest | jq -sR '{
2021-08-26 08:53:48 +02:00
"manifest": .,
"tags": ["sr.ht-apkbuilds"],
"note": "'"$note"'"
}')"
query="$(jq -sR '.' <<"EOF"
mutation SubmitJob($manifest: String!, $tags: [String!]!, $note: String!) {
submit(manifest: $manifest, tags: $tags, note: $note) {
id, tags
}
}
EOF
)"
curl --oauth2-bearer "$bearer_token" \
2019-01-28 16:17:19 +01:00
-H Content-Type:application/json \
2021-08-26 08:53:48 +02:00
-d '{
"query": '"$query"',
"variables": '"$vars"'
}' "$upstream/query" | jq .