30 lines
1.1 KiB
Bash
30 lines
1.1 KiB
Bash
|
|
#!/usr/bin/env bash
|
||
|
|
# CS3D integration check: detects ohif-integration label and parses CS3D_REF.
|
||
|
|
# Writes to GITHUB_OUTPUT: enabled (true|false), cs3d_ref (when enabled).
|
||
|
|
#
|
||
|
|
# Required env: GH_TOKEN, EVENT_NAME, REPO, PR_NUMBER, GITHUB_OUTPUT
|
||
|
|
# Optional env: CS3D_REF_INPUT (for workflow_dispatch, default 4.19+)
|
||
|
|
|
||
|
|
set -e
|
||
|
|
|
||
|
|
if [[ "$EVENT_NAME" == "workflow_dispatch" ]]; then
|
||
|
|
echo "enabled=true" >> "$GITHUB_OUTPUT"
|
||
|
|
echo "cs3d_ref=${CS3D_REF_INPUT:-4.19+}" >> "$GITHUB_OUTPUT"
|
||
|
|
elif [[ "$EVENT_NAME" == "pull_request" ]]; then
|
||
|
|
LABELS=$(gh api "repos/${REPO}/issues/${PR_NUMBER}/labels" --jq '.[].name')
|
||
|
|
if echo "$LABELS" | grep -q "ohif-integration"; then
|
||
|
|
echo "enabled=true" >> "$GITHUB_OUTPUT"
|
||
|
|
REF=$(gh api "repos/${REPO}/pulls/${PR_NUMBER}" --jq '.body' \
|
||
|
|
| sed -n 's/^[[:space:]]*CS3D_REF:[[:space:]]*\([^[:space:]]*\).*/\1/p' | head -1)
|
||
|
|
if [[ -z "$REF" ]]; then
|
||
|
|
REF="4.19+"
|
||
|
|
fi
|
||
|
|
echo "cs3d_ref=${REF}" >> "$GITHUB_OUTPUT"
|
||
|
|
echo "::notice::CS3D ref from PR body: ${REF}"
|
||
|
|
else
|
||
|
|
echo "enabled=false" >> "$GITHUB_OUTPUT"
|
||
|
|
fi
|
||
|
|
else
|
||
|
|
echo "enabled=false" >> "$GITHUB_OUTPUT"
|
||
|
|
fi
|