chore(coverage): speed up coverage reporting #477

Closed
brent.edwards wants to merge 3 commits from feat/slipcover into master
Member

Use slipcover with per-feature JSON merge and src-only line totals to keep the 97% gate stable.

Description

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Refactoring (no functional changes)
  • Documentation update
  • Test improvements
  • CI/CD changes

Quality Checklist

  • Code follows the project's coding standards (see CONTRIBUTING.md)
  • All public/protected methods have argument validation
  • Static typing is complete (no Any unless justified)
  • nox -s typecheck passes with no errors
  • nox -s lint passes with no errors
  • Unit tests written/updated (Behave scenarios in features/)
  • Integration tests written/updated (Robot suites in robot/) if applicable
  • Coverage remains above 85% (nox -s coverage_report)
  • No security issues introduced (nox -s security_scan)
  • No dead code introduced (nox -s dead_code)
  • Documentation updated if behavior changed

Testing

Test Commands Run

nox -s unit_tests       # Behave tests
nox -s typecheck        # Type checking
nox -s lint             # Linting
nox -s coverage_report  # Coverage

Implementation Notes

Use slipcover with per-feature JSON merge and src-only line totals to keep the 97% gate stable. ## Description <!-- Brief description of what this PR does --> ## Type of Change - [ ] Bug fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) - [ ] Refactoring (no functional changes) - [ ] Documentation update - [ ] Test improvements - [ ] CI/CD changes ## Quality Checklist - [ ] Code follows the project's coding standards (see CONTRIBUTING.md) - [ ] All public/protected methods have argument validation - [ ] Static typing is complete (no `Any` unless justified) - [ ] `nox -s typecheck` passes with no errors - [ ] `nox -s lint` passes with no errors - [ ] Unit tests written/updated (Behave scenarios in `features/`) - [ ] Integration tests written/updated (Robot suites in `robot/`) if applicable - [ ] Coverage remains above 85% (`nox -s coverage_report`) - [ ] No security issues introduced (`nox -s security_scan`) - [ ] No dead code introduced (`nox -s dead_code`) - [ ] Documentation updated if behavior changed ## Testing <!-- Describe how you tested your changes --> ### Test Commands Run ```bash nox -s unit_tests # Behave tests nox -s typecheck # Type checking nox -s lint # Linting nox -s coverage_report # Coverage ``` ## Related Issues <!-- Link to related issues: Closes #123, Fixes #456 --> ## Implementation Notes <!-- Any architectural decisions, trade-offs, or important notes for reviewers -->
chore(coverage): speed up coverage reporting
Some checks failed
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 14s
CI / build (pull_request) Successful in 16s
CI / quality (pull_request) Successful in 17s
CI / typecheck (pull_request) Successful in 31s
CI / security (pull_request) Successful in 31s
CI / coverage (pull_request) Has been cancelled
CI / unit_tests (pull_request) Has been cancelled
CI / integration_tests (pull_request) Has been cancelled
CI / benchmark-regression (pull_request) Has been cancelled
CI / docker (pull_request) Has been cancelled
a5bd80471e
Use slipcover with per-feature JSON merge and src-only line totals to keep the 97% gate stable.
Merge branch 'master' into feat/slipcover
Some checks failed
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 12s
CI / quality (pull_request) Successful in 17s
CI / build (pull_request) Successful in 16s
CI / security (pull_request) Successful in 33s
CI / typecheck (pull_request) Successful in 43s
CI / integration_tests (pull_request) Failing after 2m48s
CI / unit_tests (pull_request) Successful in 11m59s
CI / coverage (pull_request) Failing after 11m53s
CI / docker (pull_request) Successful in 39s
CI / benchmark-regression (pull_request) Successful in 20m55s
a5afdc8a85
fix(ci): align coverage JSON key lookups with slipcover output format
All checks were successful
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 13s
CI / quality (pull_request) Successful in 16s
CI / build (pull_request) Successful in 16s
CI / typecheck (pull_request) Successful in 31s
CI / security (pull_request) Successful in 33s
CI / integration_tests (pull_request) Successful in 3m36s
CI / unit_tests (pull_request) Successful in 11m52s
CI / docker (pull_request) Successful in 39s
CI / coverage (pull_request) Successful in 12m23s
CI / benchmark-regression (pull_request) Successful in 20m58s
4eed203281
Slipcover writes coverage data under 'summary' not 'totals' (coverage.py
format). The noxfile already had robust fallback logic but two CI
workflows hardcoded the old key:

- ci.yml 'Surface coverage summary' step: KeyError: 'totals'
- nightly-quality.yml: silently reported 0% coverage

Also use --fail-under=97 (equals form) in noxfile so the Robot
integration test Coverage Threshold Is 97 In Noxfile passes its
string search for '--fail-under='.
brent.edwards closed this pull request 2026-03-01 02:43:41 +00:00
All checks were successful
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 13s
Required
Details
CI / quality (pull_request) Successful in 16s
Required
Details
CI / build (pull_request) Successful in 16s
Required
Details
CI / typecheck (pull_request) Successful in 31s
Required
Details
CI / security (pull_request) Successful in 33s
Required
Details
CI / integration_tests (pull_request) Successful in 3m36s
Required
Details
CI / unit_tests (pull_request) Successful in 11m52s
Required
Details
CI / docker (pull_request) Successful in 39s
Required
Details
CI / coverage (pull_request) Successful in 12m23s
Required
Details
CI / benchmark-regression (pull_request) Successful in 20m58s

Pull request closed

Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
cleveragents/cleveragents-core!477
No description provided.