docs: fix coveralls badge not rendering in README#620
Merged
Conversation
The coveralls native badge serves the SVG via a 302 redirect to an S3 asset marked Cache-Control: no-cache, which GitHub's Camo image proxy won't render. Switch to the shields.io coveralls endpoint, which returns a directly-served, cacheable SVG. The link still points at the coveralls dashboard.
bc80881 to
f10d2a2
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The coveralls coverage badge doesn't render in the README — it shows as a broken image.
Root cause
The coveralls native badge (
coveralls.io/repos/.../badge.svg) responds with a 302 redirect to an S3-hosted SVG (s3.amazonaws.com/assets.coveralls.io/badges/coveralls_79.svg) that is served withCache-Control: no-cache. GitHub renders README images through its Camo proxy, which won't reliably serve a redirected image markedno-cache, so the badge breaks.Fix
Switch the image source to the shields.io coveralls endpoint, which serves a directly-served, cacheable
image/svg+xml(Cache-Control: max-age=120) that Camo renders correctly. The badge still links through to the coveralls dashboard, and the value matches (coverage: 79%).