Skip to content

Update CI to have a test for main feast dependency before release/deployment #4344

Closed

Description

@franciscojavierarceo

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
As seen in #4293, the PyPi package failed because of a dependency in a feast installation that uses an extra.

pip install feast[sqlite_vec]

This can be added to the existing build_wheels ci by testing a python import. If the import fails, we should fail the build/release.

Describe alternatives you've considered
We should have the CI test building the main feast package before release/deployment as well each extra/add-on.

Additional context
Add any other context or screenshots about the feature request here.

Activity

  1. tokoko commented on Jul 12, 2024

    @tokoko
    Collaborator

    Not exactly the same, but this can be mostly covered by #4185 I think.

  2. franciscojavierarceo commented on Sep 3, 2024

    @franciscojavierarceo
    MemberAuthor
  3. dmartinol commented on Sep 13, 2024

    @dmartinol
    Contributor

    This can be added to the existing build_wheels ci by testing a python import. If the import fails, we should fail the build/release.

    What module would you import, how can we know the modules to validate? I tried with the blamed version 0.39.0:

    % pip install -q feast==0.39.0
    % feast version
    Feast SDK Version: "0.39.0"
    % python -c "import feast"
    % python -c "import sqlite_vect" 
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
    ModuleNotFoundError: No module named 'sqlite_vect'
  4. franciscojavierarceo commented on Sep 13, 2024

    @franciscojavierarceo
    MemberAuthor

    You have a typo in "vec"

  5. franciscojavierarceo commented on Sep 13, 2024

    @franciscojavierarceo
    MemberAuthor

    But this CI validation would ideally run on all of the extras.

  6. dmartinol commented on Sep 13, 2024

    @dmartinol
    Contributor

    You have a typo in "vec"
    thanks for noticing, anyway it fails (as expected) for version 0.39.0:

    % python -c "import sqlite_vec"
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
    ModuleNotFoundError: No module named 'sqlite_vec'

    But this CI validation would ideally run on all of the extras.
    You mean:

    • read all the extras configured in setup.py
    • for each extra module m run python -c "import <m>" || exit 1

    @franciscojavierarceo I need your feedback to move on with this solution. Thanks!

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

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions