Skip to content

Conversation

@tchughesiv
Copy link
Contributor

@tchughesiv tchughesiv commented Mar 27, 2025

What this PR does / why we need it:

We should be able to build the feature-server image entirely from source, dependencies and all. This PR almost entirely accomplishes that. With this PR we also add a new limited pip dependency group, among others, which we'll use going forward in our feature-server image builds and for operator e2e tests.

In order to accomplish the offline builds from source w/ pip, we use a tool called cachi2, which pre-fetches the sdists/archives and enables us to mount the fetched sources into an offline build container.

From a linux-x64 machine, the following command will complete an offline build from source -

$ source ./infra/scripts/offline-build.sh

The following pip modules are not yet built from source, many due to maturin related source build issues -

# we'll need to pip install anything that tries to build/use maturin from source
############
# feast deps
pydantic_core==2.27.2
watchfiles==1.0.4
rpds-py==0.23.1
# snowflake dep
cryptography==44.0.2
# aws dep
aiohttp==3.11.14
# psycopg dep
psycopg-binary==3.2.5
# milvus dep
milvus-lite==2.4.12
############

Misc

Completed build from source available here - quay.io/tchughesiv/feature-server:0.47.0-sdist

@tchughesiv tchughesiv changed the title chore: Support building feature-server images from source chore: Support for building feature-server images from source Mar 27, 2025
@tchughesiv tchughesiv changed the title chore: Support for building feature-server images from source chore: Support for building the feature-server image from source Mar 27, 2025
@tchughesiv tchughesiv force-pushed the noBinary branch 3 times, most recently from 504eed8 to 005db0f Compare March 27, 2025 19:49
@tchughesiv tchughesiv marked this pull request as ready for review March 27, 2025 20:24
@tchughesiv tchughesiv requested a review from a team as a code owner March 27, 2025 20:24
@tchughesiv tchughesiv changed the title chore: Support for building the feature-server image from source chore: Support offline source builds of the feature-server image Mar 27, 2025
@tchughesiv tchughesiv changed the title chore: Support offline source builds of the feature-server image chore: Support "offline" source builds of the feature-server image Mar 27, 2025
@tchughesiv tchughesiv marked this pull request as draft March 27, 2025 20:31
@tchughesiv tchughesiv force-pushed the noBinary branch 3 times, most recently from 4355d95 to f4ccc80 Compare March 27, 2025 22:41
@tchughesiv tchughesiv marked this pull request as ready for review March 28, 2025 01:41
@tchughesiv tchughesiv marked this pull request as draft March 28, 2025 16:14
@tchughesiv tchughesiv marked this pull request as ready for review March 28, 2025 20:16
@tchughesiv tchughesiv force-pushed the noBinary branch 5 times, most recently from a2a8f41 to d362522 Compare April 1, 2025 15:56
Signed-off-by: Tommy Hughes <tohughes@redhat.com>
Signed-off-by: Tommy Hughes <tohughes@redhat.com>
@tchughesiv
Copy link
Contributor Author

@ntkathole i've made the requested changes and am now running another build to ensure nothing breaks. thanks

@ntkathole
Copy link
Member

@ntkathole i've made the requested changes and am now running another build to ensure nothing breaks. thanks

a small comment, otherwise, Looks good to me !

@tchughesiv
Copy link
Contributor Author

@ntkathole the build was successful with your requested changes

Copy link
Member

@ntkathole ntkathole left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me!

Copy link
Member

@franciscojavierarceo franciscojavierarceo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

os: [ ubuntu-latest ]
env:
PYTHON: 3.11
OS: ${{ matrix.os }}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why this change?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

because i've enabled this job to run against multiple python versions

@franciscojavierarceo franciscojavierarceo enabled auto-merge (squash) April 3, 2025 12:37
@tchughesiv tchughesiv removed the request for review from redhatHameed April 3, 2025 12:40
@tchughesiv tchughesiv disabled auto-merge April 3, 2025 12:42
@tchughesiv tchughesiv enabled auto-merge (squash) April 3, 2025 12:43
@franciscojavierarceo franciscojavierarceo merged commit cc1fcad into feast-dev:master Apr 3, 2025
26 of 31 checks passed
jfw-ppi pushed a commit to jfw-ppi/feast that referenced this pull request Jun 7, 2025
…east-dev#5193)

* support offline source builds for feature-server image

Signed-off-by: Tommy Hughes <tohughes@redhat.com>

* offline build review changes

Signed-off-by: Tommy Hughes <tohughes@redhat.com>

---------

Signed-off-by: Tommy Hughes <tohughes@redhat.com>
Signed-off-by: Jacob Weinhold <29459386+j-wine@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants