Skip to content

Add presubmit to test cross package compatibility #13873

Description

@parthea

See #13871

Example to re-create the issue using https://github.com/pex-tool/pex

  1. pip install pex to install pex as described at https://github.com/pex-tool/pex

  2. Create pex environment.

pex google-cloud-alloydb google-cloud-alloydb-connectors

root@d014de55537c:/# pex google-cloud-alloydb google-cloud-alloydb-connectors
Failed to resolve compatible distributions for 1 target:
1: cp310-cp310-manylinux_2_39_x86_64 interpreter at /venv/bin/python3.10 is not compatible with:
    grpcio-status 1.71.0 requires protobuf<6.0dev,>=5.26.1 but 1 incompatible dist was resolved:
        protobuf-6.30.2-cp39-abi3-manylinux2014_x86_64.whl

(There is an unrelated issue where gRPC hasn't released support for protobuf 6.x yet)

Try again with protobuf < 6

pex google-cloud-alloydb google-cloud-alloydb-connectors "protobuf<6"

root@d014de55537c:/# pex google-cloud-alloydb google-cloud-alloydb-connectors "protobuf<6"
Pex 2.36.1 ephemeral hermetic environment with 3 requirements and 19 activated distributions.
Python 3.10.15 (main, Mar  3 2025, 21:38:59) [GCC 13.3.0] on linux
Type "help", "pex", "copyright", "credits" or "license" for more information.
>>> 
  1. Confirm that import google.cloud.alloydb.connectors fails
Python 3.10.15 (main, Mar  3 2025, 21:38:59) [GCC 13.3.0] on linux
Type "help", "pex", "copyright", "credits" or "license" for more information.
>>> import google.cloud.alloydb
>>> import google.cloud.alloydb.connectors
Traceback (most recent call last):
  File "<console>", line 1, in <module>
ModuleNotFoundError: No module named 'google.cloud.alloydb.connectors'

A presubmit with a similar check would help detect issues like #13871 . We should look for conflicts across packages.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    priority: p2Moderately-important priority. Fix may not be included in next release.type: processA process-related concern. May include testing, release, or the like.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions