Kiwi

Kiwi for GitHub Actions

Report check results from GitHub Actions to a run's Verify step with a checker key.

  • Posts named check results over HTTP with a checker key. The key can report only the checks you choose in one project.
  • Checks reserved for CI accept results only from a checker key.
  • Records each result against the candidate under review. A pass counts toward Verify; a fail means the run needs rework.
  • Records a retried report once.
  • Kiwi does not start pipelines or read their logs. It records the results your pipeline sends.

Set up

Store your checker key as the KIWI_CHECKER_KEY secret and add report-kiwi-check.sh from the setup guide to your repository.

This job in .github/workflows/kiwi.yml runs after your tests and reports the tests-pass check as pass or fail:

on:
  workflow_dispatch:
    inputs:
      kiwi_run_id:
        description: Kiwi run ID
        required: true

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: npm ci && npm test

  report:
    needs: test
    if: always()
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - env:
          KIWI_CHECKER_KEY: ${{ secrets.KIWI_CHECKER_KEY }}
          KIWI_RUN_ID: ${{ inputs.kiwi_run_id }}
        run: >
          ./report-kiwi-check.sh tests-pass
          ${{ needs.test.result == 'success' && 'pass' || 'fail' }}
          "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"

Start the workflow with the Kiwi run ID as its input.

Replace tests-pass with the check ID from your plan.