Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

API rate limit error with large number of changesets #436

Open
fveauvy opened this issue Jan 21, 2025 · 0 comments
Open

API rate limit error with large number of changesets #436

fveauvy opened this issue Jan 21, 2025 · 0 comments

Comments

@fveauvy
Copy link

fveauvy commented Jan 21, 2025

When running changesets/action with a significant number of accumulated changesets (multiple PRs over several weeks), we encounter a GitHub API error that appears to be related to rate limiting. The error occurs during the changelog generation process.

Environment

  • Node.js: 22.11.0
  • Runner: Self-hosted (Mac Mini)
  • Workflow trigger: On merge to main branch
  • Repository type: Monorepo

Current Behavior

When there are many changesets accumulated (typically after 3-4 weeks of PRs without publishing), the action fails with the following error:

setting git user
/usr/bin/git config user.name "github-actions[bot]"
/usr/bin/git config user.email "github-actions[bot]@users.noreply.github.com"
setting GitHub credentials
/usr/bin/git checkout changeset-release/main
Switched to a new branch 'changeset-release/main'
branch 'changeset-release/main' set up to track 'origin/changeset-release/main'.
/usr/bin/git reset --hard 8c1e97c65dd97283b8667ede90f708cbad2a9e03
HEAD is now at 8c1e97c65dd Feature/web 2075 gap after customer transfert (#1940)
/opt/actions-runner/_work/_tool/node/22.11.0/arm64/bin/node /opt/actions-runner/_work/pragma-web/pragma-web/node_modules/@changesets/cli/bin.js version

The following error was encountered while generating changelog entries
We have escaped applying the changesets, and no files should have been affected
🦋  error Error: An error occurred when fetching data from GitHub
🦋  error [
🦋  error   {
🦋  error     "message": "Something went wrong while executing your query. This may be the result of a timeout, or it could be a GitHub bug. Please include `D694:5B501:7901E8:7C[13](https://github.com/popina/pragma-web/actions/runs/12889881029/job/35938154582#step:7:14)94:678FB915` when reporting this issue."
🦋  error   }
🦋  error ]
🦋  error     at /opt/actions-runner/_work/pragma-web/pragma-web/node_modules/@changesets/get-github-info/dist/get-github-info.cjs.dev.js:183:11
🦋  error     at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
Error: Error: The process '/opt/actions-runner/_work/_tool/node/22.11.0/arm64/bin/node' failed with exit code 1
Error: The process '/opt/actions-runner/_work/_tool/node/22.11.0/arm64/bin/node' failed with exit code 1

This is our workflow configuration:

name: Release
runs-on: ['pragma-web']
permissions:
  contents: write
  issues: write
  pull-requests: write
  packages: write

steps:
  - uses: actions/checkout@v4
  - uses: actions/setup-node@v4
    with:
      node-version: '22.11.0'
  - run: yarn install --prefer-offline
  - uses: changesets/action@v1
    with:
      publish: yarn changeset publish
      createGithubReleases: true
    env:
      GITHUB_TOKEN: ${{ secrets.CHANGESET_RELEASE_TOKEN }}
      NPM_TOKEN: ${{ secrets.NPM_TOKEN }}

Some additional context:

  • The error consistently disappears after publishing a release and merging the "Version Packages" PR, which cleans up the changesets folder
  • This only occurs when there's a large number of pending changesets

Expected Behavior

The action should successfully process and generate changelogs regardless of the number of accumulated changesets.

Attempted Solutions

  1. Added explicit permissions to the workflow:
permissions:
  contents: write
  issues: write
  pull-requests: write
  packages: write
  1. Used a Personal Access Token (PAT) with increased rate limits via CHANGESET_RELEASE_TOKEN

Neither solution resolved the issue.

Would appreciate any guidance on how to handle large numbers of changesets.

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

No branches or pull requests

1 participant