Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

unbork our coverage setup #141

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from
Draft

unbork our coverage setup #141

wants to merge 1 commit into from

Conversation

flbraun
Copy link
Collaborator

@flbraun flbraun commented Oct 25, 2023

there are a couple of problems with our coverage setup:

  1. the tox envs generate and attempt to merge coverage files, leading to race conditions.
  2. after tox has run, the tox make target and the test workflow both also try to process the coverage data.
  3. the test workflow uploads a report to Codecov for each permutation of the python-django-matrix. this is not only inefficient, but also distorts our coverage ratings. at Codecov we're currently scoring 91% coverage, although it should be 93%. this is caused by not properly merging the coverage results of the test matrix and instead uploading them individually, causing our coverage score to be that of the last permutation to finish.
  4. for some unexplained reason, usage of the codecov/codecov-action was replaced with Codecov's bash importer in fbd0cb1. at that point in time the bash importer had already been deprecated for 18 months (!) and the related repository had already been archived for 8 months. users are officially encouraged to migrate to a newer importer (as implemented in the previously used action).

problems 1-3 are addressed by implementing separation of concerns: test runs (whether in workflows or from make targets) now only emit partial coverage data files. combining them and generating reports is done afterward.

to address problem 4 the previously used codecov/codecov-action action is reinstated and properly configured.

finally, re-enable parallel tox runs for the tox make target. this was temporarily disabled to circumvent problems 1 and 2 in 7e92f08.

@flbraun flbraun marked this pull request as draft October 25, 2023 10:04
@flbraun flbraun force-pushed the unbork-coverage branch 18 times, most recently from 79ccb43 to 1f30bf1 Compare October 25, 2023 14:49
@flbraun flbraun changed the title fix orchestration of coverage report generation unbork our coverage setup Oct 25, 2023
@flbraun flbraun force-pushed the unbork-coverage branch 3 times, most recently from 4b30aba to 9aae9cc Compare October 25, 2023 15:26
@flbraun flbraun force-pushed the unbork-coverage branch 7 times, most recently from 3224bd8 to 85d691f Compare March 21, 2024 14:11
there are a couple of problems with our coverage setup:
1. the tox envs generate and attempt to merge coverage files, leading to race conditions.
2. after tox has run, the `tox` make target and the `test` workflow both _also_ try to process the coverage data.
3. the `test` workflow uploads a report to Codecov for each permutation of the python-django-matrix. this is not only inefficient, but also distorts our coverage ratings. at Codecov we're currently scoring 91% coverage, although it should be 93%. this is caused by not properly merging the coverage results of the test matrix and instead uploading them individually, causing our coverage score to be that of the last permutation to finish.
4. for some unexplained reason, usage of the `codecov/codecov-action` was replaced with Codecov's bash importer in fbd0cb1. at that point in time the bash importer had already been deprecated for 18 months (!) and the related repository had already been archived for 8 months. users are officially encouraged to migrate to a newer importer (as implemented in the previously used action).

problems 1-3 are addressed by implementing separation of concerns: test runs (whether in workflows or from make targets) now only emit partial coverage data files. combining them and generating reports is done afterward.

to address problem 4 the previously used `codecov/codecov-action` action is reinstated and properly configured.

finally, re-enable parallel tox runs for the `tox` make target. this was temporarily disabled to circumvent problems 1 and 2 in 7e92f08.
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