npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@vitest-evals/github-reporter

v0.17.0

Published

GitHub Actions reporting internals for vitest-evals runs.

Readme

@vitest-evals/github-reporter

GitHub Actions reporting internals for vitest-evals runs.

The user-facing API is the native GitHub Action:

- uses: getsentry/vitest-evals@v0
  if: always()
  with:
    results: vitest-results.json

The action reads Vitest's built-in JSON report. Vitest JSON includes each test's meta field, which is where vitest-evals records harness runs, scores, judge rationales, usage, and tool calls.

JUnit XML can still be emitted for CI systems that expect it, but it is not the source of truth for eval reporting.

Check Run

permissions:
  contents: read
  checks: write

steps:
  - uses: getsentry/vitest-evals@v0
    if: always()
    with:
      results: vitest-results.json
      publish-check: true
      min-pass-rate: 0.8

On pull_request, the Check Run attaches to the PR head SHA (not the temporary merge GITHUB_SHA) so it shows on the PR checks list. Override with the sha input when needed.

When a Check Run publishes successfully with a gate, the action step soft-fails by default so the Check Run owns green/red. If publishing is skipped, the step still fails on a rejected gate. Set soft-fail: false to also fail the job.

If configuration or permission is missing, the action keeps the job summary and workflow annotations and warns instead of failing solely for the missing check.

Score and Pass-Rate Gates

- id: report
  uses: getsentry/vitest-evals@v0
  with:
    results: eval-results/*.json
    publish-check: true
    min-pass-rate: 0.8
  • fail-on-failures: true requires every eval case to pass
  • min-pass-rate and min-score-average set aggregate floors in the 0-1 range
  • status and Check Run conclusion/title follow the gate
  • quality misses become warnings when the gate still passes
  • non-eval / infrastructure failures still fail hard
  • published Check Runs soft-fail the step by default; set soft-fail: false to also fail the workflow job
  • use evals-failed / pass-rate for raw tallies (pass-rate is a 0-1 ratio)

Sharded Reports

Upload one JSON artifact per shard, then publish one combined report from a final reducer job:

- uses: actions/download-artifact@v4
  with:
    pattern: vitest-evals-*
    path: eval-results
    merge-multiple: true

- uses: getsentry/vitest-evals@v0
  with:
    results: eval-results/*.json
    publish-check: true
    min-pass-rate: 0.8

Inputs

| Input | Default | Description | | --- | --- | --- | | results | vitest-results.json | Vitest JSON result files. Supports paths, * and ** globs, and newline-separated entries. | | publish-summary | true | Write a GitHub Actions job summary. | | publish-annotations | true | Emit GitHub workflow annotations for failed evals. | | publish-check | false | Publish one GitHub Check Run for the combined report. Attaches to PR head on pull_request. | | check-name | vitest-evals | Name of the GitHub Check Run. | | github-token | ${{ github.token }} | Token used for Check Run publishing. | | sha | PR head, else GITHUB_SHA | Commit SHA for the Check Run. | | fail-on-failures | false | Fail the action when any eval case failed. Equivalent to min-pass-rate: 1. | | soft-fail | auto | Keep the step green when a published Check Run owns a failed gate. | | min-pass-rate | unset | Minimum fraction of eval cases that must pass (0-1). | | min-score-average | unset | Minimum average eval score across scored cases (0-1). | | max-annotations | unset | Maximum number of failure annotations to publish. Check Run annotations are capped at 50 by GitHub. | | max-failures | unset | Maximum number of detailed failures to include in summaries and checks. |

CLI

The package still ships vitest-evals-github-report for local debugging and backward compatibility. GitHub workflows should use the native action.