Skip to Content
SignalsTest Results

Test Results

Surface test results directly in your PRs. Dev Herald reads your test runner’s JSON output and formats it into a clean, readable comment — pass counts, failure details, and suite breakdowns all in one place.

Usage

- name: Post Test Results if: always() uses: dev-herald/comment@v1 with: api-key: ${{ secrets.DEV_HERALD_KEY }} pr-number: ${{ github.event.pull_request.number }} sticky-id: test-results signal: 'TEST_RESULTS' test-results: | - name: Unit Tests path: vitest-results/results.json

Options

OptionRequiredDescription
signalMust be TEST_RESULTS
test-resultsYAML list of test suites — each entry needs a name and path to the JSON output file
sticky-idRecommendedReuses the same comment on every push instead of creating a new one

Multiple Suites

Pass multiple suites under the same step — they’ll be combined into a single PR comment:

signal: 'TEST_RESULTS' test-results: | - name: Unit Tests path: vitest-results/results.json - name: E2E Tests path: playwright-results/results.json

Supported Test Runners

RunnerOutput format
VitestJSON (reporters: ['json'])
PlaywrightJSON (reporter: [['json', { outputFile: '...' }]])

Next Steps

Last updated on