Skip to content

Streamline tests and coverage in CI - #50

Merged
rozling merged 1 commit into
mainfrom
ci/streamline-checks
Sep 22, 2026
Merged

rozling merged 1 commit into
mainfrom
ci/streamline-checks

Conversation

@rozling

@rozling rozling commented Sep 22, 2026

Copy link
Copy Markdown
Owner

Why

The test suite takes seconds, while the CI jobs spend most of their time installing the full development dependency set. Coverage also repeats the Ubuntu tests in a separate job. The latest main run spent 36 of 55 Windows test-job seconds installing dependencies, and the separate Coverage job used another 22 seconds.

Change

  • Add requirements-test.txt for runtime, pytest, and coverage dependencies. Tests install only that file, and its cache key includes both requirement files that affect the install.
  • Run coverage in the Ubuntu Tests matrix job and retain the HTML coverage-report artifact. Remove the duplicate Coverage workflow and its stale badge and release-checklist entry.
  • Run pytest without xdist, remove its unused dependency, and stop uploading .pytest_cache as a test-result artifact.
  • Include pyproject.toml in the code-change filter so package metadata changes trigger tests.

Validation

  • actionlint .github/workflows/test.yml .github/workflows/lint.yml .github/workflows/security.yml
  • python -m pytest -v --tb=short (73 passed)
  • python -m pytest -v --tb=short --cov=a8_validate --cov-report=xml --cov-report=html --cov-report=term (73 passed; HTML/XML reports generated)
  • pre-commit run --all-files (all hooks passed)
  • pip check (no broken requirements)

No branch protection or repository ruleset requires the removed Coverage status.

@rozling
rozling merged commit 137dace into main Sep 22, 2026
4 checks passed
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