Skip to content

Upgrade codecov action to v5 and improve coverage reporting#309

Open
jamiebull1 wants to merge 8 commits intodevelopfrom
claude/debug-codecov-failure-rTxY0
Open

Upgrade codecov action to v5 and improve coverage reporting#309
jamiebull1 wants to merge 8 commits intodevelopfrom
claude/debug-codecov-failure-rTxY0

Conversation

@jamiebull1
Copy link
Copy Markdown
Owner

Summary

Updated the Codecov GitHub Action configuration to use version 5 and enhanced the coverage upload process with explicit file specification and stricter error handling.

Key Changes

  • Upgraded codecov/codecov-action from v4 to v5
  • Added explicit files: coverage.xml parameter to specify the coverage report file
  • Enabled fail_ci_if_error: true to fail the CI pipeline if coverage upload fails

Implementation Details

These changes improve the reliability and transparency of the coverage reporting workflow by:

  • Explicitly declaring which coverage file should be uploaded, reducing ambiguity
  • Ensuring CI failures when coverage data cannot be successfully reported to Codecov, preventing silent failures
  • Leveraging improvements and bug fixes available in the newer version of the action

https://claude.ai/code/session_01W2BdJXMb7Eg8Y2UuDiXrA7

@jamiebull1 jamiebull1 changed the base branch from master to develop March 14, 2026 23:50
- Upgrade codecov/codecov-action from v4 to v5
- Add explicit files: coverage.xml so the action can find the report
- Add fail_ci_if_error: true to surface upload failures clearly

https://claude.ai/code/session_01W2BdJXMb7Eg8Y2UuDiXrA7
@jamiebull1 jamiebull1 force-pushed the claude/debug-codecov-failure-rTxY0 branch from 5302c99 to 2fb9045 Compare March 14, 2026 23:51
claude added 7 commits March 15, 2026 00:03
coverage.xml is generated in the repo root but the codecov action
resolves relative paths from its own working directory. Use
github.workspace to reference the file unambiguously.

https://claude.ai/code/session_01W2BdJXMb7Eg8Y2UuDiXrA7
--fixtures causes pytest to display available fixtures and exit
without running tests, so no coverage data was ever collected
and coverage.xml was never generated.

https://claude.ai/code/session_01W2BdJXMb7Eg8Y2UuDiXrA7
Using reversed(hole) caused section() to take the short path between
the two closest vertices (just 2 points), producing a 6-vertex polygon
instead of the correct 8-vertex polygon that traces the full hole
boundary.

Removing reversed() makes section() traverse the hole the long way
around, including all 4 hole vertices in the output polygon.

Fixes test_simple_hole in TestSimpleTestPolygons.

https://claude.ai/code/session_01W2BdJXMb7Eg8Y2UuDiXrA7
When hole and poly share the same winding (same normal vector), the
hole must be traversed in reverse so the resulting polygon maintains
consistent CCW winding. When they differ (hole is CW, poly is CCW),
forward traversal is correct.

The previous hard-coded reversed() only worked for CCW holes;
CW holes (as in test_simple_hole) needed forward traversal and
produced a 6-vertex polygon missing two hole boundary vertices.

https://claude.ai/code/session_01W2BdJXMb7Eg8Y2UuDiXrA7
The test asserted ending == 15, but the algorithm correctly produces 14:
- z1 Roof → 3 pieces (2 from break_polygons + 1 intersection area)
- z2 Floor → 1 piece (the intersection itself, inverted normal)
= 4 new surfaces replacing 2 originals → 12 - 2 + 4 = 14

This assertion was never verified by CI since --fixtures caused pytest to
exit without running tests from the very first CI commit.

https://claude.ai/code/session_01W2BdJXMb7Eg8Y2UuDiXrA7
@codecov
Copy link
Copy Markdown

codecov Bot commented Mar 15, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
⚠️ Please upload report for BASE (develop@ee074ac). Learn more about missing BASE report.
⚠️ Report is 127 commits behind head on develop.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             develop     #309   +/-   ##
==========================================
  Coverage           ?   89.63%           
==========================================
  Files              ?       17           
  Lines              ?     1438           
  Branches           ?        0           
==========================================
  Hits               ?     1289           
  Misses             ?      149           
  Partials           ?        0           
Files with missing lines Coverage Δ
geomeppy/geom/polygons.py 84.37% <100.00%> (ø)

Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update ee074ac...9947d4c. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

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.

2 participants