Reports

Readable artifacts for engineers.

The point is not only pass or fail. The point is to show what changed, which payload failed, and what the workflow emitted.

Core outputs

There are two main artifacts.

Validation report

  • Machine-readable JSON.
  • Includes workflow, declaration path, payload path, job results, matrix, outputs, and errors.
  • Used as the source for dashboards and baseline diffs.

Dashboard

  • Markdown matrix intended for humans.
  • Can diff the current report against a baseline report.
  • Can be uploaded, summarized in Actions, or posted to a PR comment.

Generate them

Keep the output path explicit.

Failed payloads also keep a typed issue list in the JSON report, and the markdown dashboard renders those issues inline so reviewers can see conflicts or unexpected fields without opening raw CUE stderr.

The dashboard starts with a short issue summary so engineers can tell whether the run mainly failed because of conflicts, missing fields, or generic CUE errors.

Report

just validate-repo-report . ci.yml \
  tests/fixtures/ci \
  target/actionspec/validation-report.json

Dashboard

just dashboard-report \
  target/actionspec/validation-report.json \
  target/actionspec/dashboard.md

Baseline diffs

Compare the current matrix with an earlier run.

Baseline diffs are useful when a PR changes workflow behavior and reviewers need to see the delta instead of reading raw JSON.

Action example

- uses: v4lproik/github-actionspec-rs@main
  with:
    repo: .
    workflow: ci.yml
    actual: .github/actionspec-artifacts/**/*.json
    report-file: /github/runner_temp/actionspec/current/report.json
    baseline-report: /github/runner_temp/actionspec/baseline/report.json
    dashboard-file: /github/runner_temp/actionspec/current/dashboard.md
    comment-pr: true
    github-token: ${{ github.token }}

If the dashboard says a payload failed but the reason is still unclear, open Troubleshooting before dropping into raw logs.

This repo

Artifacts published by the repository.

Fixture matrix

  • ci-matrix-dashboard
  • Produced in the tests job.
  • Backed by fixture payload validation.
  • Used for PR comment updates and diffs.

Coverage

  • target/llvm-cov/lcov.info
  • Generated by just coverage-ci.
  • Uploaded to Codecov from CI.