mirror of
https://github.com/block/buzz.git
synced 2026-08-18 06:50:31 +02:00
40 lines
1.2 KiB
Bash
40 lines
1.2 KiB
Bash
#!/usr/bin/env bash
|
|||
|
|
set -euo pipefail
|
||
|
|
|
||
|
|
if [[ $# -ne 1 ]]; then
|
||
|
|
echo "Usage: $0 <markdown-file>" >&2
|
||
|
|
exit 1
|
||
|
|
fi
|
||
|
|
|
||
|
|
MARKDOWN_FILE="$1"
|
||
|
|
|
||
|
|
if [[ ! -f "$MARKDOWN_FILE" ]]; then
|
||
|
|
echo "error: markdown file not found: $MARKDOWN_FILE" >&2
|
||
|
|
exit 1
|
||
|
|
fi
|
||
|
|
|
||
|
|
# Buzz/relay media URLs often render in Buzz but fail in GitHub PR markdown
|
||
|
|
# because GitHub's Camo proxy fetches them anonymously. PR screenshots should
|
||
|
|
# be hosted through scripts/post-screenshots.sh or another GitHub-safe host.
|
||
|
|
relay_media_pattern='https?://[^][()<>[:space:]"'"'"']*/media/[0-9a-fA-F]{64}\.(png|jpe?g|webp|gif)'
|
||
|
|
sprout_media_pattern='https?://sprout-oss[^][()<>[:space:]"'"'"']*/media/'
|
||
|
|
|
||
|
|
tmp_matches=$(mktemp)
|
||
|
|
trap 'rm -f "$tmp_matches"' EXIT
|
||
|
|
|
||
|
|
if grep -nE "$relay_media_pattern" "$MARKDOWN_FILE" >>"$tmp_matches"; then
|
||
|
|
:
|
||
|
|
fi
|
||
|
|
if grep -nE "$sprout_media_pattern" "$MARKDOWN_FILE" >>"$tmp_matches"; then
|
||
|
|
:
|
||
|
|
fi
|
||
|
|
|
||
|
|
if [[ -s "$tmp_matches" ]]; then
|
||
|
|
matches=$(sort -u "$tmp_matches")
|
||
|
|
echo "error: PR markdown contains Buzz/relay media URLs that may not render on GitHub:" >&2
|
||
|
|
printf '%s\n' "$matches" >&2
|
||
|
|
echo >&2
|
||
|
|
echo "Upload screenshots with scripts/post-screenshots.sh, then use its GitHub-safe image URLs in the PR body/comment." >&2
|
||
|
|
exit 1
|
||
|
|
fi
|