Skip to content

Conversation

@jiridanek
Copy link
Member

@jiridanek jiridanek commented Nov 21, 2025

https://issues.redhat.com/browse/RHAIENG-2068

Description

https://redhat-internal.slack.com/archives/C099VKQMMM4/p1763710881429459

How Has This Been Tested?

Self checklist (all need to be checked):

  • Ensure that you have run make test (gmake on macOS) before asking for review
  • Changes to everything except Dockerfile.konflux files should be done in odh/notebooks and automatically synced to rhds/notebooks. For Konflux-specific changes, modify Dockerfile.konflux files directly in rhds/notebooks as these require special attention in the downstream repository and flow to the upcoming RHOAI release.

Merge criteria:

  • The commits are squashed in a cohesive manner and have meaningful messages.
  • Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
  • The developer has manually tested the changes and verified that the changes work

Summary by CodeRabbit

  • Chores
    • Updated Feast package dependency from version 0.55.0 to 0.56.0 across all Python environments, including Jupyter notebooks, RStudio, and Runtimes.

✏️ Tip: You can customize this high-level summary in your review settings.

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Nov 21, 2025

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 21, 2025

Walkthrough

This pull request updates the Feast dependency from version 0.55.0 to 0.56.0 across multiple environment configurations and adds explicit PyPI index URL specifications to several lock file compilation commands.

Changes

Cohort / File(s) Summary
Feast dependency version bump to 0.56.0 in pyproject.toml
codeserver/ubi9-python-3.12/pyproject.toml, jupyter/datascience/ubi9-python-3.12/pyproject.toml, jupyter/pytorch+llmcompressor/ubi9-python-3.12/pyproject.toml, jupyter/pytorch/ubi9-python-3.12/pyproject.toml, jupyter/rocm/{pytorch,tensorflow}/ubi9-python-3.12/pyproject.toml, jupyter/tensorflow/ubi9-python-3.12/pyproject.toml, runtimes/{datascience,pytorch,pytorch+llmcompressor,rocm-pytorch,rocm-tensorflow,tensorflow}/ubi9-python-3.12/pyproject.toml
Updated Feast dependency from 0.55.0 to 0.56.0 across all runtime environments.
Feast dependency version bump to 0.56.0 in pylock.toml
jupyter/{datascience,pytorch,rocm/pytorch,tensorflow}/ubi9-python-3.12/pylock.toml, runtimes/{datascience,pytorch,pytorch+llmcompressor,rocm-pytorch,tensorflow}/ubi9-python-3.12/pylock.toml
Updated Feast package version from 0.55.0 to 0.56.0 with corresponding sdist URLs and sha256 hashes.
PyPI index URL additions to pylock.toml command headers
codeserver/ubi9-python-3.12/pylock.toml, jupyter/{minimal,pytorch+llmcompressor,pytorch,rocm/tensorflow,trustyai}/ubi9-python-3.12/pylock.toml, rstudio/{c9s,rhel9}-python-3.12/pylock.toml, runtimes/{datascience,minimal,rocm-pytorch,rocm-tensorflow}/ubi9-python-3.12/pylock.toml
Added explicit --index-url=https://pypi.org/simple parameter to autogenerated uv pip compile command comments.
Feast version updates in imagestream manifests
manifests/base/jupyter-{datascience,pytorch,pytorch+llmcompressor,rocm-pytorch,tensorflow}-notebook-imagestream.yaml
Updated Feast dependency from 0.55 to 0.56 in notebook Python dependencies metadata across five imagestream configurations.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

This change consists primarily of homogeneous, repetitive updates across environment configurations:

  • Version bumps follow a consistent pattern (0.55.0 → 0.56.0) with minimal variance
  • Index URL additions are identical across all affected files
  • Changes are mechanical updates to dependency specifications with no logic modifications

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Description check ⚠️ Warning The PR description is incomplete. While it includes issue references and a self-checklist template, all checklist items remain unchecked, no testing details are provided, and no explanation of the changes or their validation is included. Complete the PR description by: (1) checking the self-checklist items after verifying they're done, (2) providing details on how the changes were tested, (3) describing the scope of the Feast version update and any verification steps taken.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main change: bumping Feast version to 0.56.0 across configurations. It is specific, concise, and clearly summarizes the primary objective of the changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Nov 21, 2025

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign andyatmiami for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@github-actions github-actions bot added the review-requested GitHub Bot creates notification on #pr-review-ai-ide-team slack channel label Nov 21, 2025
@openshift-ci openshift-ci bot added the size/m label Nov 21, 2025
@jiridanek jiridanek marked this pull request as ready for review November 21, 2025 08:04
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (1)
runtimes/pytorch+llmcompressor/ubi9-python-3.12/pylock.toml (1)

2-2: Verify the compile command change is consistent across all lock files.

The command has been updated to include --emit-index-url and an explicit --index-url=https://pypi.org/simple. Ensure this change is applied consistently to all lock file compilation commands across the repository.

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between fb65049 and f20edd4.

📒 Files selected for processing (34)
  • codeserver/ubi9-python-3.12/pylock.toml (2 hunks)
  • codeserver/ubi9-python-3.12/pyproject.toml (1 hunks)
  • jupyter/datascience/ubi9-python-3.12/pylock.toml (2 hunks)
  • jupyter/datascience/ubi9-python-3.12/pyproject.toml (1 hunks)
  • jupyter/minimal/ubi9-python-3.12/pylock.toml (1 hunks)
  • jupyter/pytorch+llmcompressor/ubi9-python-3.12/pylock.toml (2 hunks)
  • jupyter/pytorch+llmcompressor/ubi9-python-3.12/pyproject.toml (1 hunks)
  • jupyter/pytorch/ubi9-python-3.12/pylock.toml (2 hunks)
  • jupyter/pytorch/ubi9-python-3.12/pyproject.toml (1 hunks)
  • jupyter/rocm/pytorch/ubi9-python-3.12/pylock.toml (2 hunks)
  • jupyter/rocm/pytorch/ubi9-python-3.12/pyproject.toml (1 hunks)
  • jupyter/rocm/tensorflow/ubi9-python-3.12/pylock.toml (1 hunks)
  • jupyter/tensorflow/ubi9-python-3.12/pylock.toml (2 hunks)
  • jupyter/tensorflow/ubi9-python-3.12/pyproject.toml (1 hunks)
  • jupyter/trustyai/ubi9-python-3.12/pylock.toml (1 hunks)
  • manifests/base/jupyter-datascience-notebook-imagestream.yaml (1 hunks)
  • manifests/base/jupyter-pytorch-llmcompressor-imagestream.yaml (1 hunks)
  • manifests/base/jupyter-pytorch-notebook-imagestream.yaml (1 hunks)
  • manifests/base/jupyter-rocm-pytorch-notebook-imagestream.yaml (1 hunks)
  • manifests/base/jupyter-tensorflow-notebook-imagestream.yaml (1 hunks)
  • rstudio/c9s-python-3.12/pylock.toml (1 hunks)
  • rstudio/rhel9-python-3.12/pylock.toml (1 hunks)
  • runtimes/datascience/ubi9-python-3.12/pylock.toml (2 hunks)
  • runtimes/datascience/ubi9-python-3.12/pyproject.toml (1 hunks)
  • runtimes/minimal/ubi9-python-3.12/pylock.toml (1 hunks)
  • runtimes/pytorch+llmcompressor/ubi9-python-3.12/pylock.toml (2 hunks)
  • runtimes/pytorch+llmcompressor/ubi9-python-3.12/pyproject.toml (1 hunks)
  • runtimes/pytorch/ubi9-python-3.12/pylock.toml (2 hunks)
  • runtimes/pytorch/ubi9-python-3.12/pyproject.toml (1 hunks)
  • runtimes/rocm-pytorch/ubi9-python-3.12/pylock.toml (2 hunks)
  • runtimes/rocm-pytorch/ubi9-python-3.12/pyproject.toml (1 hunks)
  • runtimes/rocm-tensorflow/ubi9-python-3.12/pylock.toml (1 hunks)
  • runtimes/tensorflow/ubi9-python-3.12/pylock.toml (2 hunks)
  • runtimes/tensorflow/ubi9-python-3.12/pyproject.toml (1 hunks)
👮 Files not reviewed due to content moderation or server errors (1)
  • codeserver/ubi9-python-3.12/pylock.toml
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (54)
  • GitHub Check: Red Hat Konflux / odh-workbench-jupyter-minimal-cuda-py312-ubi9-on-pull-request
  • GitHub Check: Red Hat Konflux / odh-pipeline-runtime-minimal-cpu-py312-ubi9-on-pull-request
  • GitHub Check: Red Hat Konflux / odh-workbench-codeserver-datascience-cpu-py312-ubi9-on-pull-request
  • GitHub Check: Red Hat Konflux / odh-workbench-jupyter-tensorflow-cuda-py312-ubi9-on-pull-request
  • GitHub Check: Red Hat Konflux / odh-workbench-jupyter-minimal-rocm-py312-ubi9-on-pull-request
  • GitHub Check: Red Hat Konflux / odh-workbench-rstudio-minimal-cuda-py312-c9s-on-pull-request
  • GitHub Check: Red Hat Konflux / odh-workbench-jupyter-pytorch-llmcompressor-cuda-py312-ubi9-on-pull-request
  • GitHub Check: Red Hat Konflux / odh-pipeline-runtime-tensorflow-cuda-py312-ubi9-on-pull-request
  • GitHub Check: Red Hat Konflux / odh-pipeline-runtime-tensorflow-rocm-py312-ubi9-on-pull-request
  • GitHub Check: Red Hat Konflux / odh-workbench-jupyter-minimal-cpu-py312-ubi9-on-pull-request
  • GitHub Check: Red Hat Konflux / odh-workbench-rstudio-minimal-cpu-py312-c9s-on-pull-request
  • GitHub Check: Red Hat Konflux / odh-workbench-jupyter-tensorflow-rocm-py312-ubi9-on-pull-request
  • GitHub Check: Red Hat Konflux / odh-workbench-jupyter-pytorch-rocm-py312-ubi9-on-pull-request
  • GitHub Check: Red Hat Konflux / odh-pipeline-runtime-pytorch-rocm-py312-ubi9-on-pull-request
  • GitHub Check: Red Hat Konflux / odh-workbench-jupyter-pytorch-cuda-py312-ubi9-on-pull-request
  • GitHub Check: Red Hat Konflux / odh-workbench-jupyter-datascience-cpu-py312-ubi9-on-pull-request
  • GitHub Check: Red Hat Konflux / odh-workbench-rstudio-minimal-cpu-py312-rhel9-on-pull-request
  • GitHub Check: Red Hat Konflux / odh-pipeline-runtime-pytorch-cuda-py312-ubi9-on-pull-request
  • GitHub Check: Red Hat Konflux / odh-workbench-jupyter-trustyai-cpu-py312-ubi9-on-pull-request
  • GitHub Check: Red Hat Konflux / odh-workbench-rstudio-minimal-cuda-py312-rhel9-on-pull-request
  • GitHub Check: Red Hat Konflux / odh-pipeline-runtime-datascience-cpu-py312-ubi9-on-pull-request
  • GitHub Check: Red Hat Konflux / odh-pipeline-runtime-pytorch-llmcompressor-cuda-py312-ubi9-on-pull-request
  • GitHub Check: build (rocm-jupyter-pytorch-ubi9-python-3.12, 3.12, linux/amd64, false) / build
  • GitHub Check: build (runtime-minimal-ubi9-python-3.12, 3.12, linux/amd64, false) / build
  • GitHub Check: build (runtime-cuda-tensorflow-ubi9-python-3.12, 3.12, linux/arm64, false) / build
  • GitHub Check: build (cuda-jupyter-minimal-ubi9-python-3.12, 3.12, linux/arm64, false) / build
  • GitHub Check: build (cuda-jupyter-minimal-ubi9-python-3.12, 3.12, linux/amd64, false) / build
  • GitHub Check: build (rocm-runtime-pytorch-ubi9-python-3.12, 3.12, linux/amd64, false) / build
  • GitHub Check: build (rstudio-c9s-python-3.12, 3.12, linux/amd64, false) / build
  • GitHub Check: build (runtime-cuda-tensorflow-ubi9-python-3.12, 3.12, linux/amd64, false) / build
  • GitHub Check: build (jupyter-datascience-ubi9-python-3.12, 3.12, linux/amd64, false) / build
  • GitHub Check: build (jupyter-trustyai-ubi9-python-3.12, 3.12, linux/amd64, false) / build
  • GitHub Check: build (jupyter-datascience-ubi9-python-3.12, 3.12, linux/ppc64le, false) / build
  • GitHub Check: build (jupyter-minimal-ubi9-python-3.12, 3.12, linux/amd64, false) / build
  • GitHub Check: build (runtime-cuda-pytorch-ubi9-python-3.12, 3.12, linux/amd64, false) / build
  • GitHub Check: build (runtime-cuda-pytorch-llmcompressor-ubi9-python-3.12, 3.12, linux/amd64, false) / build
  • GitHub Check: build (runtime-datascience-ubi9-python-3.12, 3.12, linux/amd64, false) / build
  • GitHub Check: build (cuda-jupyter-pytorch-ubi9-python-3.12, 3.12, linux/amd64, false) / build
  • GitHub Check: build (rocm-jupyter-tensorflow-ubi9-python-3.12, 3.12, linux/amd64, false) / build
  • GitHub Check: build (runtime-minimal-ubi9-python-3.12, 3.12, linux/s390x, false) / build
  • GitHub Check: build (codeserver-ubi9-python-3.12, 3.12, linux/arm64, false) / build
  • GitHub Check: build (cuda-jupyter-pytorch-llmcompressor-ubi9-python-3.12, 3.12, linux/amd64, false) / build
  • GitHub Check: build (cuda-jupyter-tensorflow-ubi9-python-3.12, 3.12, linux/amd64, false) / build
  • GitHub Check: build (runtime-datascience-ubi9-python-3.12, 3.12, linux/s390x, false) / build
  • GitHub Check: build (rocm-jupyter-minimal-ubi9-python-3.12, 3.12, linux/amd64, false) / build
  • GitHub Check: build (codeserver-ubi9-python-3.12, 3.12, linux/amd64, false) / build
  • GitHub Check: build (rocm-runtime-tensorflow-ubi9-python-3.12, 3.12, linux/amd64, false) / build
  • GitHub Check: build (jupyter-minimal-ubi9-python-3.12, 3.12, linux/s390x, false) / build
  • GitHub Check: build (cuda-rstudio-c9s-python-3.12, 3.12, linux/amd64, false) / build
  • GitHub Check: build (cuda-jupyter-tensorflow-ubi9-python-3.12, 3.12, linux/arm64, false) / build
  • GitHub Check: build (jupyter-minimal-ubi9-python-3.12, 3.12, linux/ppc64le, false) / build
  • GitHub Check: build (cuda-rstudio-rhel9-python-3.12, 3.12, linux/amd64, true) / build
  • GitHub Check: build (rstudio-rhel9-python-3.12, 3.12, linux/amd64, true) / build
  • GitHub Check: validation-of-sw-versions-in-imagestreams
🔇 Additional comments (53)
jupyter/rocm/tensorflow/ubi9-python-3.12/pylock.toml (1)

2-2: Clarify the intent of adding explicit --index-url to autogenerated command.

The command header now includes --index-url=https://pypi.org/simple, which is PyPI's default public URL. While this may improve reproducibility or override system defaults, it's not clear if this is intentional or a side-effect of lock file regeneration.

Additionally, per the PR objectives, this file should reflect the Feast version bump to 0.56.0, but the visible content doesn't show Feast-related changes. Please verify:

  1. Whether this lock file is expected to contain Feast updates as part of this PR
  2. Whether the explicit index-url addition is intentional and consistent with other environments in the PR
  3. Whether the lock file contents (beyond the command header) have been regenerated with updated dependencies
jupyter/trustyai/ubi9-python-3.12/pylock.toml (2)

2-2: Adding explicit index URL to autogenerated command is appropriate.

The change to add --index-url=https://pypi.org/simple to the uv pip compile command is consistent with the repository-wide update pattern. This makes the package source explicit in the autogenerated header, which improves reproducibility and transparency.


2-2: No Feast dependency in this file—original concern is not applicable.

Verification confirms that Feast is not a dependency in jupyter/trustyai/ubi9-python-3.12/pylock.toml (grep -i "feast" returned no matches). The file contains 4831 lines of standard Python dependencies but does not include Feast.

The header change adding --index-url=https://pypi.org/simple is a valid update to the autogenerated command. While the PR objectives may include Feast version bumps across applicable configs, this particular file does not contain Feast, so there is no version change to verify here. The change is correct as shown.

rstudio/c9s-python-3.12/pylock.toml (1)

2-2: Review comment is based on incorrect assumptions about this file's dependency structure.

The file under review (rstudio/c9s-python-3.12/pylock.toml) does not and should not contain Feast because this particular environment variant does not include Feast as a dependency. While other environment variants throughout the repository (runtimes, jupyter, codeserver) have been correctly updated with Feast 0.56.0, the RStudio c9s Python 3.12 environment is intentionally minimal, containing only setuptools and wheel.

The header comment change adding --index-url=https://pypi.org/simple is correct and applies consistently across all lock files in this PR, regardless of whether they include Feast. This file's state is correct as-is.

Likely an incorrect or invalid review comment.

jupyter/minimal/ubi9-python-3.12/pylock.toml (1)

2-2: Forcing PyPI as the primary index can override mirrors and break mirrored/air‑gapped builds.

Adding --index-url=https://pypi.org/simple to the regeneration command will override pip/uv config and any internal mirrors during re‑compilation. If your CI/Konflux builders rely on an internal PyPI proxy or lack outbound internet, this may cause resolution drift or failures. If the intent is to standardize the index, consider centralizing it (env vars or tool config) and ensure all lockfiles regenerate with the same policy to avoid divergence; otherwise omit the explicit index here and rely on --emit-index-url plus repo‑level config.

Please verify:

  • CI/build images used for make test and lock regeneration have access to PyPI (or that a mirror is not required).
  • Other environment lock files in this PR were generated with the same index policy.
  • Docs/README for dependency updates reflect this new requirement.
codeserver/ubi9-python-3.12/pyproject.toml (1)

23-23: Feast version bump to 0.56.0 is consistent.

The tilde operator (~=) appropriately allows compatible releases within the 0.56.x series, which is standard practice for dependency pinning.

Before merging, please verify that Feast 0.56.0 has no breaking changes relative to 0.55.0 that would require code updates in downstream usage.

manifests/base/jupyter-rocm-pytorch-notebook-imagestream.yaml (1)

43-43: Feast version documentation updated to match pyproject.toml change.

The metadata annotation correctly reflects the bumped version in the 2025.2 image tag. Note that the N-1 version (2025.1) does not include Feast in its dependencies, which is appropriate for a staggered release strategy.

jupyter/datascience/ubi9-python-3.12/pyproject.toml (1)

21-21: Feast version bump is consistent with other environments.

Version constraint syntax and placement are correct.

runtimes/pytorch+llmcompressor/ubi9-python-3.12/pyproject.toml (1)

30-30: Feast version bump is consistent with other environments.

The change is straightforward. Verify that any constraint-dependencies (lines 80–93) remain compatible with Feast 0.56.0, especially transformers, datasets, and other ML packages if they integrate with Feast.

runtimes/rocm-pytorch/ubi9-python-3.12/pyproject.toml (1)

25-25: Feast version bump is consistent with other environments.

The tilde constraint allows compatible releases and is appropriate for this environment.

jupyter/pytorch/ubi9-python-3.12/pyproject.toml (1)

26-26: Feast version bump is consistent with other environments.

The change aligns with the broader Feast 0.56.0 upgrade across the repository.

jupyter/rocm/pytorch/ubi9-python-3.12/pyproject.toml (1)

27-27: Feast version bump is consistent with other environments.

The change aligns with the broader Feast 0.56.0 upgrade across the repository.

rstudio/rhel9-python-3.12/pylock.toml (1)

2-2: The index-url addition is appropriate, but the review's concern about Feast 0.56.0 doesn't apply here.

The rstudio/rhel9-python-3.12 environment only depends on wheel and setuptools—Feast is not a declared dependency. The absence of Feast in this pylock.toml is correct and not a problem. Other environments (datascience, pytorch, tensorflow runtimes, and some Jupyter variants) do include Feast and have been properly updated. The --index-url=https://pypi.org/simple flag addition is valid for reproducibility.

Likely an incorrect or invalid review comment.

runtimes/datascience/ubi9-python-3.12/pyproject.toml (4)

1-55: PR is marked work-in-progress with incomplete merge criteria.

The PR description indicates this is work-in-progress and the merge criteria checklist remains unchecked (commits squashed/cohesive, testing instructions added, manual testing completed). Ensure these items are completed before requesting review or merging.


1-55: PR marked as work-in-progress with incomplete merge criteria.

The PR description indicates this is still work-in-progress with unchecked merge criteria (commits squashed/cohesive, testing instructions added, developer manual testing). Ensure all checklist items are completed and the PR is fully ready before requesting review or merging.


19-19: Feast 0.56.0 verified as available with no breaking changes.

Feast v0.56.0 is published on PyPI and the release notes contain only bug fixes and small improvements with no breaking changes between 0.55.0 and 0.56.0. The compatible release constraint ~=0.56.0 is appropriate and the dependency bump is safe.


19-19: Feast 0.56.0 dependency bump is safe to proceed.

No breaking changes are listed in the 0.56.0 release notes, and the major updates consist of bug fixes and improvements including fixed STRING type handling, ODFV resource counting fixes, and RemoteOfflineStore enhancements. The compatible release constraint ~=0.56.0 is appropriate for this maintenance release.

runtimes/minimal/ubi9-python-3.12/pylock.toml (1)

2-2: LGTM on explicit index URL; please verify flag relevance for pylock.

  • Adding --index-url=https://pypi.org/simple in the regen header improves reproducibility and avoids implicit defaults.
  • One check: is --emit-index-url meaningful for uv’s pylock.toml output, or mainly for requirements-style files? If it’s a no-op here, consider dropping it to reduce confusion.
  • If CI uses a mirrored index, reflect that mirror in this header to prevent accidental future compiles against PyPI.
jupyter/tensorflow/ubi9-python-3.12/pyproject.toml (2)

26-26: Feast 0.56.0 is available and compatible with Python 3.12.

Feast 0.56.0 is available on PyPI, and Feast requires Python >=3.10.0, so the upgrade to Python 3.12 is compatible. The compatible release clause (~=0.56.0) is appropriately conservative.


1-53: PR is in work-in-progress status with unchecked testing checklist — cannot be merged yet.

Per the PR objectives, the testing checklist items remain unchecked:

  • "Run make test (gmake on macOS) before asking for review"
  • Merge criteria checklist items (commits, testing instructions, manual testing) are unchecked

Before this PR can be merged, you must:

  1. Run the full test suite locally (make test or gmake test)
  2. Verify that the Feast 0.56.0 upgrade does not introduce breaking changes to notebook functionality
  3. Check that all pyproject.toml files across the repository have consistent Feast version specifications
jupyter/pytorch/ubi9-python-3.12/pylock.toml (2)

1-2: Auto-generated header reflects reproducibility best practice.

The addition of --index-url=https://pypi.org/simple to the uv pip compile command improves reproducibility by explicitly specifying the package index source.


804-809: No issues found—Feast 0.56.0 package is legitimate and verified.

The package URLs and metadata have been confirmed on PyPI, matching exactly what is in the pylock.toml file. The release (2025-10-27) has no documented breaking changes and no security advisories. The version bump is safe to proceed with.

runtimes/rocm-tensorflow/ubi9-python-3.12/pylock.toml (1)

1-2: Verify that the lock file was properly regenerated with the updated Feast dependency.

This is an autogenerated file, and the header comment now includes --index-url=https://pypi.org/simple. However, the provided code snippet only shows the header comment, not the actual dependency entries. The AI summary indicates that Feast should be bumped from 0.55.0 to 0.56.0, but I cannot verify this from the provided context.

To confirm this change is correct, please verify:

  1. That the full lock file was regenerated (not manually edited beyond the command comment)
  2. That the Feast dependency entry reflects version 0.56.0 with the correct hashes
  3. That make test has been run as required by the PR checklist (currently marked incomplete)

Additionally, note that this PR is currently marked as "do-not-merge/work-in-progress" with incomplete testing checkboxes. Please ensure testing is complete before removing the WIP label.

runtimes/datascience/ubi9-python-3.12/pylock.toml (4)

1-2: Explicit index URL improves reproducibility.

Adding --index-url=https://pypi.org/simple to the lock file generation command ensures reproducible builds by explicitly pinning to PyPI's canonical index, avoiding index discovery ambiguity.


1-2: Explicit index URL improves reproducibility.

Adding --index-url=https://pypi.org/simple to the lock file generation command ensures reproducible builds by explicitly pinning to PyPI's canonical index, avoiding index discovery ambiguity.


723-726: Confirm lock file was regenerated via uv pip compile.

Feast 0.56.0 is confirmed to exist on PyPI with both the expected .tar.gz and .whl artifacts. Since this is an autogenerated lock file, ensure that these changes were produced by regenerating the lock file (via uv pip compile pyproject.toml or similar) rather than manual edits, so that the dependency resolution and hashes are correct.


723-726: Lock file entry verified against official PyPI.

Feast 0.56.0 is published on PyPI with SHA256 hashes 285bebf226890513446e88e670ea5cda0a56599cede4998f9037cb1b458d28f4 (source distribution) and faca34103b4ec115f4f933b7438db030d11c1b6e0fdfac8933f1275a5b4a58b0 (wheel). The lock file entry matches these artifacts exactly. The autogenerated entry is correct.

runtimes/pytorch/ubi9-python-3.12/pylock.toml (2)

1-2: Explicit index URL improves reproducibility.

The addition of --index-url=https://pypi.org/simple to the uv pip compile command is a positive change that makes the PyPI index explicit and ensures consistent dependency resolution across environments.


718-720: I'll conduct verification searches now:

Ensure test suite passes before merge.

Feast 0.56.0 is confirmed on PyPI with both tarball and wheel distributions available. The lock file updates with hashes are properly formatted.

Since this is a dependency version bump across multiple runtime configurations, verify that your test suite passes completely with Feast 0.56.0. Dependency changes should always be validated in the target environment before merging.

runtimes/rocm-pytorch/ubi9-python-3.12/pylock.toml (2)

1-2: Index URL addition improves reproducibility.

The explicit --index-url=https://pypi.org/simple flag in the uv compile command clarifies the package source and enhances reproducibility. This aligns with lock file best practices.


716-720: Lock file changes appear valid; verify Feast 0.56.0 compatibility and consistency across configurations.

The version bump and corresponding metadata updates (sdist/wheel URLs, hashes, upload times) are consistent with autogenerated lock file format. However, as a WIP with the testing checklist unchecked, several verifications are needed:

  1. Run make test to ensure Feast 0.56.0 compatibility with the rest of the codebase.
  2. Confirm this change has been applied consistently to all "applicable configurations" mentioned in the PR title (you've provided one file; are there others?).
  3. Optionally verify that Feast 0.56.0 does not introduce breaking changes relevant to this project.
jupyter/datascience/ubi9-python-3.12/pylock.toml (2)

1-2: All applicable lock files consistently updated to Feast 0.56.0.

Verification confirms all 11 pylock.toml files across the codebase (codeserver, jupyter variants, and runtimes variants) have been uniformly updated to Feast 0.56.0, with no stray 0.55.0 references remaining. The changes are consistent and complete across all applicable configurations.

Before merging, confirm that make test has been completed per the PR checklist requirements.


1-2: All verifications complete—PR changes are consistent and valid.

Feast 0.56.0 is a valid released version on PyPI (released Oct 27, 2025). The shell script confirmed that all 11 applicable pylock.toml files across the codebase have been consistently updated to feast 0.56.0:

  • codeserver, jupyter (datascience, pytorch, pytorch+llmcompressor, rocm/pytorch, tensorflow)
  • runtimes (datascience, pytorch, pytorch+llmcompressor, rocm-pytorch, tensorflow)

The uv pip compile command header change to include --emit-index-url and explicit --index-url=https://pypi.org/simple is a reasonable control-flow improvement for reproducible builds. No issues found.

jupyter/rocm/pytorch/ubi9-python-3.12/pylock.toml (3)

806-809: LGTM: Feast 0.56.0 package metadata is consistent.

The updated package URLs, hashes, and metadata (upload-time: 2025-10-27) align with the Feast 0.56.0 release on PyPI. The sdist and wheel entries have been properly regenerated with correct checksums.


1-9: Reminder: Complete the PR testing checklist before requesting review.

This PR is marked as work-in-progress with unchecked testing criteria. Per the PR description, please run make test (gmake on macOS) before asking for review and ensure the checklist boxes are marked.


2-2: No action required. The pyproject.toml file has been correctly updated with "feast~=0.56.0", matching the lock file entry. The lock file appears to be properly regenerated from the updated dependencies.

runtimes/pytorch+llmcompressor/ubi9-python-3.12/pylock.toml (3)

1-5: Confirm source pyproject.toml files have been updated.

This lock file is autogenerated by uv pip compile from a pyproject.toml. To ensure the PR objective is met (bumping Feast to 0.56.0 across applicable configurations), verify that the corresponding runtimes/pytorch+llmcompressor/pyproject.toml file explicitly specifies Feast 0.56.0 and that all other pyproject.toml files referenced in the PR have been updated similarly.


1-2: Note: PR is work-in-progress with unchecked testing items.

The PR description includes a testing checklist (run make test, manual testing), but all items are unchecked. Before this PR is ready for merge, ensure the testing items are completed and the work-in-progress status is removed.


628-631: Lock file entry verified against PyPI.

The feast 0.56.0 package hashes and URLs have been verified against PyPI. Both the sdist and wheel SHA256 hashes match the authoritative values on PyPI, and the URLs resolve correctly. The lock file entry is accurate and requires no changes.

runtimes/tensorflow/ubi9-python-3.12/pylock.toml (2)

2-2: Verify the autogeneration command was run correctly.

The command header now includes --index-url=https://pypi.org/simple, which is appropriate for explicit PyPI index specification. Confirm that this lock file was regenerated by running uv pip compile with the flags shown in the header comment, rather than being manually edited.


723-726: Verify feast 0.56.0 wheel package hash on PyPI.

The feast-0.56.0.tar.gz sdist hash matches PyPI: 285bebf226890513446e88e670ea5cda0a56599cede4998f9037cb1b458d28f4. However, verify the wheel hash faca34103b4ec115f4f933b7438db030d11c1b6e0fdfac8933f1275a5b4a58b0 against the actual feast-0.56.0-py2.py3-none-any.whl distribution on PyPI to ensure package integrity.

jupyter/tensorflow/ubi9-python-3.12/pylock.toml (3)

1-5: Note: PR is work-in-progress with unchecked testing requirements.

Per the PR objectives, the testing checklist (including make test) and manual testing boxes are currently unchecked. This file review should be deferred until the developer has completed testing and removed the work-in-progress status.

Before this PR can be merged, please ensure:

  • make test (or gmake test on macOS) has been run successfully
  • Manual testing has been completed and verified
  • The do-not-merge/work-in-progress label is removed

2-2: Confirmed: pyproject.toml is correctly pinned and lock file is consistent.

The verification shows that jupyter/tensorflow/ubi9-python-3.12/pyproject.toml correctly specifies "feast~=0.56.0", which aligns with the lock file changes. Additionally, no other pylock.toml files contain Feast entries, confirming this version bump is isolated to this environment only.

The lock file changes are consistent with what running uv pip compile on the updated pyproject.toml should produce. However, best practice for lock files is to ensure they are regenerated via tooling rather than manually edited. Please confirm that this pylock.toml was regenerated by running the uv pip compile command shown in the file header, rather than manually edited.


812-814: Feast 0.56.0 package hashes and consistency verified.

The sdist and wheel hashes for Feast 0.56.0 match the official PyPI package. All eight applicable pylock.toml files across both runtimes/ and jupyter/ environments (tensorflow, rocm-pytorch, pytorch+llmcompressor, pytorch, and datascience) have been updated consistently with identical hashes, and all corresponding pyproject.toml files reference feast~=0.56.0 uniformly. No issues found.

jupyter/pytorch+llmcompressor/ubi9-python-3.12/pylock.toml (2)

2-2: Verify that the --index-url addition to the autogeneration command is intentional and consistently applied.

The autogeneration command now explicitly specifies --index-url=https://pypi.org/simple, which is a good practice for reproducibility. However, ensure this change is intentionally applied across all similar pylock.toml files in the PR to maintain consistency.


771-773: Feast 0.56.0 package metadata verified against PyPI.

The hash values in the lock file match the official PyPI release for feast 0.56.0 (uploaded Oct 27, 2025):

  • SHA256 hashes for both sdist and wheel match PyPI exactly
  • BLAKE2b-256 hashes match PyPI's values
  • No integrity issues detected
runtimes/pytorch/ubi9-python-3.12/pyproject.toml (1)

24-24: Verify Feast 0.56.0 compatibility and complete testing before merging.

The version constraint is correct, but this PR is marked work-in-progress with an unchecked testing checklist. Please ensure:

  1. make test (or gmake test on macOS) has been run to validate the bump
  2. Feast 0.56.0 is compatible with other pinned dependencies (e.g., codeflare-sdk~=0.32.1, torch==2.7.1, etc.)
  3. All affected environments have been consistently updated across the repository
manifests/base/jupyter-pytorch-llmcompressor-imagestream.yaml (1)

46-46: Manifest annotation update is appropriate.

The version string truncation to "0.56" is suitable for UI display annotations. This change reflects the underlying pyproject.toml update.

jupyter/pytorch+llmcompressor/ubi9-python-3.12/pyproject.toml (1)

37-37: Version constraint is correct; testing & compatibility verification required.

The ~=0.56.0 constraint is appropriate, and this change aligns with the broader version bump across environments. However, the same testing and compatibility verification noted for other files applies here.

manifests/base/jupyter-datascience-notebook-imagestream.yaml (1)

40-40: Manifest update consistent with dependency bump.

The version string reflects the updated feast dependency. Note that the N-1 version variant does not include a Feast entry, which is appropriate for that older image variant.

runtimes/tensorflow/ubi9-python-3.12/pyproject.toml (1)

26-26: TensorFlow environment: verify Feast 0.56.0 compatibility with protobuf overrides.

This file uses override-dependencies to resolve TensorFlow + protobuf conflicts. Please verify that Feast 0.56.0 doesn't introduce transitive dependencies that conflict with the pinned protobuf version (6.31.1) or TensorFlow[and-cuda]~=2.20.0.

manifests/base/jupyter-pytorch-notebook-imagestream.yaml (1)

45-45: Manifest update consistent across image variants.

The PyTorch notebook image annotation correctly reflects the feast version bump. The N-1 variant is appropriately left unchanged.

manifests/base/jupyter-tensorflow-notebook-imagestream.yaml (1)

46-46: Manifest update aligns with dependency bump.

Version annotation correctly reflects feast 0.56 for the current image tag.

@atheo89
Copy link
Member

atheo89 commented Nov 21, 2025

Was this upgrade requested by the responsible team? I’m asking because, if not, we should make sure there’s no unusual behavior. Could you double-check with them?
Otherwise, LGTM

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Nov 21, 2025

@jiridanek: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/runtime-ubi9-python-3-12-pr-image-mirror f20edd4 link true /test runtime-ubi9-python-3-12-pr-image-mirror
ci/prow/runtime-cuda-tf-ubi9-python-3-12-pr-image-mirror f20edd4 link true /test runtime-cuda-tf-ubi9-python-3-12-pr-image-mirror
ci/prow/notebook-cuda-jupyter-ubi9-python-3-12-pr-image-mirror f20edd4 link true /test notebook-cuda-jupyter-ubi9-python-3-12-pr-image-mirror
ci/prow/notebook-jupyter-ds-ubi9-python-3-12-pr-image-mirror f20edd4 link true /test notebook-jupyter-ds-ubi9-python-3-12-pr-image-mirror
ci/prow/notebook-rocm-jupyter-ubi9-python-3-12-pr-image-mirror f20edd4 link true /test notebook-rocm-jupyter-ubi9-python-3-12-pr-image-mirror
ci/prow/notebook-jupyter-ubi9-python-3-12-pr-image-mirror f20edd4 link true /test notebook-jupyter-ubi9-python-3-12-pr-image-mirror
ci/prow/notebook-jupyter-tai-ubi9-python-3-12-pr-image-mirror f20edd4 link true /test notebook-jupyter-tai-ubi9-python-3-12-pr-image-mirror
ci/prow/images f20edd4 link true /test images
ci/prow/notebook-rocm-jupyter-pt-ubi9-python-3-12-pr-image-mirror f20edd4 link true /test notebook-rocm-jupyter-pt-ubi9-python-3-12-pr-image-mirror
ci/prow/codeserver-ubi9-python-3-12-pr-image-mirror f20edd4 link true /test codeserver-ubi9-python-3-12-pr-image-mirror
ci/prow/runtime-cuda-pt-ubi9-python-3-12-pr-image-mirror f20edd4 link true /test runtime-cuda-pt-ubi9-python-3-12-pr-image-mirror
ci/prow/notebook-cuda-jupyter-tf-ubi9-python-3-12-pr-image-mirror f20edd4 link true /test notebook-cuda-jupyter-tf-ubi9-python-3-12-pr-image-mirror
ci/prow/notebook-cuda-jupyter-pt-ubi9-python-3-12-pr-image-mirror f20edd4 link true /test notebook-cuda-jupyter-pt-ubi9-python-3-12-pr-image-mirror
ci/prow/rocm-runtime-pt-ubi9-python-3-12-pr-image-mirror f20edd4 link true /test rocm-runtime-pt-ubi9-python-3-12-pr-image-mirror
ci/prow/notebooks-py312-ubi9-e2e-tests f20edd4 link true /test notebooks-py312-ubi9-e2e-tests
ci/prow/rocm-notebooks-py312-e2e-tests f20edd4 link true /test rocm-notebooks-py312-e2e-tests
ci/prow/runtime-ds-ubi9-python-3-12-pr-image-mirror f20edd4 link true /test runtime-ds-ubi9-python-3-12-pr-image-mirror

Full PR test history. Your PR dashboard.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

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

Labels

review-requested GitHub Bot creates notification on #pr-review-ai-ide-team slack channel size/l

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants