badges / badges/shields

Handle large GitHub releases (use caching!?)

Open
#672 7 comments 0 reactions 0 assignees View on GitHub
bug service-badge
Dominant language
JavaScript
Stars
27.2k
Forks
5.6k
Avg merge
1d 8h
Merged PRs (30d)
46

Description

For OpenGApps I would like to include a badge with # downloads of our releases.
But already even one single release of one architecture often gives timeouts, like: [![Latest ARM](https://img.shields.io/github/downloads/opengapps/arm/latest/total.svg)](http://opengapps.org/arch=arm)

While I would prefer to even do:
[![ARM Releases](https://img.shields.io/github/downloads/opengapps/arm/total.svg)](http://opengapps.org/arch=arm)

And I would like to do that for our other architectures (arm64,x86,x86_64) preferably even with a grand-total for all of the 4 repositories together.
We do daily releases, so we are the "weird" one and not the typical use-case, but I would really like to use the badges.

Some caching of non real-time data would not hurt the use-case, since we are well above 3 million downloads...

(see currently regularly failing implementation at https://github.com/opengapps/opengapps/blob/master/README.md )

Contributor guide

Open the contributing guide

Research direction

Start with the failing badge implementation linked from the OpenGApps README and trace how GitHub release download counts are currently fetched. Determine how large and combined release totals should be cached, then verify that the affected badges render reliably for the listed architectures and repositories without repeated timeouts.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
api, backend, performance
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.