Badges

evalship serves README badges with live eval results from your default branch. They have the same shape as shields.io badges, so they fit in an existing badge row.

Badge URLs

URL Shows
https://evalship.com/gh/OWNER/REPO/badge.svg evalship | 46 / 48
https://evalship.com/gh/OWNER/REPO/badge/pass-rate.svg evalship | 95% (rounded down)
https://evalship.com/gh/OWNER/REPO/badge/reviewed.svg evalship | reviewed for 90 days after the latest audit was claimed, else not reviewed

Query parameters (branch and suite apply to the first two badges):

Parameter Effect
?branch=release Results from that branch instead of the default branch.
?suite=support_bot Results for one suite. The label becomes evalship: support_bot.
?format=shields Returns shields.io endpoint JSON instead of SVG.
?token=... Required for private repositories.

Colors

Color When
Green Every case passes.
Yellow Some cases fail, but either all of them are flaky or the pass rate is at least 90%.
Red Otherwise.
Grey, no data No results for the branch or suite yet, an unknown repository, or a private repository without a valid token.
Grey, stale The latest run on the branch is more than 14 days old.

With ?suite=, flakiness isn't taken into account: a suite badge is yellow only at a pass rate of 90% or more. See How PR analysis works for how flaky cases are detected.

Snippets

Markdown:

[![evalship](https://evalship.com/gh/OWNER/REPO/badge.svg)](https://evalship.com/gh/OWNER/REPO)

HTML:

<a href="https://evalship.com/gh/OWNER/REPO"><img src="https://evalship.com/gh/OWNER/REPO/badge.svg" alt="evalship"></a>

reStructuredText:

.. image:: https://evalship.com/gh/OWNER/REPO/badge.svg
   :target: https://evalship.com/gh/OWNER/REPO

The report page for your repository has these snippets ready to copy, with the token included for private repositories. The setup prompt offers to add the Markdown badge next to your existing badges.

shields.io styling

To render the badge in another shields.io style, point the shields.io endpoint badge at the ?format=shields URL. The response looks like this:

{ "schemaVersion": 1, "label": "evalship", "message": "46 / 48", "color": "dfb317" }

URL-encode the evalship URL in the url parameter:

[![evalship](https://img.shields.io/endpoint?url=https%3A%2F%2Fevalship.com%2Fgh%2FOWNER%2FREPO%2Fbadge.svg%3Fformat%3Dshields&style=for-the-badge)](https://evalship.com/gh/OWNER/REPO)

Private repositories

Badges for private repositories need ?token=<badge token>. Without a valid token the badge shows no data, the same as for a repository that doesn't exist, so the badge doesn't reveal whether the repository is connected.

Copy the badge with its token from the report page. To revoke a token, use "Rotate badge token" in the repository's settings on evalship; badges with the old token show no data until you update them. If you use the shields.io endpoint, shields.io sees the token in the URL.

Caching

Badges are cached for 5 minutes (Cache-Control: max-age=300) and carry an ETag, so clients that revalidate get 304 Not Modified when nothing changed. Badges for public repositories are publicly cacheable; badges for private repositories are marked private. GitHub also caches README images through its own image proxy.