Skip to content

Conversation

@hemidactylus
Copy link
Collaborator

@hemidactylus hemidactylus commented Dec 16, 2025

Phase 1 means that this PR refactors the whole unit+integration test workflows in the following way:

  • usage of pytest-cov to generate coverage data in all integration tests + one unit test (py3.11 at the moment)
  • those partial pieces of data are each stored as artifacts
  • the test workflows are now orchestrated by a workflow that waits for them, downloads these files and combines them into the "full .coverage" file
  • it then creates a HTML report (zipped and available for later inspection); prints the coverage report as PR comment, if this is a PR
  • it uploads the JSON report if this is a push to main.

Phase 2 will add a step, in PRs, that compares the currently-generated JSON report to that of the base commit (i.e. on main) to post a comment with delta information.

@datastax datastax deleted a comment from github-actions bot Dec 17, 2025
@datastax datastax deleted a comment from github-actions bot Dec 17, 2025
@datastax datastax deleted a comment from github-actions bot Dec 18, 2025
@datastax datastax deleted a comment from github-actions bot Dec 18, 2025
@datastax datastax deleted a comment from github-actions bot Dec 18, 2025
@datastax datastax deleted a comment from github-actions bot Dec 18, 2025
@datastax datastax deleted a comment from github-actions bot Dec 18, 2025
@datastax datastax deleted a comment from github-actions bot Dec 18, 2025
@datastax datastax deleted a comment from github-actions bot Dec 18, 2025
@datastax datastax deleted a comment from github-actions bot Dec 18, 2025
@datastax datastax deleted a comment from github-actions bot Dec 18, 2025
@datastax datastax deleted a comment from github-actions bot Dec 18, 2025
@datastax datastax deleted a comment from github-actions bot Dec 18, 2025
@datastax datastax deleted a comment from github-actions bot Dec 18, 2025
@hemidactylus hemidactylus changed the title Draft for code-coverage machinery Code-coverage self-contained machinery, phase 1 Dec 18, 2025
@datastax datastax deleted a comment from github-actions bot Dec 19, 2025
@hemidactylus hemidactylus force-pushed the SL-codecov0 branch 2 times, most recently from 17a7333 to 735277b Compare December 19, 2025 16:38
most (local) test coverage/reporting in place

draft for codecov orchestrator

TEMP reduce it scope for testing codecov

relative path of workflows, fix

workflows called with full syntax

nope, revert to abs path and nothing more

standardize yaml naming

standardize yaml naming 2

secret inheritance chain overhaul

add env to unit test job

add env block to all testing flows

trying to debug uploader:

trying to debug uploader 2

trying to debug uploader 3

trying to debug uploader 4

trying to debug uploader 5

remove debug

what is in the downloaded things anyway?

coverage calculation and posting to PR, attempt 1

coverage calculation and posting to PR, attempt 2

coverage calculation and posting to PR, attempt 3

coverage calculation and posting to PR, attempt 4

coverage calculation and posting to PR, attempt 5

coverage calculation and posting to PR, attempt 6

coverage calculation and posting to PR, attempt 7

coverage calculation and posting to PR, attempt 8

publish html codecov report

publish html codecov report 2

publish html codecov report 3

publish html codecov report 4

remove and postpone the 'gh pages html publish' thing

minor coverage message rephrase

html report retention workaround 1

html report retention workaround 2

reinstate full test; coverage json uploaded for push-to-main

suspend farr-related tests on HCD until dev rer.serv. back in action

revert the exclusion of farr in hcd tests, i.e. include them again

aggregator workflow cleanup 2
@github-actions
Copy link

Coverage report

for commit: e8bf5e201a47d768befc1fe1b82f1fd94e38b11f.
download detailed report here.

Name                                                   Stmts   Miss  Cover
--------------------------------------------------------------------------
astrapy/__init__.py                                       26     10    62%
astrapy/admin/__init__.py                                  3      0   100%
astrapy/admin/admin.py                                   762    361    53%
astrapy/admin/endpoints.py                                36      3    92%
astrapy/api_options.py                                     3      0   100%
astrapy/authentication.py                                138     24    83%
astrapy/client.py                                         67     11    84%
astrapy/collection.py                                      2      0   100%
astrapy/constants.py                                      72      6    92%
astrapy/cursors.py                                         7      0   100%
astrapy/data/__init__.py                                   0      0   100%
astrapy/data/collection.py                               754     57    92%
astrapy/data/cursors/__init__.py                           1      0   100%
astrapy/data/cursors/cursor.py                            92      3    97%
astrapy/data/cursors/farr_cursor.py                      338     11    97%
astrapy/data/cursors/find_cursor.py                      630     30    95%
astrapy/data/cursors/pagination.py                        21      4    81%
astrapy/data/cursors/query_engine.py                     211     16    92%
astrapy/data/cursors/reranked_result.py                    8      0   100%
astrapy/data/database.py                                 657     75    89%
astrapy/data/info/collection_descriptor.py               197     33    83%
astrapy/data/info/database_info.py                       104     11    89%
astrapy/data/info/reranking.py                           122     18    85%
astrapy/data/info/table_descriptor/table_altering.py     114     11    90%
astrapy/data/info/table_descriptor/table_columns.py      204     17    92%
astrapy/data/info/table_descriptor/table_creation.py      49      2    96%
astrapy/data/info/table_descriptor/table_indexes.py      233     30    87%
astrapy/data/info/table_descriptor/table_listing.py       49      6    88%
astrapy/data/info/table_descriptor/type_altering.py       85      7    92%
astrapy/data/info/table_descriptor/type_creation.py       32      2    94%
astrapy/data/info/table_descriptor/type_listing.py        39      4    90%
astrapy/data/info/vectorize.py                           131     14    89%
astrapy/data/table.py                                    737     65    91%
astrapy/data/utils/__init__.py                             0      0   100%
astrapy/data/utils/collection_converters.py               80      4    95%
astrapy/data/utils/distinct_extractors.py                103      1    99%
astrapy/data/utils/extended_json_converters.py            28      0   100%
astrapy/data/utils/table_converters.py                   411     20    95%
astrapy/data/utils/table_types.py                         36      0   100%
astrapy/data/utils/vector_coercion.py                     12      0   100%
astrapy/data_types/__init__.py                            10      0   100%
astrapy/data_types/data_api_date.py                       89      6    93%
astrapy/data_types/data_api_dict_udt.py                    9      1    89%
astrapy/data_types/data_api_duration.py                   55      5    91%
astrapy/data_types/data_api_map.py                        58      8    86%
astrapy/data_types/data_api_set.py                        89     23    74%
astrapy/data_types/data_api_time.py                       98      7    93%
astrapy/data_types/data_api_timestamp.py                  98     11    89%
astrapy/data_types/data_api_vector.py                     43      7    84%
astrapy/database.py                                        2      0   100%
astrapy/event_observers/__init__.py                        5      0   100%
astrapy/event_observers/context_managers.py               26      2    92%
astrapy/event_observers/events.py                         50      0   100%
astrapy/event_observers/observers.py                      29      1    97%
astrapy/exceptions/__init__.py                           108     19    82%
astrapy/exceptions/collection_exceptions.py               39     11    72%
astrapy/exceptions/data_api_exceptions.py                 84      1    99%
astrapy/exceptions/devops_api_exceptions.py               79      6    92%
astrapy/exceptions/error_descriptors.py                   53      3    94%
astrapy/exceptions/table_exceptions.py                    26      8    69%
astrapy/exceptions/utils.py                               53     11    79%
astrapy/ids.py                                             5      0   100%
astrapy/info.py                                           15      0   100%
astrapy/repl.py                                           76     76     0%
astrapy/results.py                                        50     16    68%
astrapy/settings/__init__.py                               0      0   100%
astrapy/settings/defaults.py                              57      0   100%
astrapy/settings/error_messages.py                         2      0   100%
astrapy/table.py                                           2      0   100%
astrapy/utils/__init__.py                                  0      0   100%
astrapy/utils/api_commander.py                           226     18    92%
astrapy/utils/api_options.py                             202     20    90%
astrapy/utils/date_utils.py                               80      2    98%
astrapy/utils/document_paths.py                           45      0   100%
astrapy/utils/duration_c_utils.py                         66      2    97%
astrapy/utils/duration_std_utils.py                       92      7    92%
astrapy/utils/meta.py                                     36      8    78%
astrapy/utils/parsing.py                                   7      1    86%
astrapy/utils/request_tools.py                            32      0   100%
astrapy/utils/str_enum.py                                 32      1    97%
astrapy/utils/unset.py                                    10      1    90%
astrapy/utils/user_agents.py                              18      3    83%
--------------------------------------------------------------------------
TOTAL                                                   8750   1141    87%

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