-
Notifications
You must be signed in to change notification settings - Fork 24
Sync downstream main from upstream
#1521
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
Conversation
Add multiarch-push-pipeline config
…pdate its push pipelines
…rgs-file option and run it to update them all
… validation between imagestreams (opendatahub-io#2260)
Add missing matrix for multiplatform builds
Replace yum with dnf to have better consistency among the Dockerfiles
Fix build matrix
Signed-off-by: red-hat-konflux <126015336+red-hat-konflux[bot]@users.noreply.github.com> Co-authored-by: red-hat-konflux[bot] <126015336+red-hat-konflux[bot]@users.noreply.github.com>
…alignment test and handle allowed specifier divergences (opendatahub-io#2276) * Add test_image_pyprojects_version_alignment to compare dependency specifiers across all pyproject.toml files * Import packaging.specifiers and store actual SpecifierSet objects instead of string reprs * Introduce ignored_exceptions for known, acceptable specifier differences (e.g., torch variants, numpy caps) * Compare specifiers using SpecifierSet equality and wrap checks in subtests for clearer reporting * Minor cleanup: remove unused pyprojects variable
…ds-compatible manner (opendatahub-io#2277)
… outdated jupyterlab and jupyterlab-git packages (opendatahub-io#2278) ``` ============================================================================================================ FAILURES ============================================================================================================= _______________________________________________________________ test_image_pyprojects_version_alignment [checking versions of skl2onnx across all pyproject.tomls] ________________________________________________________________ tests/test_main.py:295: in test_image_pyprojects_version_alignment pytest.fail(f"{name} has multiple specifiers: {pprint.pformat(data)}") E Failed: skl2onnx has multiple specifiers: [<SpecifierSet('~=1.17.0')>, E <SpecifierSet('~=1.18.0')>, E <SpecifierSet('~=1.18.0')>, E <SpecifierSet('~=1.18.0')>, E <SpecifierSet('~=1.18.0')>, E <SpecifierSet('~=1.18.0')>, E <SpecifierSet('~=1.18.0')>, E <SpecifierSet('~=1.18.0')>, E <SpecifierSet('~=1.18.0')>, E <SpecifierSet('~=1.18.0')>, E <SpecifierSet('~=1.17.0')>, E <SpecifierSet('~=1.18.0')>, E <SpecifierSet('~=1.18.0')>, E <SpecifierSet('~=1.18.0')>] -------------------------------------------------------------------------------------------------------- Captured log call -------------------------------------------------------------------------------------------------------- _______________________________________________________________ test_image_pyprojects_version_alignment [checking versions of odh-elyra across all pyproject.tomls] _______________________________________________________________ tests/test_main.py:295: in test_image_pyprojects_version_alignment pytest.fail(f"{name} has multiple specifiers: {pprint.pformat(data)}") E Failed: odh-elyra has multiple specifiers: [<SpecifierSet('==4.2.3')>, E <SpecifierSet('==4.2.3')>, E <SpecifierSet('==4.2.3')>, E <SpecifierSet('==4.2.1')>, E <SpecifierSet('==4.2.3')>, E <SpecifierSet('==4.2.3')>, E <SpecifierSet('==4.2.3')>] -------------------------------------------------------------------------------------------------------- Captured log call -------------------------------------------------------------------------------------------------------- ______________________________________________________________ test_image_pyprojects_version_alignment [checking versions of jupyterlab across all pyproject.tomls] _______________________________________________________________ tests/test_main.py:295: in test_image_pyprojects_version_alignment pytest.fail(f"{name} has multiple specifiers: {pprint.pformat(data)}") E Failed: jupyterlab has multiple specifiers: [<SpecifierSet('==4.4.4')>, E <SpecifierSet('==4.4.4')>, E <SpecifierSet('==4.4.4')>, E <SpecifierSet('==4.4.4')>, E <SpecifierSet('==4.2.7')>, E <SpecifierSet('==4.4.4')>, E <SpecifierSet('==4.4.4')>, E <SpecifierSet('==4.4.4')>] -------------------------------------------------------------------------------------------------------- Captured log call -------------------------------------------------------------------------------------------------------- ____________________________________________________________ test_image_pyprojects_version_alignment [checking versions of jupyter-server across all pyproject.tomls] _____________________________________________________________ tests/test_main.py:295: in test_image_pyprojects_version_alignment pytest.fail(f"{name} has multiple specifiers: {pprint.pformat(data)}") E Failed: jupyter-server has multiple specifiers: [<SpecifierSet('~=2.16.0')>, E <SpecifierSet('~=2.16.0')>, E <SpecifierSet('~=2.16.0')>, E <SpecifierSet('~=2.16.0')>, E <SpecifierSet('~=2.15.0')>, E <SpecifierSet('~=2.16.0')>, E <SpecifierSet('~=2.16.0')>, E <SpecifierSet('~=2.16.0')>] -------------------------------------------------------------------------------------------------------- Captured log call -------------------------------------------------------------------------------------------------------- ____________________________________________________________ test_image_pyprojects_version_alignment [checking versions of jupyterlab-git across all pyproject.tomls] _____________________________________________________________ tests/test_main.py:295: in test_image_pyprojects_version_alignment pytest.fail(f"{name} has multiple specifiers: {pprint.pformat(data)}") E Failed: jupyterlab-git has multiple specifiers: [<SpecifierSet('~=0.51.1')>, E <SpecifierSet('~=0.51.1')>, E <SpecifierSet('~=0.51.1')>, E <SpecifierSet('~=0.51.1')>, E <SpecifierSet('~=0.50.1')>, E <SpecifierSet('~=0.51.1')>, E <SpecifierSet('~=0.51.1')>, E <SpecifierSet('~=0.51.1')>] -------------------------------------------------------------------------------------------------------- Captured log call -------------------------------------------------------------------------------------------------------- ________________________________________________________ test_image_pyprojects_version_alignment [checking versions of jupyter-resource-usage across all pyproject.tomls] _________________________________________________________ tests/test_main.py:295: in test_image_pyprojects_version_alignment pytest.fail(f"{name} has multiple specifiers: {pprint.pformat(data)}") E Failed: jupyter-resource-usage has multiple specifiers: [<SpecifierSet('~=1.1.1')>, E <SpecifierSet('~=1.1.1')>, E <SpecifierSet('~=1.1.1')>, E <SpecifierSet('~=1.1.0')>, E <SpecifierSet('~=1.1.1')>, E <SpecifierSet('~=1.1.1')>, E <SpecifierSet('~=1.1.1')>] -------------------------------------------------------------------------------------------------------- Captured log call -------------------------------------------------------------------------------------------------------- ===================================================================================================== short test summary info ===================================================================================================== [checking versions of skl2onnx across all pyproject.tomls] SUBFAIL tests/test_main.py::test_image_pyprojects_version_alignment - Failed: skl2onnx has multiple specifiers: [<SpecifierSet('~=1.17.0')>, [checking versions of odh-elyra across all pyproject.tomls] SUBFAIL tests/test_main.py::test_image_pyprojects_version_alignment - Failed: odh-elyra has multiple specifiers: [<SpecifierSet('==4.2.3')>, [checking versions of jupyterlab across all pyproject.tomls] SUBFAIL tests/test_main.py::test_image_pyprojects_version_alignment - Failed: jupyterlab has multiple specifiers: [<SpecifierSet('==4.4.4')>, [checking versions of jupyter-server across all pyproject.tomls] SUBFAIL tests/test_main.py::test_image_pyprojects_version_alignment - Failed: jupyter-server has multiple specifiers: [<SpecifierSet('~=2.16.0')>, [checking versions of jupyterlab-git across all pyproject.tomls] SUBFAIL tests/test_main.py::test_image_pyprojects_version_alignment - Failed: jupyterlab-git has multiple specifiers: [<SpecifierSet('~=0.51.1')>, [checking versions of jupyter-resource-usage across all pyproject.tomls] SUBFAIL tests/test_main.py::test_image_pyprojects_version_alignment - Failed: jupyter-resource-usage has multiple specifiers: [<SpecifierSet('~=1.1.1')>, ================================================================================== 6 failed, 32 passed, 48 skipped, 114 subtests passed in 2.88s ================================================================================== gmake: *** [Makefile:518: test] Error 1 ```
Refactor Dockerfiles to Use Config Files via ARG
…i9 to b0385e9 Image created from 'https://github.com/opendatahub-io/notebooks?rev=99698b723aec25ae787886c001b1ecef888d9fc3' Signed-off-by: red-hat-konflux <126015336+red-hat-konflux[bot]@users.noreply.github.com>
…mponent-updates/component-update-odh-workbench-codeserver-datascience-cpu-py312-ubi9 chore(deps): update odh-workbench-codeserver-datascience-cpu-py312-ubi9 to b0385e9
…to 40b63ff Image created from 'https://github.com/opendatahub-io/notebooks?rev=99698b723aec25ae787886c001b1ecef888d9fc3' Signed-off-by: red-hat-konflux <126015336+red-hat-konflux[bot]@users.noreply.github.com>
…o 9b91566 Image created from 'https://github.com/opendatahub-io/notebooks?rev=99698b723aec25ae787886c001b1ecef888d9fc3' Signed-off-by: red-hat-konflux <126015336+red-hat-konflux[bot]@users.noreply.github.com>
…mponent-updates/component-update-odh-pipeline-runtime-datascience-cpu-py312-ubi9 chore(deps): update odh-pipeline-runtime-datascience-cpu-py312-ubi9 to 9b91566
…mponent-updates/component-update-odh-workbench-jupyter-datascience-cpu-py312-ubi9 chore(deps): update odh-workbench-jupyter-datascience-cpu-py312-ubi9 to 40b63ff
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: 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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
📋 Review Summary
This PR syncs the downstream main branch from upstream, bringing in a lot of changes. The overall direction of the changes is good, with significant improvements in the CI/CD pipelines and Dockerfile structure.
🔍 General Feedback
- The move to
multiarch-push-pipelineand the introduction ofbuild-argsconfiguration files are excellent improvements that will make the build process more robust and maintainable. - The refactoring of Dockerfiles to use base images and
dnfis a good modernization step. - The updates to the test suite to ensure dependency alignment are a great addition and will help to improve the stability of the project.
Overall, this is a solid sync commit with many positive changes.
| value: | ||
| - '{{target_branch}}-{{revision}}' | ||
| - v12.6 | ||
| pipelineRef: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🟢 The change from multiarch-pull-request-pipeline to multiarch-push-pipeline is a good improvement, as it aligns the push pipeline with the new multi-arch build strategy.
| fi)) | ||
|
|
||
| $(info # Building $(IMAGE_NAME) using $(DOCKERFILE_NAME) with $(CONF_FILE) and $(BUILD_ARGS)...) | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🟢 The addition of logic to handle build-args/*.conf files is a great enhancement. It makes the build process more flexible and easier to configure without modifying the Makefile directly.
|
|
||
| # For libraries in the cuda-compat-* package: https://docs.nvidia.com/cuda/eula/index.html#attachment-a | ||
| RUN yum upgrade -y && yum install -y \ | ||
| RUN dnf upgrade -y && dnf install -y \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🟢 Using dnf instead of yum is the correct approach for RHEL 9 based images. This ensures compatibility and leverages the latest package management features.
| ######################### | ||
| # configuration args # | ||
| ######################### | ||
| ARG BASE_IMAGE |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🟢 The introduction of ARG BASE_IMAGE is a good practice. It makes the Dockerfile more modular and reusable, allowing the base image to be specified at build time. This is a great improvement for maintainability.
| "Torch", | ||
| "Transformers", | ||
| "TrustyAI", | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🟢 The new test test_image_manifests_version_alignment is a valuable addition. It will help to ensure consistency of dependencies across all images and prevent version conflicts. This is a great improvement for the project's stability.
|
There is a problem with the Gemini CLI PR review. Please check the action logs for details. |
Sync downstream
mainfrom upstream