Skip to content

feat(ci): publish dashboard API test reports - #2908

Open
tang-vu wants to merge 1 commit into
Osmantic:mainfrom
tang-vu:feat/dashboard-ci-test-reports
Open

feat(ci): publish dashboard API test reports#2908
tang-vu wants to merge 1 commit into
Osmantic:mainfrom
tang-vu:feat/dashboard-ci-test-reports

Conversation

@tang-vu

@tang-vu tang-vu commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Why this matters

A failed dashboard API CI job currently leaves reviewers searching a long console log, and its structured results disappear with the runner. This publishes a compact GitHub Job Summary and durable JUnit/coverage artifact on both success and failure. The summary intentionally excludes assertion payloads and captured output so credentials or user data cannot be copied into the broadly visible summary surface.

Overlap check

Searched open and closed upstream PRs for JUnit, test summary, dashboard workflow, and the changed files. No active PR adds structured dashboard test reporting, and no open PR currently changes .github/workflows/dashboard.yml.

What changed

  • emit JUnit XML from the real dashboard API pytest invocation
  • always publish a compact Markdown count/duration/failing-test summary when the report exists
  • always retain JUnit and LCOV files as a pinned v7 Actions artifact
  • add a dependency-free JUnit formatter with output caps, Markdown-safe names, and deliberate failure-payload omission

Regression test

python -m pytest -q tests/test_summarize_junit.py

Also validated:

  • generated JUnit from pytest and rendered it through scripts/summarize-junit.py
  • python tests/test-dependency-pins.py
  • parsed .github/workflows/dashboard.yml with PyYAML
  • python -m py_compile scripts/summarize-junit.py tests/test_summarize_junit.py
  • git diff --check

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant