Skip to content

ci: run Astra integration tests in the merge queue only - #439

Open
erichare wants to merge 2 commits into
mainfrom
ci/418-astra-merge-queue-only
Open

erichare wants to merge 2 commits into
mainfrom
ci/418-astra-merge-queue-only

Conversation

@erichare

Copy link
Copy Markdown
Collaborator

Addresses #418.

What changed

  • codecov_aggregator.yml now also triggers on merge_group.
  • The Astra integration job (main_it, tests against the shared Astra DB) runs only on merge_group — no longer on every PR push (or push to main).
  • The aggregate coverage job now tolerates main_it being skipped, so per-PR coverage still runs from the local integration and unit jobs.
  • main.yml gets a concurrency group (astra-integration-shared-db, no cancel) so two Astra runs can never hit the shared database at the same time, even outside the queue.

Unit tests and the local Data API integration job are unchanged and still run on every PR.

Still needed in repo settings (not in this diff)

A workflow change alone cannot turn on the merge queue. Before or with merging this PR, a repo admin needs to:

  1. Enable merge queue for main.
  2. Require the check main_it / test so a failing Astra run blocks merging.

Please enable the queue before merging: until then, the Astra job will not run anywhere (it no longer runs on PRs or pushes to main).

Note: pushes to main no longer run the Astra job, so the stored main coverage baseline comes from the local integration job. It runs the same tests/base/integration suite against a local Data API, so coverage should be effectively unchanged.

Verification

  • actionlint on both workflows: 7 findings before this change, 7 after — all pre-existing (old action versions, shellcheck notes); none on the new lines.
  • The merge_group path itself can only be exercised once the queue is enabled and a PR is queued.

@erichare erichare linked an issue Oct 13, 2026 that may be closed by this pull request
@github-actions

Copy link
Copy Markdown

Coverage report

for commit: 1088cf817c093f952479fc56299950156649894b.
download detailed report here.

WARNING: Unable to compute coverage delta information.

                                                File   Stmts   Miss      Cover
------------------------------------------------------------------------------
                                     astrapy/repl.py      77     77      0.00%
                              astrapy/admin/admin.py     859    364     57.63%
                                 astrapy/__init__.py      26     10     61.54%
                               astrapy/utils/meta.py      42     16     61.90%
                                  astrapy/results.py      50     16     68.00%
                      astrapy/exceptions/__init__.py     108     33     69.44%
              astrapy/exceptions/table_exceptions.py      27      8     70.37%
         astrapy/exceptions/collection_exceptions.py      40     11     72.50%
                  astrapy/data_types/data_api_set.py      90     23     74.44%
                         astrapy/exceptions/utils.py      53     11     79.25%
                  astrapy/data/info/database_info.py     197     38     80.71%
                  astrapy/data/cursors/pagination.py      21      4     80.95%
                        astrapy/utils/user_agents.py      18      3     83.33%
                           astrapy/authentication.py     146     24     83.56%
                                   astrapy/client.py      68     11     83.82%
               astrapy/data_types/data_api_vector.py      44      7     84.09%
          astrapy/data/info/collection_descriptor.py     222     33     85.14%
                      astrapy/data/info/reranking.py     122     18     85.25%
                            astrapy/utils/parsing.py       7      1     85.71%
                  astrapy/data_types/data_api_map.py      59      8     86.44%
                            astrapy/data/database.py     657     89     86.45%
 astrapy/data/info/table_descriptor/table_listing.py      49      6     87.76%
 astrapy/data/info/table_descriptor/table_indexes.py     230     26     88.70%
            astrapy/data_types/data_api_timestamp.py      98     11     88.78%
                      astrapy/data/info/vectorize.py     131     14     89.31%
    astrapy/settings/definitions/definitions_data.py      38      4     89.47%
  astrapy/data/info/table_descriptor/type_listing.py      39      4     89.74%
             astrapy/data_types/data_api_dict_udt.py      10      1     90.00%
                              astrapy/utils/unset.py      10      1     90.00%
                        astrapy/utils/api_options.py     206     20     90.29%
astrapy/data/info/table_descriptor/table_altering.py     114     11     90.35%
                               astrapy/data/table.py     738     70     90.51%
                      astrapy/utils/api_commander.py     248     23     90.73%
             astrapy/data_types/data_api_duration.py      55      5     90.91%
 astrapy/data/info/table_descriptor/table_columns.py     204     17     91.67%
                          astrapy/data/collection.py     752     62     91.76%
 astrapy/data/info/table_descriptor/type_altering.py      85      7     91.76%
                 astrapy/utils/duration_std_utils.py      92      7     92.39%
         astrapy/exceptions/devops_api_exceptions.py      79      6     92.41%
                astrapy/data/cursors/query_engine.py     214     16     92.52%
                 astrapy/data_types/data_api_time.py      98      7     92.86%
                 astrapy/data_types/data_api_date.py      89      6     93.26%
 astrapy/data/info/table_descriptor/type_creation.py      32      2     93.75%
             astrapy/exceptions/error_descriptors.py      53      3     94.34%
                          astrapy/admin/endpoints.py      36      2     94.44%
         astrapy/data/utils/collection_converters.py      80      4     95.00%
              astrapy/data/utils/table_converters.py     412     20     95.15%
                 astrapy/data/cursors/find_cursor.py     647     30     95.36%
astrapy/data/info/table_descriptor/table_creation.py      49      2     95.92%
                astrapy/event_observers/observers.py      30      1     96.67%
                      astrapy/data/cursors/cursor.py      92      3     96.74%
                           astrapy/utils/str_enum.py      32      1     96.88%
                 astrapy/data/cursors/farr_cursor.py     358     11     96.93%
                   astrapy/utils/duration_c_utils.py      66      2     96.97%
                         astrapy/utils/date_utils.py      80      2     97.50%
   astrapy/settings/definitions/definitions_admin.py      41      1     97.56%
           astrapy/exceptions/data_api_exceptions.py      84      1     98.81%
           astrapy/data/utils/distinct_extractors.py     104      1     99.04%
                           astrapy/admin/__init__.py       3      0    100.00%
                              astrapy/api_options.py       3      0    100.00%
                               astrapy/collection.py       2      0    100.00%
                                astrapy/constants.py       5      0    100.00%
                                  astrapy/cursors.py       7      0    100.00%
                            astrapy/data/__init__.py       0      0    100.00%
                    astrapy/data/cursors/__init__.py       1      0    100.00%
             astrapy/data/cursors/reranked_result.py       8      0    100.00%
                      astrapy/data/utils/__init__.py       0      0    100.00%
      astrapy/data/utils/extended_json_converters.py      28      0    100.00%
                   astrapy/data/utils/table_types.py      36      0    100.00%
               astrapy/data/utils/vector_coercion.py      13      0    100.00%
                      astrapy/data_types/__init__.py      10      0    100.00%
                                 astrapy/database.py       2      0    100.00%
                 astrapy/event_observers/__init__.py       5      0    100.00%
         astrapy/event_observers/context_managers.py      24      0    100.00%
                   astrapy/event_observers/events.py      50      0    100.00%
                                      astrapy/ids.py       5      0    100.00%
                                     astrapy/info.py      15      0    100.00%
                        astrapy/settings/__init__.py       0      0    100.00%
                        astrapy/settings/defaults.py      47      0    100.00%
            astrapy/settings/definitions/__init__.py       0      0    100.00%
   astrapy/settings/definitions/definitions_types.py      18      0    100.00%
                  astrapy/settings/error_messages.py       2      0    100.00%
                                    astrapy/table.py       2      0    100.00%
                           astrapy/utils/__init__.py       0      0    100.00%
                     astrapy/utils/document_paths.py      46      0    100.00%
                     astrapy/utils/python_version.py       5      0    100.00%
                      astrapy/utils/request_tools.py      32      0    100.00%
------------------------------------------------------------------------------
                                              totals    9077   1215     86.61%

This branch has not been deployed

No deployments
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.

Run Astra integration tests in merge queue only

1 participant