Skip to content

Serve README badges without shields.io so they render through GitHub's image proxy - #19

Merged
ryanduguid merged 1 commit into
mainfrom
ryan/badges-self-hosted
Oct 30, 2026
Merged

ryanduguid merged 1 commit into
mainfrom
ryan/badges-self-hosted

Conversation

@ryanduguid

Copy link
Copy Markdown
Collaborator

The README badges now load from sources GitHub's image proxy can reach, so none show as a broken image.

GitHub serves external README images through its camo proxy. On 30 October camo returned 504 after about 4.2 s on most fetches from shields.io, so the tests, CodeQL and SonarCloud badges showed as '?' in the GitHub mobile app. Shields.io itself answered within 2 s.

  • tests and CodeQL: GitHub's native workflow badges, which are not proxied. They have GitHub's grey label, not the black flat style.
  • SonarCloud: SonarCloud's own quality gate badge, which camo fetched in under 0.6 s on every attempt.
  • licence and fork of: the same shields.io SVGs, committed under .github/assets/badges/ and linked by relative path.

Checks: npm test (133 passed, 4 skipped; pi-extension 30 passed). On this branch at a 375 px viewport all 5 badges decoded in the browser. Not tested in the GitHub mobile app itself.

…s image proxy

GitHub's camo proxy timed out (504 after about 4.2 s) on most shields.io fetches, so the badges showed as broken images. Tests and CodeQL now use GitHub's native workflow badges, SonarCloud its own badge, and the static licence and fork-of badges are committed SVGs.
@ryanduguid
ryanduguid enabled auto-merge (squash) October 30, 2026 02:44
@sonarqubecloud

Copy link
Copy Markdown

@ryanduguid
ryanduguid merged commit d34061b into main Oct 30, 2026
9 checks passed
@ryanduguid
ryanduguid deleted the ryan/badges-self-hosted branch October 30, 2026 02:47
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