#!/usr/bin/env bash# Runs `bun run changeset:version`, retrying only the transient GitHub GraphQL# failure modes of @changesets/changelog-github (truncated responses).## Invoked from .github/workflows/release.yml as the changesets/action `version`# command. It lives in a script because the action splits the command string# itself rather than handing it to a shell, so inline quoting does not survive.set -ufor attempt in 1 2 3; do log="$(mktemp)" if bun run changeset:version >"$log" 2>&1; then cat "$log" rm -f "$log" exit 0 fi status=$? cat "$log" if ! grep -Eq "Failed to parse data from GitHub|Premature close" "$log" || [ "$attempt" -eq 3 ]; then rm -f "$log" exit "$status" fi echo "::warning::changeset:version hit a transient GitHub GraphQL failure on attempt $attempt; resetting generated files before retry." rm -f "$log" git reset --hard HEAD git clean -fd -- .changeset apps packages examples e2edone
#!/usr/bin/env bash
# Runs `bun run changeset:version`, retrying only the transient GitHub GraphQL
# failure modes of @changesets/changelog-github (truncated responses).
#
# Invoked from .github/workflows/release.yml as the changesets/action `version`
# command. It lives in a script because the action splits the command string
# itself rather than handing it to a shell, so inline quoting does not survive.
set -u
for attempt in 1 2 3; do
log="$(mktemp)"
if bun run changeset:version >"$log" 2>&1; then
cat "$log"
rm -f "$log"
exit 0
fi
status=$?
cat "$log"
if ! grep -Eq "Failed to parse data from GitHub|Premature close" "$log" || [ "$attempt" -eq 3 ]; then
rm -f "$log"
exit "$status"
fi
echo "::warning::changeset:version hit a transient GitHub GraphQL failure on attempt $attempt; resetting generated files before retry."
rm -f "$log"
git reset --hard HEAD
git clean -fd -- .changeset apps packages examples e2e
done