Skip to content

fix: GitHub API rate-limiting#119

Open
cpressland wants to merge 2 commits into
jsburckhardt:mainfrom
cpressland:fix/gh-rate-limiting
Open

fix: GitHub API rate-limiting#119
cpressland wants to merge 2 commits into
jsburckhardt:mainfrom
cpressland:fix/gh-rate-limiting

Conversation

@cpressland

@cpressland cpressland commented Jun 9, 2026

Copy link
Copy Markdown
  • Fixed github version lookups for: bat, ccc, copa, crane, cyclonedx, fd, flux, fx, fzf, gic, gitleaks, glow, hurl, hyperfine, jnv, k3d, kyverno, lazygit, notation, opencode, ripgrep, rtk, ruff, tmux, uv, yazi, zarf, and zoxide
  • Fixed missing executable bit for ccc, fd, fx, fzf, glow, hurl, hyperfine, k3d, lazygit, ripgrep, rtk, tmux, yazi, and zoxide

This replaces most GitHub API calls with a simple redirect lookup, e.g.:

$ curl -sI "https://github.com/astral-sh/uv/releases/latest" \
    | grep -i '^location:' \
    | sed 's|.*/tag/||;s/\r//'
0.11.19

This removes the requirement for jq and prevents rate-limiting from the GitHub API:

{
  "message": "API rate limit exceeded for xxx.xxx.xxx.xxx. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.)",
  "documentation_url": "https://docs.github.com/rest/overview/resources-in-the-rest-api#rate-limiting"
}

Codex wasn't modified as it genuinely needs the GitHub API to lookup re-release versions.

Each tool was tested with Podman for the amd64 platform as not everything here supports arm64.

  • podman run -it --rm --platform=linux/amd64 -v "$PWD:/app" debian:latest bash -c "VERSION=latest /app/src/bat/install.sh"
  • podman run --rm --platform=linux/amd64 -v "$PWD:/app" debian:latest bash -c "/app/src/crane/install.sh"
  • podman run --rm --platform=linux/amd64 -v "$PWD:/app" debian:latest bash -c "/app/src/cyclonedx/install.sh"
  • podman run --rm --platform=linux/amd64 -v "$PWD:/app" debian:latest bash -c "/app/src/fd/install.sh"
  • podman run --rm --platform=linux/amd64 -v "$PWD:/app" debian:latest bash -c "/app/src/flux/install.sh"
  • podman run --rm --platform=linux/amd64 -v "$PWD:/app" debian:latest bash -c "/app/src/fx/install.sh"
  • podman run --rm --platform=linux/amd64 -v "$PWD:/app" debian:latest bash -c "/app/src/fzf/install.sh"
  • podman run --rm --platform=linux/amd64 -v "$PWD:/app" debian:latest bash -c "/app/src/gic/install.sh"
  • podman run --rm --platform=linux/amd64 -v "$PWD:/app" debian:latest bash -c "/app/src/gitleaks/install.sh"
  • podman run --rm --platform=linux/amd64 -v "$PWD:/app" debian:latest bash -c "/app/src/glow/install.sh"
  • podman run --rm --platform=linux/amd64 -v "$PWD:/app" debian:latest bash -c "/app/src/hurl/install.sh"
  • podman run --rm --platform=linux/amd64 -v "$PWD:/app" debian:latest bash -c "/app/src/hyperfine/install.sh"
  • podman run --rm --platform=linux/amd64 -v "$PWD:/app" debian:latest bash -c "/app/src/jnv/install.sh"
  • podman run --rm --platform=linux/amd64 -v "$PWD:/app" debian:latest bash -c "/app/src/k3d/install.sh"
  • podman run --rm --platform=linux/amd64 -v "$PWD:/app" debian:latest bash -c "/app/src/kyverno/install.sh"
  • podman run --rm --platform=linux/amd64 -v "$PWD:/app" debian:latest bash -c "/app/src/lazygit/install.sh"
  • podman run --rm --platform=linux/amd64 -v "$PWD:/app" debian:latest bash -c "/app/src/notation/install.sh"
  • podman run --rm --platform=linux/amd64 -v "$PWD:/app" debian:latest bash -c "/app/src/opencode/install.sh"
  • podman run --rm --platform=linux/amd64 -v "$PWD:/app" debian:latest bash -c "/app/src/ripgrep/install.sh"
  • podman run --rm --platform=linux/amd64 -v "$PWD:/app" debian:latest bash -c "/app/src/rtk/install.sh"
  • podman run --rm --platform=linux/amd64 -v "$PWD:/app" debian:latest bash -c "/app/src/ruff/install.sh"
  • podman run --rm --platform=linux/amd64 -v "$PWD:/app" debian:latest bash -c "/app/src/tmux/install.sh"
  • podman run --rm --platform=linux/amd64 -v "$PWD:/app" debian:latest bash -c "/app/src/uv/install.sh"
  • podman run --rm --platform=linux/amd64 -v "$PWD:/app" debian:latest bash -c "/app/src/yazi/install.sh"
  • podman run --rm --platform=linux/amd64 -v "$PWD:/app" debian:latest bash -c "/app/src/zarf/install.sh"
  • podman run --rm --platform=linux/amd64 -v "$PWD:/app" debian:latest bash -c "/app/src/zoxide/install.sh"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant