set -eu
: "${RK_REPO:?rk sets this; run this script through rk setup}"
name=release-lines
id="$(gh api "repos/$RK_REPO/rulesets" -q ".[] | select(.name == \"$name\") | .id" | head -n 1)"
if [ -n "$id" ]; then
gh api -X PUT "repos/$RK_REPO/rulesets/$id" --input - >/dev/null
else
gh api -X POST "repos/$RK_REPO/rulesets" --input - >/dev/null
fi <<JSON
{
"name": "$name",
"target": "branch",
"enforcement": "active",
"conditions": {
"ref_name": { "include": ["refs/heads/release/*"], "exclude": [] }
},
"rules": [
{ "type": "deletion" },
{ "type": "non_fast_forward" }
]
}
JSON
echo "check: prints $name"
gh api "repos/$RK_REPO/rulesets" -q ".[] | select(.name == \"$name\") | .name"