#!/bin/sh
set -eu
branch="${1:-${TANGLED_PR_SOURCE_BRANCH:-}}"
if [ -z "$branch" ]; then
echo "preview-worker-name: no branch given and TANGLED_PR_SOURCE_BRANCH is unset" >&2
exit 1
fi
name=$(printf '%s' "$branch" |
tr '[:upper:]' '[:lower:]' |
tr '/_' '--' |
tr -cd 'a-z0-9-' |
cut -c1-40 |
sed 's/^-*//; s/-*$//')
if [ -z "$name" ]; then
echo "preview-worker-name: branch '$branch' sanitizes to an empty name" >&2
exit 1
fi
printf '%s\n' "$name"