Skip to content

ci: specify junit.xml path for Codecov test results upload#1943

Closed
bearomorphism wants to merge 1 commit intomasterfrom
fix/codecov-test-results-upload
Closed

ci: specify junit.xml path for Codecov test results upload#1943
bearomorphism wants to merge 1 commit intomasterfrom
fix/codecov-test-results-upload

Conversation

@bearomorphism
Copy link
Copy Markdown
Collaborator

@bearomorphism bearomorphism commented May 3, 2026

Description

The "Upload test results to Codecov" step in CI intermittently fails with:

info - Found 0 test_results files to report
error - No JUnit XML reports found. Please review our documentation
(https://docs.codecov.com/docs/test-result-ingestion-beta) to generate and upload the file.

The poe cover task (run via poe ci) generates junit.xml in the project root (--junitxml=junit.xml in pyproject.toml line 299), but the codecov/codecov-action@v6 with report_type: test_results relies on auto-discovery which is unreliable.

Fix

Add file: junit.xml to explicitly point the Codecov action at the generated JUnit XML report.

Evidence of flaky behavior

Same branch, same workflow, same step — different outcomes:

Run Job "Upload test results to Codecov" Link
25276231285 python-check (3.10, ubuntu-22.04) success link
25276415667 python-check (3.10, ubuntu-22.04) failure link

Both runs executed the same workflow without file: specified. The Codecov CLI auto-discovery found junit.xml in one run but not the other. Adding an explicit path eliminates this non-determinism.

Checklist

Was generative AI tooling used to co-author this PR?

  • Yes

Generated-by: GitHub Copilot CLI

The 'Upload test results to Codecov' step was failing with 'No JUnit XML
reports found' because the codecov-action could not auto-discover the file.
The poe 'cover' task generates junit.xml in the project root via
--junitxml=junit.xml, so we explicitly set file: junit.xml.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@codecov
Copy link
Copy Markdown

codecov Bot commented May 3, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 98.10%. Comparing base (b4f4209) to head (78d3486).
⚠️ Report is 3 commits behind head on master.
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #1943   +/-   ##
=======================================
  Coverage   98.10%   98.10%           
=======================================
  Files          61       61           
  Lines        2748     2748           
=======================================
  Hits         2696     2696           
  Misses         52       52           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@bearomorphism bearomorphism marked this pull request as draft May 3, 2026 10:32
@bearomorphism
Copy link
Copy Markdown
Collaborator Author

Closing - the CI failure was caused by a mypy overload error (now fixed in PR #1941), not a Codecov auto-discovery issue. The JUnit XML was missing because tests never ran due to the lint failure.

@bearomorphism bearomorphism deleted the fix/codecov-test-results-upload branch May 3, 2026 10:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant