Skip to content

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

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

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

Conversation

@bearomorphism

@bearomorphismbearomorphism commented May 3, 2026

Copy link
Copy Markdown
Collaborator

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:

RunJob"Upload test results to Codecov"Link
25276231285python-check (3.10, ubuntu-22.04)successlink
25276415667python-check (3.10, ubuntu-22.04)failurelink

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

codecovBot commented May 3, 2026

Copy link
Copy Markdown

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
CollaboratorAuthor

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 freeto 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

@bearomorphism