chore: sync upstream kubeflow/pipelines [conflicts] - #369
chore: sync upstream kubeflow/pipelines [conflicts]#369dsp-developers wants to merge 33 commits into
Conversation
Signed-off-by: Jeff Spahr <spahrj@gmail.com>
…13367) Signed-off-by: Jeff Spahr <spahrj@gmail.com>
Signed-off-by: Jeff Spahr <spahrj@gmail.com>
Signed-off-by: Jeff Spahr <spahrj@gmail.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: mprahl <11711106+mprahl@users.noreply.github.com>
…ubeflow#12750) inital layout for pipeline url validation revert dummy commit fix de morgans law failure minor updates more refinements adjust cidrs fix tests remove multicast fix formatting fix lint and tests add gh user content to allow domains fix typo fix copilot concerns fix jeff issues implement jeff suggestions more jeff feedback revert most of last changes Signed-off-by: JerT33 <trestjeremiah@gmail.com>
Signed-off-by: Jeff Spahr <spahrj@gmail.com>
Signed-off-by: Jeff Spahr <spahrj@gmail.com>
Signed-off-by: Jeff Spahr <spahrj@gmail.com>
Signed-off-by: Jeff Spahr <spahrj@gmail.com>
Signed-off-by: Jeff Spahr <spahrj@gmail.com>
…beflow#13325) * fix(backend): apply recurring run service account unconditionally The Argo compiler always sets a default ServiceAccountName on the workflow spec, so executionSpec.ServiceAccount() is never empty for V2 pipelines. This caused the user-specified service account from the recurring run config to be silently dropped. Remove the guard so setDefaultServiceAccount is called unconditionally, matching the existing behavior in RunWorkflow. Fixes kubeflow#13311 Signed-off-by: Feiyu Zhang <feiyuzhang@nianticlabs.com> * test(backend): add test for recurring run with custom service account Signed-off-by: Feiyu Zhang <feiyuzhang@nianticlabs.com> --------- Signed-off-by: Feiyu Zhang <feiyuzhang@nianticlabs.com> Co-authored-by: Feiyu Zhang <feiyuzhang@nianticlabs.com>
Signed-off-by: Helber Belmiro <helber.belmiro@gmail.com>
* added enable_debug_pause function Signed-off-by: Carlos Arroyo <arroyo.carlosdaniel@gmail.com> * added in new changes Signed-off-by: Carlos Arroyo <arroyo.carlosdaniel@gmail.com> * fixed remaining failing test where the match string was not properly handled. It was due to incomplete setup. Also cleaned up code structure. Signed-off-by: Carlos Arroyo <arroyo.carlosdaniel@gmail.com> * Improved design of Error checks in function, now the on_error=True and after=False happens first, since that was actually triggering the both False error first. This is better because it's more specific error, and it's often best practice to have more specific errors first. Signed-off-by: Carlos Arroyo <arroyo.carlosdaniel@gmail.com> * Added new test that checks to make sure the enable_debug_pasue does not overwrite or effect other kubernetes helpers Signed-off-by: Carlos Arroyo <arroyo.carlosdaniel@gmail.com> * cleaned up and removed leftover comment Signed-off-by: Carlos Arroyo <arroyo.carlosdaniel@gmail.com> * fixed spelling in debug.py file Signed-off-by: Carlos Arroyo <arroyo.carlosdaniel@gmail.com> * cleaned up code: removed unused imports, added in correct spacing in RaiseValue errors, and corrected a docstring error/typo Signed-off-by: Carlos Arroyo <arroyo.carlosdaniel@gmail.com> * Improved docstring by making sure that RaiseValue error matches the order of errors as shown/reflected in code Signed-off-by: Carlos Arroyo <arroyo.carlosdaniel@gmail.com> * small text change to sign off Signed-off-by: Carlos Arroyo <arroyo.carlosdaniel@gmail.com> * fixed failing test that occured to changing message in RaiseValue Signed-off-by: Carlos Arroyo <arroyo.carlosdaniel@gmail.com> * moved to SDK as method on PipelineTask Signed-off-by: Carlos Arroyo <arroyo.carlosdaniel@gmail.com> * fixed .gitignore Signed-off-by: Carlos Arroyo <arroyo.carlosdaniel@gmail.com> * formatting fix Signed-off-by: Carlos Arroyo <arroyo.carlosdaniel@gmail.com> * CICD fix failing test, testing quotes Signed-off-by: Carlos Arroyo <arroyo.carlosdaniel@gmail.com> * fixed pre_commit_hooks fix Signed-off-by: Carlos Arroyo <arroyo.carlosdaniel@gmail.com> * fixed docformatter error in pipeline Signed-off-by: Carlos Arroyo <arroyo.carlosdaniel@gmail.com> * fixed yapf error Signed-off-by: Carlos Arroyo <arroyo.carlosdaniel@gmail.com> * fix pipeline_task docstring formatting for docformatter using earlier version of package Signed-off-by: Carlos Arroyo <arroyo.carlosdaniel@gmail.com> * undid earlier version of formatting fix Signed-off-by: Carlos Arroyo <arroyo.carlosdaniel@gmail.com> * used correct version of docformatter Signed-off-by: Carlos Arroyo <arroyo.carlosdaniel@gmail.com> * changed name from enable to set Signed-off-by: Carlos Arroyo <arroyo.carlosdaniel@gmail.com> --------- Signed-off-by: Carlos Arroyo <arroyo.carlosdaniel@gmail.com> Co-authored-by: Carlos Arroyo <carlosarroyo@Mac-13448.lan> Co-authored-by: Carlos Arroyo <carlosarroyo@Mac-13683.lan> Co-authored-by: Carlos Arroyo <carlosarroyo@Carloss-MacBook-Pro-2.local>
Signed-off-by: Helber Belmiro <helber.belmiro@gmail.com>
…flow#13434) * fix: enforce V1 pipeline blocking with expanded test cases Signed-off-by: cbartram <cbartram3@gmail.com> * fix: improve V2 label handling and logging in scheduled workflow controller Signed-off-by: cbartram <cbartram3@gmail.com> * fix: update fakeExecutionInformer to return execution found status correctly Signed-off-by: cbartram <cbartram3@gmail.com> --------- Signed-off-by: cbartram <cbartram3@gmail.com>
…) (kubeflow#13437) Mirror parameter OneOf resolution for artifact outputs by selecting the conditional branch that actually completed, improving the resulting error context, and by surfacing traversal errors during nested DAG collection. Add stronger regression tests, deterministic OneOf sample pipelines, and regenerated workflow goldens so compiler and E2E coverage consistently exercise the artifact OneOf runtime path. Signed-off-by: mprahl <mprahl@users.noreply.github.com>
Fixes kubeflow#12845 (kubeflow#13009) * feat(frontend,backend): show actual retry start time for pipeline runs When a pipeline run is retried, the Start time shown in the UI previously reflected the original scheduled time rather than the actual retry execution time. This was misleading when debugging failures or SLA compliance issues. Changes: - backend: refactored RetryRun in resource_manager.go to update the full run object before persisting, preserving all existing fields correctly - frontend: added getActualStartTime() in RunDetailsV2.tsx that reads the last RUNNING entry from state_history to determine the actual start time - frontend: updated getDetailsFields() to show "Started at" as the actual execution time and conditionally insert "Scheduled at" when the two times differ Fixes kubeflow#12845 Signed-off-by: Sridhar1030 <sridharpillai75@gmail.com> * fix(frontend): fall back to scheduled_at when RUNNING state update_time is undefined getActualStartTime() returned undefined when a RUNNING state_history entry existed but its update_time was not set, causing "Started at" to display "-" even though a scheduled time was available. Added a guard so that a missing update_time is treated the same as having no RUNNING entries, and the fallback to scheduled_at is applied correctly. Signed-off-by: Sridhar1030 <sridharpillai75@gmail.com> * style(frontend): fix prettier formatting in RunDetailsV2.tsx Signed-off-by: Sridhar1030 <sridharpillai75@gmail.com> * test(frontend,backend): add tests for retry start time logic - frontend: add tests for getActualStartTime() covering last RUNNING update_time, undefined update_time fallback, and equal-timestamp case - frontend: fix timestamp comparison to use getTime() instead of formatDateString() to avoid locale/formatting false-equals - frontend: insert 'Scheduled at' relative to 'Started at' using findIndex instead of a hard-coded index - backend: add TestRetryRun_PreservesRunFields to verify UUID, name, experiment ID, FinishedAtInSec reset, and State after retry Signed-off-by: Sridhar1030 <sridharpillai75@gmail.com> * fixed formatting error Signed-off-by: Sridhar1030 <sridharpillai75@gmail.com> * fix(frontend): scan all RUNNING entries for most recent defined update_time Previously getActualStartTime only checked the last RUNNING entry's update_time, falling back to scheduled_at even if earlier RUNNING entries had a valid time. This could hide the actual retry start time in partially-populated state_history. Now scans backwards through state_history to find the most recent RUNNING entry with a defined update_time, only falling back to scheduled_at if none are found. Signed-off-by: Sridhar1030 <sridharpillai75@gmail.com> * fix(backend): remove redundant embedded field selector in test golangci-lint QF1008: RunDetails is embedded in Run, so access FinishedAtInSec and State directly without the RunDetails prefix. Signed-off-by: Sridhar1030 <sridharpillai75@gmail.com> * fix(tests): address review feedback on retry tests - frontend: add missing await before userEvent.click() in 3 new retry start time test cases to fix flaky CI failures - backend: extend TestRetryRun_PreservesRunFields to assert StateHistory is preserved and appended with a new RUNNING entry after retry Signed-off-by: Sridhar1030 <sridharpillai75@gmail.com> * Apply reviewer suggestion: use require.Nil/require.Greater for error checks and precondition guards so the test fails fast instead of continuing with nil values that would panic. Signed-off-by: Sridhar1030 <sridharpillai75@gmail.com> Co-authored-by: Cursor <cursoragent@cursor.com> --------- Signed-off-by: Sridhar1030 <sridharpillai75@gmail.com> Co-authored-by: Cursor <cursoragent@cursor.com>
* fix(frontend): return to recurring runs on cancel Signed-off-by: Jeff Spahr <spahrj@gmail.com> * fix(frontend): honor return path in legacy new run Signed-off-by: Jeff Spahr <spahrj@gmail.com> --------- Signed-off-by: Jeff Spahr <spahrj@gmail.com>
Signed-off-by: JerT33 <trestjeremiah@gmail.com> remove some verbose comments Signed-off-by: JerT33 <trestjeremiah@gmail.com> fix lint
Signed-off-by: Jeff Spahr <spahrj@gmail.com>
Signed-off-by: Jeff Spahr <spahrj@gmail.com>
…beflow#13440) * fix(backend): fix recurring runs with latest pipeline version Signed-off-by: jaewak <jaewan.0907@gmail.com> * fix: add missing ORDER BY to the query Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Signed-off-by: jaewak <82007787+jaewak@users.noreply.github.com> * build: fix precheck failures Signed-off-by: jaewak <jaewan.0907@gmail.com> * fix: make primary key uuid deterministic and resolve duplicate key conflict Signed-off-by: jaewak <jaewan.0907@gmail.com> * ci: re-trigger flaky E2E run Signed-off-by: jaewak <jaewan.0907@gmail.com> --------- Signed-off-by: jaewak <jaewan.0907@gmail.com> Signed-off-by: jaewak <82007787+jaewak@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
kubeflow#13464) Bump the Go builder image from golang:1.26.2-alpine to golang:1.26.3-alpine (and golang:1.26.2-bookworm to golang:1.26.3-bookworm for the API server) in the backend Dockerfiles not covered by kubeflow#13451, and update the toolchain directive in all three go.mod files to match. Addresses the same class of Go stdlib vulnerabilities tracked in kubeflow#13449. kubeflow#13451 updated kfp-driver and kfp-launcher; this PR extends the same fix to the remaining backend images built from the same toolchain: - cache-server - persistence-agent - scheduled-workflow controller - viewer-controller - conformance test runner - API server (bookworm variant) Builder image digests pinned for reproducibility: - golang:1.26.3-alpine sha256:91eda9776261207ea25fd06b5b7fed8d397dd2c0a283e77f2ab6e91bfa71079d - golang:1.26.3-bookworm sha256:386d475a660466863d9f8c766fec64d7fdad3edac2c6a05020c09534d71edb4b Signed-off-by: Tolga Tuncoglu <tolgatuncoglu@gmail.com>
Signed-off-by: danish9039 <danishsiddiqui040@gmail.com>
* Update Argo Workflows resources to v3.7.14 Signed-off-by: Julius von Kohout <45896133+juliusvonkohout@users.noreply.github.com> * Update Argo workflow-controller reference to v3.7.14 Signed-off-by: Julius von Kohout <45896133+juliusvonkohout@users.noreply.github.com> * Update workflow-controller and executor images to v3.7.14 Signed-off-by: Julius von Kohout <45896133+juliusvonkohout@users.noreply.github.com> * Update Argo Workflows RBAC version in kustomization.yaml Updated the Argo Workflows RBAC reference to version 3.7.14. Signed-off-by: Julius von Kohout <45896133+juliusvonkohout@users.noreply.github.com> * Update kustomization.yaml Signed-off-by: Julius von Kohout <45896133+juliusvonkohout@users.noreply.github.com> * Update workflow-controller-deployment-patch.yaml Signed-off-by: Julius von Kohout <45896133+juliusvonkohout@users.noreply.github.com> --------- Signed-off-by: Julius von Kohout <45896133+juliusvonkohout@users.noreply.github.com>
* feat(backend): Add plugin input/output fields to RecurringRun and Run protobufs (kubeflow#12919) Signed-off-by: Helber Belmiro <helber.belmiro@gmail.com> * feat(backend): Add pipeline run lifecycle hooks Signed-off-by: Vani Haripriya Mudadla <vmudadla@redhat.com> * feat(backend) integrate MLflow lifecycle hooks across the driver and launcher (kubeflow#13052) Signed-off-by: Alyssa Goins <80764587+alyssacgoins@users.noreply.github.com> * chore(backend): Fix MLflow tags,nested run status update (kubeflow#13307) Signed-off-by: Vani Haripriya Mudadla <vmudadla@redhat.com> * test(backend): Add MLFlow Integrations tests with KFP (kubeflow#13195) Signed-off-by: Vani Haripriya Mudadla <vmudadla@redhat.com> * fix(backend): Address CI failures after rebase Signed-off-by: Vani Haripriya Mudadla <vmudadla@redhat.com> * test(e2e): poll MLflow status after retry run failure (kubeflow#13468) Signed-off-by: Vani Haripriya Mudadla <vmudadla@redhat.com> --------- Signed-off-by: Helber Belmiro <helber.belmiro@gmail.com> Signed-off-by: Vani Haripriya Mudadla <vmudadla@redhat.com> Signed-off-by: Alyssa Goins <80764587+alyssacgoins@users.noreply.github.com> Co-authored-by: Helber Belmiro <helber.belmiro@gmail.com> Co-authored-by: Alyssa Goins <80764587+alyssacgoins@users.noreply.github.com>
…ge-20260602-142936 # Conflicts: # .github/workflows/api-server-tests.yml # .github/workflows/e2e-test.yml # .github/workflows/presubmit-backend.yml # .github/workflows/upgrade-test.yml # AGENTS.md # api/go.mod # backend/Dockerfile # backend/Dockerfile.cacheserver # backend/Dockerfile.conformance # backend/Dockerfile.driver # backend/Dockerfile.launcher # backend/Dockerfile.persistenceagent # backend/Dockerfile.scheduledworkflow # backend/Dockerfile.viewercontroller # backend/api/v2beta1/python_http_client/README.md # backend/api/v2beta1/python_http_client/kfp_server_api/__init__.py # backend/api/v2beta1/python_http_client/kfp_server_api/models/__init__.py # backend/src/apiserver/common/config.go # backend/src/apiserver/resource/resource_manager.go # backend/src/apiserver/resource/resource_manager_test.go # backend/src/apiserver/template/template_test.go # backend/src/apiserver/validation/pipeline_url.go # backend/src/apiserver/validation/pipeline_url_test.go # backend/src/v2/metadata/client.go # go.mod # kubernetes_platform/go.mod # test_data/compiled-workflows/pipeline_with_string_machine_fields_task_output.yaml
|
[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. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
Important Review skippedToo many files! This PR contains 296 files, which is 146 over the limit of 150. To get a review, narrow the scope: ⚙️ Run configurationConfiguration used: Central YAML (base), Organization UI (inherited) Review profile: CHILL Plan: Enterprise Run ID: ⛔ Files ignored due to path filters (4)
📒 Files selected for processing (296)
You can disable this status message by setting the Use the checkbox below for a quick retry:
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. Comment |
Commit Checker results: |
|
PR needs rebase. DetailsInstructions 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. |
Automated sync from kubeflow/pipelines
masterbranch.Caution
This PR contains unresolved merge conflicts. The files listed below have
conflict markers (
<<<<<<<,=======,>>>>>>>) that must be resolvedbefore merging.
Files with conflicts:
.github/workflows/api-server-tests.yml.github/workflows/e2e-test.yml.github/workflows/presubmit-backend.yml.github/workflows/upgrade-test.ymlAGENTS.mdapi/go.modbackend/api/v2beta1/python_http_client/README.mdbackend/api/v2beta1/python_http_client/kfp_server_api/__init__.pybackend/api/v2beta1/python_http_client/kfp_server_api/models/__init__.pybackend/src/apiserver/common/config.gobackend/src/apiserver/resource/resource_manager.gobackend/src/apiserver/resource/resource_manager_test.gobackend/src/apiserver/template/template_test.gobackend/src/apiserver/validation/pipeline_url.gobackend/src/apiserver/validation/pipeline_url_test.gobackend/src/v2/metadata/client.gogo.modkubernetes_platform/go.modtest_data/compiled-workflows/pipeline_with_string_machine_fields_task_output.yamlExcluded files (kept as downstream versions):
.tekton/*.github/renovate.json5backend/Dockerfile***/OWNERSOverwritten paths (always taken from upstream):
frontend/Created by the Upstream Sync workflow.