#!/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] " 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 .