#!/usr/bin/env sh set -eu if [ "${#}" -ne 4 ]; then echo "Usage: $0 " exit 1 fi base_url="$1" owner="$2" repo="$3" token="$4" protect_branch() { branch="$1" curl -sS -X POST \ "${base_url}/api/v1/repos/${owner}/${repo}/branch_protections" \ -H "Authorization: token ${token}" \ -H "Content-Type: application/json" \ -d "{ \"branch_name\": \"${branch}\", \"enable_push\": false, \"enable_push_whitelist\": false, \"enable_merge_whitelist\": false, \"enable_status_check\": true, \"status_check_contexts\": [\"Governance Checks\", \"Lint Typecheck Unit E2E\"] }" >/dev/null } protect_branch "main" protect_branch "staging" echo "Branch protection applied for main and staging."