Skip to content

feat(ci): add test statistics and coverage report#48

Draft
alexengrig wants to merge 2 commits into
mainfrom
cursor/ci-report-test-coverage-4d6d
Draft

feat(ci): add test statistics and coverage report#48
alexengrig wants to merge 2 commits into
mainfrom
cursor/ci-report-test-coverage-4d6d

Conversation

@alexengrig

Copy link
Copy Markdown
Member

Summary

Closes #47.

Adds a GitHub-native CI report that summarizes formatting, clippy, tests, and coverage in the workflow job summary, and uploads machine-readable artifacts for future automation.

Changes

  • Run tests with cargo llvm-cov nextest using a ci nextest profile
  • Generate JUnit, LCOV, HTML, and text coverage outputs
  • Upload a ci-report artifact on every run
  • Write a Markdown job summary via $GITHUB_STEP_SUMMARY
  • Continue running later checks when earlier ones fail so reviewers get a fuller report
  • Add llvm-tools-preview to rust-toolchain.toml for local/CI coverage support
  • Update the github-actions-ci OpenSpec spec and AGENTS.md

Report sections

  • Overall CI result
  • Format, clippy, and test status table
  • Test statistics from nextest output
  • Coverage summary from cargo llvm-cov
  • Slowest tests parsed from JUnit XML
  • Artifact references for the uploaded report bundle

Non-goals (per issue)

  • No Codecov or other paid services
  • No GitHub Pages publishing
  • No blocking coverage thresholds yet

Testing

  • Verified the report generator locally with mock nextest/coverage/JUnit inputs
  • Full workflow execution will be validated by GitHub Actions on this PR
Open in Web Open in Cursor 

Generate a GitHub Actions job summary with formatting, clippy,
test, and coverage results. Run tests via cargo llvm-cov nextest,
upload JUnit/LCOV/HTML coverage artifacts, and keep the workflow
free of paid third-party services.

Closes #47

Signed-off-by: Cursor Agent <cursoragent@cursor.com>

Co-authored-by: Grig Alex <alexengrigdev@gmail.com>
@alexengrig alexengrig self-assigned this Jul 7, 2026
@alexengrig alexengrig added this to the v0.1.0 milestone Jul 7, 2026
cargo llvm-cov report rejects --all-features/--locked build flags and
cannot combine --lcov/--text/--html in one invocation, so the report
step always failed CI. Split it into three separate report calls and
drop the unsupported flags, using the default (flag-less) report
format for the text summary since --text produces an annotated source
dump rather than a TOTAL summary table.

Also fix generate-ci-report.py's nextest summary regex: nextest omits
the "N failed," segment entirely when there are no failures, so the
previous pattern never matched a fully-passing run.

Signed-off-by: Claude <noreply@anthropic.com>
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.

Add CI report with test statistics and coverage

3 participants