Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Limit and/or Cache API requests to avoid: 403 - API rate limit exceeded for installation ID ___ #266

Copy link
Copy link
@trinitronx

Description

@trinitronx
Issue body actions

I just switched to using Jekyll 4.3.2 and tried to deploy a static site using this theme, which lists all current GitHub repositories on the generated static site page. To do this, it uses jekyll-github-metadata gem (version 2.16.0) to gather all repositories for my GitHub user.

Apparently, this results in a lot of API requests (for my user, over ~486!) and quickly hits the rate limit when using GITHUB_TOKEN in a GitHub Actions workflow.

Would it be possible to cache or limit API requests further so static site deployments will complete successfully in GitHub Actions?

For example: The jekyll build --verbose output shows each repo is queried for both contributors and releases, but the template doesn't even need this information

  Logging at level: debug
    Jekyll Version: 4.3.2
Configuration file: /mnt/terabyte/src/sites/trinitronx.github.io/_config.yml
Configuration file: /mnt/terabyte/src/sites/trinitronx.github.io/_config_dev.yml
         Requiring: jekyll-github-metadata
To use retry middleware with Faraday v2.0+, install `faraday-retry` gem
   GitHub Metadata: Initializing...
            Source: /mnt/terabyte/src/sites/trinitronx.github.io
       Destination: /mnt/terabyte/src/sites/trinitronx.github.io/_site
 Incremental build: enabled
      Generating... 
           Reading: /_layouts/default.html
       EntryFilter: excluded /LICENSE.neumorphism
       EntryFilter: excluded /README.md
       EntryFilter: excluded /docs
       EntryFilter: excluded /package.json
       EntryFilter: excluded /node_modules
       EntryFilter: excluded /.jekyll-cache
       EntryFilter: excluded /.github
       EntryFilter: excluded /.ruby-version
       EntryFilter: excluded /Gemfile
       EntryFilter: excluded /yarn.lock
       EntryFilter: excluded /.ruby-gemset
       EntryFilter: excluded /Gemfile.lock
       EntryFilter: excluded /.gitignore
       EntryFilter: excluded /gulpfile.js
           Reading: index.html
           Reading: _data/projects.yml
           Reading: _data/skills-frameworks.yml
           Reading: _data/skills-languages.yml
           Reading: _data/skills-tools.yml
           Reading: _data/timeline.yml
         Rendering: index.html
  Pre-Render Hooks: index.html
  Rendering Markup: index.html
Post-Convert Hooks: index.html
  Rendering Layout: index.html
   GitHub Metadata: Generating for trinitronx/trinitronx.github.io
   GitHub Metadata: Calling @client.list_repos("trinitronx", {:type=>"public", :accept=>"application/vnd.github.mercy-preview+json"})
   GitHub Metadata: Calling @client.releases("trinitronx/action-doctl")
   GitHub Metadata: Calling @client.contributors("trinitronx/action-doctl")
   GitHub Metadata: Calling @client.releases("trinitronx/ansible")
   GitHub Metadata: Calling @client.contributors("trinitronx/ansible")
   GitHub Metadata: Calling @client.releases("trinitronx/ansible-examples")
   GitHub Metadata: Calling @client.contributors("trinitronx/ansible-examples")


[... SNIP ...]
[... TOTAL number of releases + contributors API log lines = 486 ...]
[... SNIP ...]


   GitHub Metadata: Calling @client.releases("trinitronx/zengge-lightcontrol")
   GitHub Metadata: Calling @client.contributors("trinitronx/zengge-lightcontrol")
           Writing: /mnt/terabyte/src/sites/trinitronx.github.io/_site/index.html
  Writing Metadata: .jekyll-metadata
                    done in 177.699 seconds.
 Auto-regeneration: disabled. Use --watch to enable.
[18:31:02] Finished 'jekyll' after 2.97 min

athackst, aspiers, mans0954 and jmanuel1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      Morty Proxy This is a proxified and sanitized view of the page, visit original site.