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

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

Closed
franciscojavierarceo opened this issue Jul 11, 2024 · 6 comments · Fixed by #4533
Closed
Labels
kind/feature New feature or request starter-ticket Good starter tickets

Comments

@franciscojavierarceo
Copy link
Member

franciscojavierarceo commented Jul 11, 2024

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.

@franciscojavierarceo franciscojavierarceo added kind/feature New feature or request starter-ticket Good starter tickets labels Jul 11, 2024
@tokoko
Copy link
Collaborator

tokoko commented Jul 12, 2024

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

@franciscojavierarceo
Copy link
Member Author

We should have the quickstart run before the release as well: https://docs.feast.dev/getting-started/quickstart

@dmartinol
Copy link
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'

@franciscojavierarceo
Copy link
Member Author

You have a typo in "vec"

@franciscojavierarceo
Copy link
Member Author

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

@dmartinol
Copy link
Contributor

dmartinol commented Sep 13, 2024

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
Labels
kind/feature New feature or request starter-ticket Good starter tickets
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants