Skip to content

fix: add parallel UT coverage reporting and recover Codecov#3323

Merged
Dallas98 merged 4 commits into
developfrom
fix/fix-parallel-ut-by-reimpl
Jun 29, 2026
Merged

fix: add parallel UT coverage reporting and recover Codecov#3323
Dallas98 merged 4 commits into
developfrom
fix/fix-parallel-ut-by-reimpl

Conversation

@JasonW404

@JasonW404 JasonW404 commented Jun 29, 2026

Copy link
Copy Markdown
Member

Summary

  • Add a parallel unit-test runner with file-level subprocess isolation and configurable worker count/timeouts.
  • Keep detailed pass-rate accounting for per-file test execution.
  • Generate combined branch coverage reports through the Coverage API, including terminal, HTML, and test/coverage.xml outputs.
  • Keep deployment script checks and deployment path triggers in the unit-test workflow.
  • Recover the Codecov upload path that has been failing since April by upgrading the Codecov action, selecting the linux-arm64 uploader explicitly, failing CI on upload errors, and pinning the action to a full commit SHA for SonarCloud compliance.

Codecov Recovery

Historical CI logs showed the coverage XML was generated successfully, but codecov/codecov-action@v4 failed on the ARM runner after selecting an invalid uploader path. This PR updates the uploader configuration so the UT job uploads test/coverage.xml successfully and restores the codecov/patch PR check.

Validation

  • Parsed .github/workflows/auto-unit-test.yml with PyYAML.
  • Ran backend/.venv/bin/python -m py_compile test/run_all_test.py.
  • Smoke-ran the UT runner with NEXENT_PYTEST_TARGETS=test/backend/consts/test_error_code.py, producing 79 passed and test/coverage.xml.
  • Confirmed PR CI showed test passing and codecov/patch passing after the Codecov workflow update.

@codecov

codecov Bot commented Jun 29, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@JasonW404 JasonW404 changed the title fix: restore parallel UT runner with coverage reporting fix: add parallel UT coverage reporting and recover Codecov Jun 29, 2026
@Dallas98 Dallas98 marked this pull request as ready for review June 29, 2026 06:08
@Dallas98 Dallas98 requested review from Dallas98 and WMC001 as code owners June 29, 2026 06:08
Copilot AI review requested due to automatic review settings June 29, 2026 06:08
@Dallas98 Dallas98 merged commit 9572820 into develop Jun 29, 2026
20 checks passed

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the unit-test/coverage pipeline to better support parallelized pytest execution while ensuring combined coverage artifacts are generated consistently and successfully uploaded to Codecov on the ARM runner.

Changes:

  • Adjust coverage generation so the combined .coverage data is created first and XML is generated via the Coverage Python API during the reporting step.
  • Add a codecov.yml configuration to enforce project/patch coverage status behavior and PR commenting layout.
  • Update the unit-test GitHub Actions workflow to pin/upgrade the Codecov action, explicitly select the ARM64 uploader OS, and fail CI on upload errors to restore the codecov/patch check.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
test/run_all_test.py Moves XML generation into the Coverage API reporting step after combining parallel coverage data.
codecov.yml Adds Codecov status/comment configuration for project and patch coverage reporting.
.github/workflows/auto-unit-test.yml Pins/upgrades Codecov upload action, adds uploader OS override input, and enforces failing on upload errors.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

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.

3 participants