67 lines
1.1 KiB
Bash
Executable File
67 lines
1.1 KiB
Bash
Executable File
#!/bin/sh
|
|
upstream=https://builds.sr.ht
|
|
manifest=build.yml
|
|
|
|
if [ -e ~/.config/sr.ht ]
|
|
then
|
|
. ~/.config/sr.ht
|
|
fi
|
|
|
|
while getopts m:u:t:h flag
|
|
do
|
|
case $flag in
|
|
u)
|
|
upstream="$OPTARG"
|
|
;;
|
|
t)
|
|
bearer_token="$OPTARG"
|
|
;;
|
|
m)
|
|
manifest="$OPTARG"
|
|
;;
|
|
h)
|
|
echo "Usage: $0 [-u https://upstream...] [-t oauth token] <packages...>"
|
|
exit 0
|
|
;;
|
|
esac
|
|
done
|
|
shift $((OPTIND-1))
|
|
|
|
builds=""
|
|
note=""
|
|
for target in $*
|
|
do
|
|
if [ "$builds" = "" ]
|
|
then
|
|
builds="'${target#sr.ht/}'"
|
|
note="${target#sr.ht/}"
|
|
else
|
|
builds="$builds, '${target#sr.ht/}'"
|
|
if [ "${#note}" -lt 128 ]
|
|
then
|
|
note="$note, ${target#sr.ht/}"
|
|
fi
|
|
fi
|
|
done
|
|
|
|
vars="$(sed "s/packages: \\[\\]/packages: [$builds]/g" < $manifest | jq -sR '{
|
|
"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" \
|
|
-H Content-Type:application/json \
|
|
-d '{
|
|
"query": '"$query"',
|
|
"variables": '"$vars"'
|
|
}' "$upstream/query" | jq .
|