27 lines · 967 B · Shell
RawDownload
#!/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 e2edone