#!/usr/bin/env bash set -euo pipefail if [[ -n "${GITHUB_SERVER_URL:-}" ]]; then API_BASE="${GITHUB_SERVER_URL%/}/api/v1" elif [[ -n "${GITEA_SERVER_URL:-}" ]]; then API_BASE="${GITEA_SERVER_URL%/}/api/v1" else API_BASE="http://kankali.darkhelm.lan:3000/api/v1" fi TOKEN="" REPO_FULL="" WORKFLOW_FILE="" TARGET_REF="" HEAD_SHA="" SOURCE_WORKFLOW="" BASE_NEEDED="" while [[ $# -gt 0 ]]; do case "$1" in --api-base) API_BASE="$2" shift 2 ;; --token) TOKEN="$2" shift 2 ;; --repo) REPO_FULL="$2" shift 2 ;; --workflow) WORKFLOW_FILE="$2" shift 2 ;; --ref) TARGET_REF="$2" shift 2 ;; --head-sha) HEAD_SHA="$2" shift 2 ;; --source-workflow) SOURCE_WORKFLOW="$2" shift 2 ;; --base-needed) BASE_NEEDED="$2" shift 2 ;; *) echo "Unknown argument: $1" >&2 exit 2 ;; esac done if [[ -z "$TOKEN" || -z "$REPO_FULL" || -z "$WORKFLOW_FILE" || -z "$TARGET_REF" || -z "$HEAD_SHA" || -z "$SOURCE_WORKFLOW" ]]; then echo "Missing required arguments" >&2 exit 2 fi REPO_OWNER="${REPO_FULL%/*}" REPO_NAME="${REPO_FULL#*/}" if [[ -n "$BASE_NEEDED" ]]; then PAYLOAD=$(cat <